Changeset 4448
- Timestamp:
- Mar 2, 2023, 10:05:26 AM (21 months ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/clesphys.h
r4352 r4448 48 48 !IM, MAFo fmagic, pmagic : parametres - additionnel et multiplicatif - 49 49 ! pour regler l albedo sur ocean 50 REAL pbl_lmixmin_alpha51 50 REAL fmagic, pmagic 52 51 ! Hauteur (imposee) du contenu en eau du sol … … 112 111 & , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt & 113 112 & , CH4_ppb_per, N2O_ppb_per, CFC11_ppt_per, CFC12_ppt_per & 114 & , cdmmax,cdhmax,ksta,ksta_ter,f_ri_cd_min ,pbl_lmixmin_alpha&113 & , cdmmax,cdhmax,ksta,ksta_ter,f_ri_cd_min & 115 114 & , fmagic, pmagic & 116 115 & , f_cdrag_ter,f_cdrag_oce,f_rugoro,z0min,tau_gl & -
LMDZ6/trunk/libf/phylmd/conf_phys_m.F90
r4380 r4448 198 198 REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp,f_ri_cd_min_omp 199 199 LOGICAL,SAVE :: ok_kzmin_omp 200 REAL, SAVE :: pbl_lmixmin_alpha_omp201 200 REAL, SAVE :: fmagic_omp, pmagic_omp 202 201 INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp … … 1595 1594 ok_kzmin_omp = .TRUE. 1596 1595 CALL getin('ok_kzmin',ok_kzmin_omp) 1597 1598 pbl_lmixmin_alpha_omp=0.01599 CALL getin('pbl_lmixmin_alpha',pbl_lmixmin_alpha_omp)1600 1596 1601 1597 ! … … 2477 2473 f_ri_cd_min = f_ri_cd_min_omp 2478 2474 ok_kzmin = ok_kzmin_omp 2479 pbl_lmixmin_alpha=pbl_lmixmin_alpha_omp2480 2475 fmagic = fmagic_omp 2481 2476 pmagic = pmagic_omp … … 2907 2902 WRITE(lunout,*) ' f_ri_cd_min = ',f_ri_cd_min 2908 2903 WRITE(lunout,*) ' ok_kzmin = ',ok_kzmin 2909 WRITE(lunout,*) ' pbl_lmixmin_alpha = ',pbl_lmixmin_alpha2910 2904 WRITE(lunout,*) ' fmagic = ',fmagic 2911 2905 WRITE(lunout,*) ' pmagic = ',pmagic -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r4412 r4448 81 81 USE lscp_mod, ONLY : lscp 82 82 USE wake_ini_mod, ONLY : wake_ini 83 USE yamada_ini_mod, ONLY : yamada_ini 84 83 85 USE thermcell_ini_mod, ONLY : thermcell_ini 84 86 USE lscp_ini_mod, ONLY : lscp_ini … … 1745 1747 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1746 1748 CALL wake_ini(rg,rd,rv,prt_level) 1749 CALL yamada_ini(klon,lunout,prt_level) 1747 1750 CALL thermcell_ini(iflag_thermals,prt_level,tau_thermals,lunout, & 1748 1751 & RG,RD,RCPD,RKAPPA,RLVTT,RETV) -
LMDZ6/trunk/libf/phylmd/yamada4.F90
r4289 r4448 4 4 cd, tke, km, kn, kq, ustar, iflag_pbl, drgpro) 5 5 6 USE dimphy 7 USE ioipsl_getin_p_mod, ONLY : getin_p 6 USE dimphy, only : klev,klon 8 7 USE phys_local_var_mod, only: tke_dissip,wprime 8 USE yamada_ini_mod, only : new_yamada4,yamada4_num,hboville 9 USE yamada_ini_mod, only : prt_level, lunout,pbl_lmixmin_alpha,b1,kap,viscom,viscoh 10 USE yamada_ini_mod, only : ric, yun,ydeux,lmixmin 9 11 10 12 IMPLICIT NONE 11 include "iniprint.h"12 ! .......................................................................13 ! ym#include "dimensions.h"14 ! ym#include "dimphy.h"15 13 ! ************************************************************************************************ 16 14 ! … … 111 109 !------- 112 110 113 INCLUDE "clesphys.h"114 115 111 REAL q2(klon, klev+1) 116 112 REAL kmpre(klon, klev+1), tmp2, qpre … … 121 117 INTEGER nlay, nlev 122 118 123 LOGICAL,SAVE :: hboville=.TRUE.124 REAL,SAVE :: viscom,viscoh125 !$OMP THREADPRIVATE( hboville,viscom,viscoh)126 119 INTEGER ig, jg, k 127 120 REAL ri, zrif, zalpha, zsm, zsn … … 136 129 REAL :: disseff 137 130 138 REAL,SAVE :: ric0,ric,rifc, b1, kap 139 !$OMP THREADPRIVATE(ric0,ric,rifc,b1,kap) 140 DATA b1, kap/16.6, 0.4/ 131 REAL,SAVE :: rifc 132 !$OMP THREADPRIVATE(rifc) 141 133 REAL,SAVE :: seuilsm, seuilalpha 142 134 !$OMP THREADPRIVATE(seuilsm, seuilalpha) 143 REAL,SAVE :: lmixmin144 !$OMP THREADPRIVATE(lmixmin)145 LOGICAL, SAVE :: new_yamada4146 INTEGER, SAVE :: yamada4_num147 !$OMP THREADPRIVATE(new_yamada4,yamada4_num)148 REAL, SAVE :: yun,ydeux149 !$OMP THREADPRIVATE(yun,ydeux)150 135 151 136 REAL frif, falpha, fsm 152 137 REAL rino(klon, klev+1), smyam(klon, klev), styam(klon, klev), & 153 138 lyam(klon, klev), knyam(klon, klev), w2yam(klon, klev), t2yam(klon, klev) 154 LOGICAL, SAVE :: firstcall = .TRUE.155 !$OMP THREADPRIVATE(firstcall)156 139 157 140 CHARACTER (len = 20) :: modname = 'yamada4' … … 168 151 169 152 170 IF (firstcall) THEN171 ! Seuil dans le code de turbulence172 new_yamada4=.false.173 CALL getin_p('new_yamada4',new_yamada4)174 153 175 154 IF (new_yamada4) THEN 176 155 ! Corrections et reglages issus du travail de these d'Etienne Vignon. 177 ric=0.143 ! qui donne des valeurs proches des seuils proposes178 ! dans YAMADA 1983 : sm=0.0845 (0.085 dans Y83)179 ! sm=1.1213 (1.12 dans Y83)180 CALL getin_p('yamada4_ric',ric)181 ric0=0.19489 ! ric=0.195 originalement, mais produisait sm<0182 ric=min(ric,ric0) ! Au dela de ric0, sm devient n??gatif183 156 rifc=frif(ric) 184 157 seuilsm=fsm(frif(ric)) 185 158 seuilalpha=falpha(frif(ric)) 186 yun=1.187 ydeux=2.188 hboville=.FALSE.189 viscom=1.46E-5190 viscoh=2.06E-5191 !lmixmin=1.0E-3192 lmixmin=0.193 yamada4_num=5194 159 ELSE 195 ric=0.195196 160 rifc=0.191 197 161 seuilalpha=1.12 198 162 seuilsm=0.085 199 yun=2.200 ydeux=1.201 hboville=.TRUE.202 viscom=0.203 viscoh=0.204 lmixmin=1.205 yamada4_num=0206 163 ENDIF 207 208 WRITE(lunout,*)'YAMADA4 RIc, RIfc, Sm_min, Alpha_min',ric,rifc,seuilsm,seuilalpha209 firstcall = .FALSE.210 CALL getin_p('lmixmin',lmixmin)211 CALL getin_p('yamada4_hboville',hboville)212 CALL getin_p('yamada4_num',yamada4_num)213 END IF214 215 216 164 217 165 !=============================================================================== … … 760 708 SUBROUTINE vdif_q2(timestep, gravity, rconst, ngrid, plev, temp, kmy, q2) 761 709 762 USE dimphy 710 USE dimphy, only : klev,klon 763 711 IMPLICIT NONE 764 712 … … 849 797 SUBROUTINE vdif_q2e(timestep, gravity, rconst, ngrid, plev, temp, kmy, q2) 850 798 851 USE dimphy 799 USE dimphy, only : klev,klon 852 800 IMPLICIT NONE 853 801 … … 920 868 921 869 922 USE dimphy 870 USE dimphy, only : klev,klon 871 USE yamada_ini_mod, only : l0 923 872 USE phys_state_var_mod, only: zstd, zsig, zmea 924 873 USE phys_local_var_mod, only: l_mixmin, l_mix 874 USE yamada_ini_mod, only : kap, kapb 925 875 926 876 ! zstd: ecart type de la'altitud e sous-maille … … 982 932 !------- 983 933 984 LOGICAL, SAVE :: firstcall = .TRUE.985 !$OMP THREADPRIVATE(firstcall)986 987 934 ! Outputs 988 935 !--------- … … 997 944 REAL h_oro(klon) 998 945 REAL hlim(klon) 999 REAL, SAVE :: kap=0.4,kapb=0.41000 !$OMP THREADPRIVATE(kap,kapb)1001 946 REAL zq 1002 947 REAL sq(klon), sqz(klon) 1003 REAL, ALLOCATABLE, SAVE :: l0(:)1004 !$OMP THREADPRIVATE(l0)1005 948 REAL fl, zzz, zl0, zq2, zn2 1006 949 REAL famorti, zzzz, zh_oro, zhlim … … 1030 973 1031 974 IF (ngrid==0) RETURN 1032 1033 IF (firstcall) THEN1034 ALLOCATE (l0(klon))1035 firstcall = .FALSE.1036 END IF1037 975 1038 976
Note: See TracChangeset
for help on using the changeset viewer.