Changeset 2231 for trunk/LMDZ.GENERIC/libf
- Timestamp:
- Jan 30, 2020, 10:15:32 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/phystd/thermcell_dv2.F90
r2177 r2231 8 8 !=============================================================================== 9 9 ! 10 ! Calcul du transport vertical edans la couche limite en presence10 ! Calcul du transport vertical dans la couche limite en presence 11 11 ! de "thermiques" explicitement representes 12 ! calcul du dq/dt une fois qu'on connait les ascendances12 ! Calcul du dq/dt une fois qu'on connait les ascendances 13 13 ! 14 14 ! Vectorisation, FH : 2010/03/08 15 15 ! 16 16 !=============================================================================== 17 18 USE print_control_mod, ONLY: prt_level, lunout19 17 20 18 IMPLICIT none … … 45 43 ! -------- 46 44 47 REAL, INTENT(out) :: ua(ngrid,nlay) 48 REAL, INTENT(out) :: va(ngrid,nlay) 49 REAL, INTENT(out) :: du(ngrid,nlay) 50 REAL, INTENT(out) :: dv(ngrid,nlay) 45 REAL, INTENT(out) :: ua(ngrid,nlay) ! u in the plume 46 REAL, INTENT(out) :: va(ngrid,nlay) ! v in the plume 47 REAL, INTENT(out) :: du(ngrid,nlay) ! large scale u variation 48 REAL, INTENT(out) :: dv(ngrid,nlay) ! large scale v variation 51 49 52 50 ! Local: … … 91 89 DO ig=1,ngrid 92 90 ltherm(ig,l) = (fm(ig,l+1) + detr(ig,l)) * ptimestep > 1.e-5 * masse(ig,l) 93 IF (ltherm(ig,l).and.(zmax(ig) > 0.)) THEN 94 gamma0(ig,l) = masse(ig,l) * 0.5 / zmax(ig) & 91 ! IF (ltherm(ig,l).and.(zmax(ig) > 0.)) THEN 92 IF (ltherm(ig,l).and.(plume_height(ig) > 0.)) THEN 93 ! gamma0(ig,l) = masse(ig,l) * 0.5 / zmax(ig) & 94 gamma0(ig,l) = masse(ig,l) * 0.5 / plume_height(ig) & 95 95 & * sqrt(0.5 * (fraca(ig,l+1) + fraca(ig,l))) 96 96 ELSE … … 110 110 DO ig=1,ngrid 111 111 IF (ltherm(ig,l)) THEN 112 dua(ig,l) =ua(ig,l-1)-u(ig,l-1)113 dva(ig,l) =va(ig,l-1)-v(ig,l-1)112 dua(ig,l) = ua(ig,l-1) - u(ig,l-1) 113 dva(ig,l) = va(ig,l-1) - v(ig,l-1) 114 114 ELSE 115 ua(ig,l) =u(ig,l)116 va(ig,l) =v(ig,l)117 ue(ig,l) =u(ig,l)118 ve(ig,l) =v(ig,l)115 ua(ig,l) = u(ig,l) 116 va(ig,l) = v(ig,l) 117 ue(ig,l) = u(ig,l) 118 ve(ig,l) = v(ig,l) 119 119 ENDIF 120 120 ENDDO … … 169 169 DO ig=1,ngrid 170 170 wud(ig,1) = 0. 171 wvd(ig,1) = 0. 171 172 wud(ig,nlay+1) = 0. 172 wvd(ig,1) = 0.173 173 wvd(ig,nlay+1) = 0. 174 174 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.