- Timestamp:
- Jan 11, 2025, 9:36:52 PM (5 weeks ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/clesphys_mod_h.f90
r5364 r5470 22 22 , co2_ppm0 & 23 23 , tau_thermals & 24 , Cd_frein, zrel_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t &24 , Cd_frein, nm_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t & 25 25 , ecrit_LES & 26 26 , ecrit_ins, ecrit_hf, ecrit_day & … … 55 55 56 56 ! threshold on to activate SSO schemes 57 ! threshold on to activate SSO schemes 58 REAL zrel_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t 57 REAL nm_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t 59 58 INTEGER iflag_cycle_diurne 60 59 LOGICAL soil_model, new_oliq, ok_orodr, ok_orolf -
LMDZ6/trunk/libf/phylmd/conf_phys_m.f90
r5364 r5470 213 213 LOGICAL, SAVE :: ok_lic_cond_omp 214 214 ! 215 REAL, SAVE :: zrel_oro_t_omp, zstd_orodr_t_omp215 REAL, SAVE :: nm_oro_t_omp, zstd_orodr_t_omp 216 216 REAL, SAVE :: zpmm_orodr_t_omp, zpmm_orolf_t_omp 217 217 INTEGER, SAVE :: iflag_cycle_diurne_omp … … 893 893 894 894 895 !Config Key = zrel_oro_t896 !Config Desc = zrel_oro_t897 !Config Def = 9999.895 !Config Key = nm_oro_t 896 !Config Desc = nm_oro_t 897 !Config Def = -1 898 898 !Config Help = Connais pas ! 899 zrel_oro_t_omp = 9999.900 CALL getin(' zrel_oro_t', zrel_oro_t_omp)899 nm_oro_t_omp = -1. 900 CALL getin('nm_oro_t', nm_oro_t_omp) 901 901 902 902 !Config Key = zstd_orodr_t … … 2313 2313 ok_orodr = ok_orodr_omp 2314 2314 ok_orolf = ok_orolf_omp 2315 zrel_oro_t=zrel_oro_t_omp2315 nm_oro_t=nm_oro_t_omp 2316 2316 zstd_orodr_t=zstd_orodr_t_omp 2317 2317 zpmm_orodr_t=zpmm_orodr_t_omp … … 2732 2732 WRITE(lunout,*) ' ok_orodr=',ok_orodr 2733 2733 WRITE(lunout,*) ' ok_orolf=',ok_orolf 2734 WRITE(lunout,*) ' zrel_oro_t=',zrel_oro_t2734 WRITE(lunout,*) ' nm_oro_t=',nm_oro_t 2735 2735 WRITE(lunout,*) ' zstd_orodr_t=',zstd_orodr_t 2736 2736 WRITE(lunout,*) ' zpmm_orodr_t=',zpmm_orodr_t -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r5468 r5470 1019 1019 1020 1020 REAL picefra(klon,klev) 1021 REAL zrel_oro(klon)1021 REAL nm_oro(klon) 1022 1022 !IM cf. AM 081204 END 1023 1023 ! … … 4841 4841 ! a l'echelle sous-maille: 4842 4842 ! 4843 4844 ! calculation of nm_oro 4845 DO i=1,klon 4846 ! nm_oro is a proxy for the number of subgrid scale mountains 4847 ! -> condition on nm_oro can deactivate the lifting on tilted planar terrains 4848 ! such as ice sheets (work by V. Wiener) 4849 ! in such a case, the SSO scheme should activate only where nm_oro>0 i.e. by setting 4850 ! nm_oro_t=0. 4851 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. 4852 ENDDO 4853 4843 4854 IF (prt_level .GE.10) THEN 4844 4855 print *,' call orography ? ', ok_orodr … … 4851 4862 DO i=1,klon 4852 4863 itest(i)=0 4853 zrel_oro(i)=zstd(i)/(max(zsig(i),1.E-8)*sqrt(cell_area(i)))4854 !zrel_oro: relative mountain height wrt relief explained by mean slope4855 ! -> condition on zrel_oro can deactivate the drag on tilted planar terrains4856 ! such as ice sheets (work by V. Wiener)4857 4864 ! zpmm_orodr_t and zstd_orodr_t are activation thresholds set by F. Lott to 4858 4865 ! earn computation time but they are not physical. 4859 IF (((zpic(i)-zmea(i)).GT.zpmm_orodr_t).AND.(zstd(i).GT.zstd_orodr_t).AND.( zrel_oro(i).LE.zrel_oro_t)) THEN4866 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 4860 4867 itest(i)=1 4861 4868 igwd=igwd+1 … … 4906 4913 DO i=1,klon 4907 4914 itest(i)=0 4908 !zrel_oro: relative mountain height wrt relief explained by mean slope 4909 ! -> condition on zrel_oro can deactivate the lifting on tilted planar terrains 4910 ! such as ice sheets (work by V. Wiener) 4911 zrel_oro(i)=zstd(i)/(max(zsig(i),1.E-8)*sqrt(cell_area(i))) 4912 IF (((zpic(i)-zmea(i)).GT.zpmm_orolf_t).AND.(zrel_oro(i).LE.zrel_oro_t)) THEN 4915 IF (((zpic(i)-zmea(i)).GT.zpmm_orolf_t).AND.(nm_oro(i).GT.nm_oro_t)) THEN 4913 4916 itest(i)=1 4914 4917 igwd=igwd+1 … … 5151 5154 ! car on peut s'attendre a ce que les petites echelles produisent aussi de la TKE 5152 5155 ! Mais attention, cela ne va pas dans le sens de la conservation de l'energie! 5153 IF ((zstd(i).GT.1.0) .AND.( zrel_oro(i).LE.zrel_oro_t)) THEN5156 IF ((zstd(i).GT.1.0) .AND.(nm_oro(i).GT.nm_oro_t)) THEN 5154 5157 itest(i)=1 5155 5158 igwd=igwd+1 … … 5163 5166 DO i=1,klon 5164 5167 itest(i)=0 5165 IF (((zpic(i)-zmea(i)).GT.zpmm_orodr_t).AND.(zstd(i).GT.zstd_orodr_t).AND.( zrel_oro(i).LE.zrel_oro_t)) THEN5168 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 5166 5169 itest(i)=1 5167 5170 igwd=igwd+1 -
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.