Changeset 5470 for LMDZ6/trunk/libf/phylmdiso
- Timestamp:
- Jan 11, 2025, 9:36:52 PM (6 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r5402 r5470 1121 1121 1122 1122 REAL picefra(klon,klev) 1123 REAL zrel_oro(klon)1123 REAL nm_oro(klon) 1124 1124 !IM cf. AM 081204 END 1125 1125 ! … … 6283 6283 ! a l'echelle sous-maille: 6284 6284 ! 6285 6286 ! calculation of nm_oro 6287 DO i=1,klon 6288 ! nm_oro is a proxy for the number of subgrid scale mountains 6289 ! -> condition on nm_oro can deactivate the lifting on tilted planar terrains 6290 ! such as ice sheets (work by V. Wiener) 6291 ! in such a case, the SSO scheme should activate only where nm_oro>0 i.e. by setting 6292 ! nm_oro_t=0. 6293 nm_oro(i)=zsig(i)*sqrt(cell_area(i)*(pctsrf(i,is_ter)+pctsrf(i,is_lic)))/(4.*MAX(zstd(i),1.e-8))-1. 6294 END DO 6295 6285 6296 IF (prt_level .GE.10) THEN 6286 6297 print *,' call orography ? ', ok_orodr 6287 6298 ENDIF 6288 ! 6299 6289 6300 IF (ok_orodr) THEN 6290 6301 ! … … 6293 6304 DO i=1,klon 6294 6305 itest(i)=0 6295 zrel_oro(i)=zstd(i)/(max(zsig(i),1.E-8)*sqrt(cell_area(i)))6296 !zrel_oro: relative mountain height wrt relief explained by mean slope6297 ! -> condition on zrel_oro can deactivate the drag on tilted planar terrains6298 ! such as ice sheets (work by V. Wiener)6299 6306 ! zpmm_orodr_t and zstd_orodr_t are activation thresholds set by F. Lott to 6300 6307 ! earn computation time but they are not physical. 6301 IF (((zpic(i)-zmea(i)).GT.zpmm_orodr_t).AND.(zstd(i).GT.zstd_orodr_t).AND.( zrel_oro(i).LE.zrel_oro_t)) THEN6308 IF (((zpic(i)-zmea(i)).GT.zpmm_orodr_t).AND.(zstd(i).GT.zstd_orodr_t).AND.(nm_oro(i).GT.nm_oro_t)) THEN 6302 6309 itest(i)=1 6303 6310 igwd=igwd+1 … … 6352 6359 DO i=1,klon 6353 6360 itest(i)=0 6354 !zrel_oro: relative mountain height wrt relief explained by mean slope 6355 ! -> condition on zrel_oro can deactivate the lifting on tilted planar terrains 6356 ! such as ice sheets (work by V. Wiener) 6357 zrel_oro(i)=zstd(i)/(max(zsig(i),1.E-8)*sqrt(cell_area(i))) 6358 IF (((zpic(i)-zmea(i)).GT.zpmm_orolf_t).AND.(zrel_oro(i).LE.zrel_oro_t)) THEN 6361 IF (((zpic(i)-zmea(i)).GT.zpmm_orolf_t).AND.(nm_oro(i).GT.nm_oro_t)) THEN 6359 6362 itest(i)=1 6360 6363 igwd=igwd+1 … … 6630 6633 ! car on peut s'attendre a ce que les petites echelles produisent aussi de la TKE 6631 6634 ! Mais attention, cela ne va pas dans le sens de la conservation de l'energie! 6632 IF ((zstd(i).GT.1.0) .AND.( zrel_oro(i).LE.zrel_oro_t)) THEN6635 IF ((zstd(i).GT.1.0) .AND.(nm_oro(i).GT.nm_oro_t)) THEN 6633 6636 itest(i)=1 6634 6637 igwd=igwd+1 … … 6642 6645 DO i=1,klon 6643 6646 itest(i)=0 6644 IF (((zpic(i)-zmea(i)).GT.zpmm_orodr_t).AND.(zstd(i).GT.zstd_orodr_t).AND.( zrel_oro(i).LE.zrel_oro_t)) THEN6647 IF (((zpic(i)-zmea(i)).GT.zpmm_orodr_t).AND.(zstd(i).GT.zstd_orodr_t).AND.(nm_oro(i).GT.nm_oro_t)) THEN 6645 6648 itest(i)=1 6646 6649 igwd=igwd+1
Note: See TracChangeset
for help on using the changeset viewer.