- Timestamp:
- Jul 23, 2024, 3:29:36 PM (8 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/stratosphere_mask.F90
r5099 r5103 50 50 REAL, PARAMETER :: pliml=7500. 51 51 REAL, PARAMETER :: gamma=-0.002 52 LOGICAL, PARAMETER :: dofill=. true.52 LOGICAL, PARAMETER :: dofill=.TRUE. 53 53 REAL,DIMENSION(klon) :: tp 54 54 REAL,DIMENSION(klev) :: t, p … … 66 66 psrf=pplay(i,1) 67 67 zsrf=pphis(i)/RG !--altitude de la surface 68 calltwmo(missing_val, klev, t, p, psrf, zsrf, plimu, pliml, gamma, ptrp, ttrp, ztrp)68 CALL twmo(missing_val, klev, t, p, psrf, zsrf, plimu, pliml, gamma, ptrp, ttrp, ztrp) 69 69 tp(i)=ptrp 70 70 p_tropopause(i)=ptrp … … 107 107 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 108 108 109 subroutinetwmo(missing_val, level, t, p, ps, zs, plimu, pliml, gamma, ptrp, ttrp, ztrp)109 SUBROUTINE twmo(missing_val, level, t, p, ps, zs, plimu, pliml, gamma, ptrp, ttrp, ztrp) 110 110 111 111 ! reference: Reichler, T., M. Dameris, and R. Sausen (GRL, 10.1029/2003GL018240, 2003) … … 137 137 faktor = -RG/RD 138 138 139 doj=level,2,-1139 DO j=level,2,-1 140 140 141 141 ! dt/dz … … 206 206 207 207 jj = LEVEL ! bottom 208 dowhile ((P(jj)>PS) .or. (T(jj)<100)) ! T must be valid too208 DO while ((P(jj)>PS) .or. (T(jj)<100)) ! T must be valid too 209 209 jj=jj-1 210 enddo 210 END DO 211 211 212 212 DLNP = log(PS/P(jj)) ! from surface pressure … … 214 214 TDLNP = TM*DLNP 215 215 216 dowhile ( (JJ>=2) .and. (PTRP<P(jj-1)) )216 DO while ( (JJ>=2) .and. (PTRP<P(jj-1)) ) 217 217 DLNP = log(P(jj)/P(jj-1)) 218 218 TM = 0.5 * (T(jj) + T(jj-1)) 219 219 TDLNP = TDLNP + TM*DLNP 220 220 JJ=JJ-1 221 enddo 221 END DO 222 222 223 223 DLNP = log(P(jj)/PTRP) ! up to tropopause pressure … … 228 228 229 229 !!if (ZTRP .lt. 0) then 230 !! print*,'ZTRP=',ZTRP231 !! print*,'PS=',PS232 !! print*,'P=',P233 !! print*,'T=',T234 !! print*,'ZS=',ZS230 !! PRINT*,'ZTRP=',ZTRP 231 !! PRINT*,'PS=',PS 232 !! PRINT*,'P=',P 233 !! PRINT*,'T=',T 234 !! PRINT*,'ZS=',ZS 235 235 !! stop 236 236 !!endif … … 246 246 b0 = b 247 247 248 enddo 248 END DO 249 249 250 250 ! no tropopouse found 251 251 return 252 end subroutinetwmo252 END SUBROUTINE twmo
Note: See TracChangeset
for help on using the changeset viewer.