source: LMDZ5/branches/testing/libf/phylmd/add_pbl_tend.F90 @ 2687

Last change on this file since 2687 was 2641, checked in by Laurent Fairhead, 8 years ago

Merged trunk changes r2593:2640 into testing branch

File size: 2.1 KB
RevLine 
[2641]1SUBROUTINE add_pbl_tend(zdu, zdv, zdt, zdq, zdql, zdqi, paprs, text,abortphy,flag_inhib_tend)
[1992]2  ! ======================================================================
3  ! Ajoute les tendances de couche limite, soit determinees par la
4  ! parametrisation
5  ! physique, soit forcees,  aux variables d etat de la dynamique t_seri,
6  ! q_seri ...
7  ! ======================================================================
[1973]8
9
[1992]10  ! ======================================================================
11  ! Declarations
12  ! ======================================================================
[1973]13
[1992]14  USE dimphy
15  USE phys_local_var_mod
16  USE phys_state_var_mod
[2408]17  USE mod_grid_phy_lmdz, ONLY: nbp_lev
[1992]18  IMPLICIT NONE
[2408]19  REAL,SAVE,ALLOCATABLE :: hthturb_gcssold(:)
20  REAL,SAVE,ALLOCATABLE :: hqturb_gcssold(:)
21!$OMP THREADPRIVATE(hthturb_gcssold,hqturb_gcssold)
22  REAL,SAVE :: dtime_frcg
23  LOGICAL,SAVE :: turb_fcg_gcssold
24  LOGICAL,SAVE :: firstcall=.true.
25!$OMP THREADPRIVATE(firstcall,turb_fcg_gcssold,dtime_frcg)
[2258]26  INTEGER abortphy
[2408]27!  COMMON /turb_forcing/dtime_frcg, hthturb_gcssold, hqturb_gcssold, &
28!    turb_fcg_gcssold
[1973]29
[1992]30  ! Arguments :
31  ! ------------
32  REAL zdu(klon, klev), zdv(klon, klev)
[2160]33  REAL zdt(klon, klev), zdq(klon, klev), zdql(klon, klev), zdqi(klon, klev)
[1992]34  CHARACTER *(*) text
[2056]35  REAL paprs(klon,klev+1)
[2641]36  INTEGER flag_inhib_tend ! if flag_inhib_tend != 0, tendencies are not added
[1973]37
[1992]38  ! Local :
39  ! --------
40  REAL zzdt(klon, klev), zzdq(klon, klev)
41  INTEGER i, k
[1973]42
[2408]43  IF (firstcall) THEN
44    ALLOCATE(hthturb_gcssold(nbp_lev))
45    ALLOCATE(hqturb_gcssold(nbp_lev))
46    firstcall=.false.
47  ENDIF
48
[1992]49  IF (turb_fcg_gcssold) THEN
50    DO k = 1, klev
51      DO i = 1, klon
52        zzdt(i, k) = hthturb_gcssold(k)*dtime_frcg
53        zzdq(i, k) = hqturb_gcssold(k)*dtime_frcg
54      END DO
55    END DO
56    PRINT *, ' add_pbl_tend, dtime_frcg ', dtime_frcg
57    PRINT *, ' add_pbl_tend, zzdt ', zzdt
58    PRINT *, ' add_pbl_tend, zzdq ', zzdq
[2641]59    CALL add_phys_tend(zdu, zdv, zzdt, zzdq, zdql, zdqi, paprs, text,abortphy,flag_inhib_tend)
[1992]60  ELSE
[2641]61    CALL add_phys_tend(zdu, zdv, zdt, zdq, zdql, zdqi, paprs, text,abortphy,flag_inhib_tend)
[1992]62  END IF
63
64
65  RETURN
66END SUBROUTINE add_pbl_tend
Note: See TracBrowser for help on using the repository browser.