- Timestamp:
- Nov 5, 2018, 3:24:59 PM (6 years ago)
- Location:
- LMDZ6/branches/DYNAMICO-conv
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/DYNAMICO-conv
- Property svn:mergeinfo changed
/LMDZ6/trunk removed
- Property svn:mergeinfo changed
-
LMDZ6/branches/DYNAMICO-conv/libf/phylmd/tropopause_m.F90
r3356 r3411 9 9 !------------------------------------------------------------------------------- 10 10 ! 11 FUNCTION dyn_tropopause(t, ts, paprs, pplay, rot, itrop,thet0, pvor0)11 FUNCTION dyn_tropopause(t, ts, paprs, pplay, rot, thet0, pvor0) 12 12 ! 13 13 !------------------------------------------------------------------------------- … … 26 26 REAL, INTENT(IN) :: pplay(:,:) !--- Cells-centers pressure 27 27 REAL, INTENT(IN) :: rot(:,:) !--- Cells-centers relative vorticity 28 INTEGER, INTENT(OUT), OPTIONAL :: itrop(klon) !--- Last tropospheric layer idx 29 REAL, INTENT(IN), OPTIONAL :: thet0, pvor0 28 REAL, INTENT(IN), OPTIONAL :: thet0, pvor0 30 29 !------------------------------------------------------------------------------- 31 30 ! Local variables: 32 31 include "YOMCST.h" 33 REAL, PARAMETER :: DynPTrMin =8.E+3 !--- Thresholds for minimum and maximum34 REAL, PARAMETER :: DynPTrMax =4.E+4 ! dynamical tropopause pressure (Pa).35 32 CHARACTER(LEN=80) :: sub 36 33 INTEGER :: i, k, kb, kt, kp, ib, ie, nw … … 103 100 dyn_tropopause(i) = MAX( pplay(i,kp+1)*(pplay(i,kp)/pplay(i,kp+1))**al, & 104 101 dyn_tropopause(i) ) 105 !--- UNREALISTIC VALUES DETECTION106 IF(dyn_tropopause(i)<DynPTrMin.OR.dyn_tropopause(i)>DynPTrMax) THEN107 dyn_tropopause(i)=MIN(MAX(dyn_tropopause(i),DynPTrMax),DynPTrMin)108 DO kt=1,klev-1; IF(pplay(i,kt+1)>dyn_tropopause(i)) EXIT; END DO; kp=kt109 END IF110 !--- LAST TROPOSPHERIC LAYER INDEX NEEDED111 IF(PRESENT(itrop)) itrop(i)=MAX(kt,kp)112 102 END DO 113 103
Note: See TracChangeset
for help on using the changeset viewer.