Changeset 4666 for LMDZ6/trunk
- Timestamp:
- Sep 3, 2023, 10:08:39 AM (15 months ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_lscp.F90
r4664 r4666 90 90 !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 91 91 ! 92 USE print_control_mod, ONLY: prt_level, lunout93 92 94 93 ! USE de modules contenant des fonctions. … … 99 98 100 99 ! Use du module lmdz_lscp_ini contenant les constantes 100 USE lmdz_lscp_ini, ONLY : prt_level, lunout 101 101 USE lmdz_lscp_ini, ONLY : seuil_neb, niter_lscp, iflag_evap_prec, t_coup, DDT0, ztfondue, rain_int_min 102 102 USE lmdz_lscp_ini, ONLY : iflag_mpc_bl, ok_radocond_snow, a_tr_sca, cld_expo_con, cld_expo_lsc -
LMDZ6/trunk/libf/phylmd/lmdz_lscp_ini.F90
r4664 r4666 11 11 REAL, SAVE :: seuil_neb=0.001 ! cloud fraction threshold: a cloud really exists when exceeded 12 12 !$OMP THREADPRIVATE(seuil_neb) 13 14 INTEGER, SAVE :: lunout, prt_level ! Logical unit number and level for standard output 15 !$OMP THREADPRIVATE(lunout,prt_level) 13 16 14 17 INTEGER, SAVE :: niter_lscp=5 ! number of iterations to calculate autoconversion to precipitation … … 127 130 !$OMP THREADPRIVATE(tresh_cl) 128 131 132 ! Two parameters used for lmdz_lscp_old only 133 INTEGER, SAVE :: iflag_oldbug_fisrtilp=0, fl_cor_ebil 134 !$OMP THREADPRIVATE(iflag_oldbug_fisrtilp,fl_cor_ebil) 135 129 136 CONTAINS 130 137 131 SUBROUTINE lscp_ini(dtime, ok_ice_sursat, iflag_ratqs, RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in, &138 SUBROUTINE lscp_ini(dtime,lunout_in,prt_level_in,ok_ice_sursat, iflag_ratqs, fl_cor_ebil_in, RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in, & 132 139 RVTMP2_in, RTT_in,RD_in,RG_in) 133 140 134 141 135 142 USE ioipsl_getin_p_mod, ONLY : getin_p 136 USE print_control_mod, ONLY: prt_level, lunout137 143 USE ice_sursat_mod, ONLY: ice_sursat_init 138 144 USE lmdz_cloudth_ini, ONLY : cloudth_ini 139 145 140 146 REAL, INTENT(IN) :: dtime 141 LOGICAL, INTENT(IN) :: ok_ice_sursat142 INTEGER, INTENT(IN) :: iflag_ratqs147 INTEGER, INTENT(IN) :: lunout_in,prt_level_in,iflag_ratqs,fl_cor_ebil_in 148 LOGICAL, INTENT(IN) :: ok_ice_sursat 143 149 144 150 REAL, INTENT(IN) :: RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in … … 147 153 character (len=80) :: abort_message 148 154 155 156 lunout=lunout_in 157 prt_level=prt_level_in 158 fl_cor_ebil=fl_cor_ebil_in 149 159 150 160 RG=RG_in … … 192 202 CALL getin_p('dist_liq',dist_liq) 193 203 CALL getin_p('tresh_cl',tresh_cl) 194 195 196 197 198 WRITE(lunout,*) 'lscp, niter_lscp:', niter_lscp 199 WRITE(lunout,*) 'lscp, iflag_evap_prec:', iflag_evap_prec 200 WRITE(lunout,*) 'lscp, seuil_neb:', seuil_neb 201 WRITE(lunout,*) 'lscp, rain_int_min:', rain_int_min 202 WRITE(lunout,*) 'lscp, iflag_mpc_bl:', iflag_mpc_bl 203 WRITE(lunout,*) 'lscp, ok_radocond_snow:', ok_radocond_snow 204 WRITE(lunout,*) 'lscp, t_glace_max:', t_glace_max 205 WRITE(lunout,*) 'lscp, t_glace_min:', t_glace_min 206 WRITE(lunout,*) 'lscp, exposant_glace:', exposant_glace 207 WRITE(lunout,*) 'lscp, iflag_vice:', iflag_vice 208 WRITE(lunout,*) 'lscp, iflag_t_glace:', iflag_t_glace 209 WRITE(lunout,*) 'lscp, iflag_cloudth_vert:', iflag_cloudth_vert 210 WRITE(lunout,*) 'lscp, iflag_gammasat:', iflag_gammasat 211 WRITE(lunout,*) 'lscp, iflag_rain_incloud_vol:', iflag_rain_incloud_vol 212 WRITE(lunout,*) 'lscp, iflag_bergeron:', iflag_bergeron 213 WRITE(lunout,*) 'lscp, iflag_fisrtilp_qsat:', iflag_fisrtilp_qsat 214 WRITE(lunout,*) 'lscp, iflag_pdf', iflag_pdf 215 WRITE(lunout,*) 'lscp, reevap_ice', reevap_ice 216 WRITE(lunout,*) 'lscp, cld_lc_lsc', cld_lc_lsc 217 WRITE(lunout,*) 'lscp, cld_lc_con', cld_lc_con 218 WRITE(lunout,*) 'lscp, cld_tau_lsc', cld_tau_lsc 219 WRITE(lunout,*) 'lscp, cld_tau_con', cld_tau_con 220 WRITE(lunout,*) 'lscp, cld_expo_lsc', cld_expo_lsc 221 WRITE(lunout,*) 'lscp, cld_expo_con', cld_expo_con 222 WRITE(lunout,*) 'lscp, ffallv_lsc', ffallv_lsc 223 WRITE(lunout,*) 'lscp, ffallv_con', ffallv_con 224 WRITE(lunout,*) 'lscp, coef_eva', coef_eva 225 WRITE(lunout,*) 'lscp, coef_eva_i', coef_eva_i 226 WRITE(lunout,*) 'lscp, iflag_autoconversion', iflag_autoconversion 227 WRITE(lunout,*) 'lscp, dist_liq', dist_liq 228 WRITE(lunout,*) 'lscp, tresh_cl', tresh_cl 204 CALL getin_p('iflag_oldbug_fisrtilp',iflag_oldbug_fisrtilp) 205 206 207 208 209 WRITE(lunout,*) 'lscp_ini, niter_lscp:', niter_lscp 210 WRITE(lunout,*) 'lscp_ini, iflag_evap_prec:', iflag_evap_prec 211 WRITE(lunout,*) 'lscp_ini, seuil_neb:', seuil_neb 212 WRITE(lunout,*) 'lscp_ini, rain_int_min:', rain_int_min 213 WRITE(lunout,*) 'lscp_ini, iflag_mpc_bl:', iflag_mpc_bl 214 WRITE(lunout,*) 'lscp_ini, ok_radocond_snow:', ok_radocond_snow 215 WRITE(lunout,*) 'lscp_ini, t_glace_max:', t_glace_max 216 WRITE(lunout,*) 'lscp_ini, t_glace_min:', t_glace_min 217 WRITE(lunout,*) 'lscp_ini, exposant_glace:', exposant_glace 218 WRITE(lunout,*) 'lscp_ini, iflag_vice:', iflag_vice 219 WRITE(lunout,*) 'lscp_ini, iflag_t_glace:', iflag_t_glace 220 WRITE(lunout,*) 'lscp_ini, iflag_cloudth_vert:', iflag_cloudth_vert 221 WRITE(lunout,*) 'lscp_ini, iflag_gammasat:', iflag_gammasat 222 WRITE(lunout,*) 'lscp_ini, iflag_rain_incloud_vol:', iflag_rain_incloud_vol 223 WRITE(lunout,*) 'lscp_ini, iflag_bergeron:', iflag_bergeron 224 WRITE(lunout,*) 'lscp_ini, iflag_fisrtilp_qsat:', iflag_fisrtilp_qsat 225 WRITE(lunout,*) 'lscp_ini, iflag_pdf', iflag_pdf 226 WRITE(lunout,*) 'lscp_ini, reevap_ice', reevap_ice 227 WRITE(lunout,*) 'lscp_ini, cld_lc_lsc', cld_lc_lsc 228 WRITE(lunout,*) 'lscp_ini, cld_lc_con', cld_lc_con 229 WRITE(lunout,*) 'lscp_ini, cld_tau_lsc', cld_tau_lsc 230 WRITE(lunout,*) 'lscp_ini, cld_tau_con', cld_tau_con 231 WRITE(lunout,*) 'lscp_ini, cld_expo_lsc', cld_expo_lsc 232 WRITE(lunout,*) 'lscp_ini, cld_expo_con', cld_expo_con 233 WRITE(lunout,*) 'lscp_ini, ffallv_lsc', ffallv_lsc 234 WRITE(lunout,*) 'lscp_ini, ffallv_con', ffallv_con 235 WRITE(lunout,*) 'lscp_ini, coef_eva', coef_eva 236 WRITE(lunout,*) 'lscp_ini, coef_eva_i', coef_eva_i 237 WRITE(lunout,*) 'lscp_ini, iflag_autoconversion', iflag_autoconversion 238 WRITE(lunout,*) 'lscp_ini, dist_liq', dist_liq 239 WRITE(lunout,*) 'lscp_ini, tresh_cl', tresh_cl 240 WRITE(lunout,*) 'lscp_ini, iflag_oldbug_fisrtilp', iflag_oldbug_fisrtilp 241 WRITE(lunout,*) 'lscp_ini, fl_cor_ebil', fl_cor_ebil 229 242 230 243 -
LMDZ6/trunk/libf/phylmd/lmdz_lscp_old.F90
r4664 r4666 4 4 MODULE lmdz_lscp_old 5 5 CONTAINS 6 SUBROUTINE fisrtilp( dtime,paprs,pplay,t,q,ptconv,ratqs, &7 d_t, d_q, d_ql, d_qi, rneb, 6 SUBROUTINE fisrtilp(klon,klev,dtime,paprs,pplay,t,q,ptconv,ratqs, & 7 d_t, d_q, d_ql, d_qi, rneb,rneblsvol,radliq, rain, snow, & 8 8 pfrac_impa, pfrac_nucl, pfrac_1nucl, & 9 9 frac_impa, frac_nucl, beta, & 10 10 prfl, psfl, rhcl, zqta, fraca, & 11 11 ztv, zpspsk, ztla, zthl, iflag_cld_th, & 12 iflag_ice_thermo) 13 14 ! 15 USE dimphy 12 iflag_ice_thermo, & 13 cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv) 14 15 16 ! 16 17 USE icefrac_lsc_mod ! compute ice fraction (JBM 3/14) 17 USE print_control_mod, ONLY: prt_level, lunout18 18 USE lmdz_cloudth, only : cloudth, cloudth_v3, cloudth_v6 19 USE ioipsl_getin_p_mod, ONLY : getin_p 20 USE phys_local_var_mod, ONLY: ql_seri,qs_seri 21 USE phys_local_var_mod, ONLY: rneblsvol 22 ! flag to include modifications to ensure energy conservation (if flag >0) 23 USE add_phys_tend_mod, only : fl_cor_ebil 19 20 USE lmdz_lscp_ini, ONLY: prt_level, lunout 21 USE lmdz_lscp_ini, ONLY : fl_cor_ebil 24 22 USE lmdz_lscp_ini, ONLY: iflag_t_glace,t_glace_min, t_glace_max, exposant_glace 23 USE lmdz_lscp_ini, ONLY : seuil_neb, rain_int_min, iflag_evap_prec, iflag_oldbug_fisrtilp,a_tr_sca 25 24 USE lmdz_lscp_ini, ONLY: iflag_cloudth_vert, iflag_rain_incloud_vol 26 25 USE lmdz_lscp_ini, ONLY: coef_eva, coef_eva_i, ffallv_lsc, ffallv_con 27 26 USE lmdz_lscp_ini, ONLY: cld_tau_lsc, cld_tau_con, cld_lc_lsc, cld_lc_con 28 27 USE lmdz_lscp_ini, ONLY: reevap_ice, iflag_bergeron, iflag_fisrtilp_qsat, iflag_pdf 29 use phys_output_var_mod, ONLY : cloudth_sth,cloudth_senv30 use phys_output_var_mod, ONLY : cloudth_sigmath,cloudth_sigmaenv31 28 32 29 … … 63 60 ! 64 61 REAL, INTENT(IN) :: dtime ! intervalle du temps (s) 62 INTEGER, INTENT(IN) :: klon, klev 65 63 REAL, DIMENSION(klon,klev+1), INTENT(IN) :: paprs ! pression a inter-couche 66 64 REAL, DIMENSION(klon,klev), INTENT(IN) :: pplay ! pression au milieu de couche … … 87 85 REAL, DIMENSION(klon,klev), INTENT(OUT) :: d_ql ! incrementation de l'eau liquide 88 86 REAL, DIMENSION(klon,klev), INTENT(OUT) :: d_qi ! incrementation de l'eau glace 89 REAL, DIMENSION(klon,klev), INTENT(OUT) :: rneb ! fraction nuageuse87 REAL, DIMENSION(klon,klev), INTENT(OUT) :: rneb, rneblsvol ! fraction nuageuse 90 88 REAL, DIMENSION(klon,klev), INTENT(OUT) :: radliq ! eau liquide utilisee dans rayonnements 91 89 REAL, DIMENSION(klon,klev), INTENT(OUT) :: rhcl ! humidite relative en ciel clair … … 107 105 REAL, DIMENSION(klon,klev), INTENT(OUT) :: frac_impa 108 106 REAL, DIMENSION(klon,klev), INTENT(OUT) :: frac_nucl 107 REAL, DIMENSION(klon,klev), INTENT(OUT) :: cloudth_sth,cloudth_senv 108 REAL, DIMENSION(klon,klev), INTENT(OUT) :: cloudth_sigmath,cloudth_sigmaenv 109 109 !AA 110 110 ! -------------------------------------------------------------------------------- … … 112 112 ! Options du programme: 113 113 ! 114 REAL, SAVE :: seuil_neb=0.001 ! un nuage existe vraiment au-dela 115 !$OMP THREADPRIVATE(seuil_neb) 116 117 !<LTP 118 REAL smallestreal 119 REAL, SAVE :: rain_int_min=0.001 !intensité locale minimum pour la pluie avant diminution de la fraction précipitante associée = 0.001 mm/s 120 !>LTP 121 !$OMP THREADPRIVATE(rain_int_min) 122 123 124 INTEGER ninter ! sous-intervals pour la precipitation 125 PARAMETER (ninter=5) 126 INTEGER,SAVE :: iflag_evap_prec=1 ! evaporation de la pluie 127 !$OMP THREADPRIVATE(iflag_evap_prec) 128 ! 129 LOGICAL cpartiel ! condensation partielle 130 PARAMETER (cpartiel=.TRUE.) 131 REAL t_coup 132 PARAMETER (t_coup=234.0) 133 REAL DDT0 134 PARAMETER (DDT0=.01) 135 REAL ztfondue 136 PARAMETER (ztfondue=278.15) 114 115 REAL :: smallestreal 116 117 INTEGER, PARAMETER :: ninter=5 ! sous-intervals pour la precipitation 118 LOGICAL, PARAMETER :: cpartiel=.TRUE. ! condensation partielle 119 REAL, PARAMETER :: t_coup=234.0 120 REAL, PARAMETER :: DDT0=.01 121 REAL, PARAMETER :: ztfondue=278.15 137 122 ! -------------------------------------------------------------------------------- 138 123 ! 139 124 ! Variables locales: 140 125 ! 141 INTEGER i, k, n, kk 142 INTEGER,save::itap=0 143 !$OMP THREADPRIVATE(itap) 144 145 REAL qsl, qsi 146 real zct ,zcl 147 INTEGER ncoreczq 148 REAL ctot(klon,klev) 149 REAL ctot_vol(klon,klev) 150 REAL zqs(klon), zdqs(klon), zdelta, zcor, zcvm5 151 REAL zdqsdT_raw(klon) 152 REAL Tbef(klon),qlbef(klon),DT(klon),num,denom 153 154 logical lognormale(klon) 155 logical ice_thermo 156 LOGICAL convergence(klon) 157 INTEGER n_i(klon), iter 158 REAL cste 159 160 real zpdf_sig(klon),zpdf_k(klon),zpdf_delta(klon) 161 real Zpdf_a(klon),zpdf_b(klon),zpdf_e1(klon),zpdf_e2(klon) 162 real erf 163 REAL qcloud(klon) 126 INTEGER :: i, k, n, kk 127 REAL :: qsl, qsi 128 REAL :: zct ,zcl 129 INTEGER :: ncoreczq 130 REAL, DIMENSION(klon,klev) :: ctot,ctot_vol 131 REAL, DIMENSION(klon) :: zqs, zdqs, zdqsdT_raw, Tbef,qlbef,DT 132 REAL :: zdelta, zcor, zcvm5 133 REAL ::num,denom 134 135 LOGICAL, DIMENSION(klon) :: lognormale,convergence 136 LOGICAL :: ice_thermo 137 INTEGER, DIMENSION(klon) :: n_i 138 INTEGER :: iter 139 REAL :: cste 140 141 REAL, DIMENSION(klon) :: zpdf_sig,zpdf_k,zpdf_delta, Zpdf_a,zpdf_b,zpdf_e1,zpdf_e2, qcloud 142 REAL :: erf 164 143 165 REAL zrfl(klon), zrfln(klon), zqev, zqevt 166 !<LTP 167 REAL zrflclr(klon), zrflcld(klon) 168 REAL d_zrfl_clr_cld(klon), d_zifl_clr_cld(klon) 169 REAL d_zrfl_cld_clr(klon), d_zifl_cld_clr(klon) 170 !>LTP 171 172 REAL zifl(klon), zifln(klon), zqev0,zqevi, zqevti 173 !<LTP 174 REAL ziflclr(klon), ziflcld(klon) 175 !>LTP 176 REAL zoliq(klon), zcond(klon), zq(klon), zqn(klon), zdelq 177 REAL zoliqp(klon), zoliqi(klon) 178 REAL zt(klon) 144 REAL :: zqev, zqevt, zqev0,zqevi, zqevti, zdelq 145 REAL, DIMENSION(klon) :: zrfl(klon), zrfln(klon), zrflclr(klon), zrflcld(klon), d_zrfl_clr_cld(klon), d_zifl_clr_cld(klon), d_zrfl_cld_clr(klon), d_zifl_cld_clr(klon) 146 147 REAL, DIMENSION(klon) :: zifl, zifln, ziflclr, ziflcld, zoliq, zcond, zq, zqn, zoliqp, zoliqi, zt 179 148 ! JBM (3/14) nexpo is replaced by exposant_glace 180 149 ! REAL nexpo ! exponentiel pour glace/eau 181 150 ! INTEGER, PARAMETER :: nexpo=6 182 INTEGER exposant_glace_old 183 REAL t_glace_min_old 184 REAL zdz(klon),zrho(klon),ztot , zrhol(klon) 185 REAL zchau ,zfroi ,zfice(klon),zneb(klon),znebprecip(klon) 186 !<LTP 187 REAL znebprecipclr(klon), znebprecipcld(klon) 188 REAL tot_zneb(klon), tot_znebn(klon), d_tot_zneb(klon) 189 REAL d_znebprecip_clr_cld(klon), d_znebprecip_cld_clr(klon) 190 !>LTP 191 192 REAL zmelt, zpluie, zice 193 REAL dzfice(klon) 194 REAL zsolid 151 INTEGER :: exposant_glace_old 152 REAL :: t_glace_min_old, ztot 153 REAL, DIMENSION(klon) :: zdz,zrho , zrhol, zfice,zneb,znebprecip 154 REAL :: zchau ,zfroi 155 REAL, DIMENSION(klon) :: znebprecipclr, znebprecipcld, tot_zneb, tot_znebn, d_tot_zneb, d_znebprecip_clr_cld, d_znebprecip_cld_clr, dzfice 156 REAL :: zmelt, zpluie, zice 157 REAL :: zsolid 195 158 !!!! 196 159 ! Variables pour Bergeron 197 REAL zcp, coef1, DeltaT, Deltaq, Deltaqprecl198 REAL zqpreci(klon), zqprecl(klon)160 REAL :: zcp, coef1, DeltaT, Deltaq, Deltaqprecl 161 REAL, DIMENSION(klon) :: zqpreci, zqprecl 199 162 ! Variable pour conservation enegie des precipitations 200 REAL zmqc(klon) 201 ! 202 LOGICAL appel1er 203 SAVE appel1er 163 REAL, DIMENSION(klon) :: zmqc 164 ! 165 LOGICAL, SAVE :: appel1er=.TRUE. 204 166 !$OMP THREADPRIVATE(appel1er) 205 167 ! 206 168 ! iflag_oldbug_fisrtilp=0 enleve le BUG par JYG : tglace_min -> tglace_max 207 169 ! iflag_oldbug_fisrtilp=1 ajoute le BUG 208 INTEGER,SAVE :: iflag_oldbug_fisrtilp=0 !=0 sans bug209 !$OMP THREADPRIVATE(iflag_oldbug_fisrtilp)210 170 !--------------------------------------------------------------- 211 171 ! … … 214 174 !AA A priori on a 4 scavenging # possibles 215 175 ! 216 REAL a_tr_sca(4)217 save a_tr_sca218 !$OMP THREADPRIVATE(a_tr_sca)219 !220 176 ! Variables intermediaires 221 177 ! 222 REAL zalpha_tr 223 REAL zfrac_lessi 224 REAL zprec_cond(klon) 178 REAL :: zalpha_tr, zfrac_lessi 179 REAL, DIMENSION(klon) :: zprec_cond 225 180 !AA 226 181 ! RomP >>> 15 nov 2012 227 REAL beta(klon,klev)! taux de conversion de l'eau cond182 REAL, DIMENSION(klon,klev) :: beta ! taux de conversion de l'eau cond 228 183 ! RomP <<< 229 REAL zmair(klon), zcpair, zcpeau 184 REAL, DIMENSION(klon) :: zmair 185 REAL :: zcpair, zcpeau 230 186 ! Pour la conversion eau-neige 231 REAL zlh_solid(klon), zm_solid 187 REAL, DIMENSION(klon) :: zlh_solid 188 REAL :: zm_solid 232 189 !--------------------------------------------------------------- 233 190 ! 234 191 ! Fonctions en ligne: 235 192 ! 236 REAL fallvs,fallvc ! Vitesse de chute pour cristaux de glace193 REAL :: fallvs,fallvc ! Vitesse de chute pour cristaux de glace 237 194 ! (Heymsfield & Donner, 1990) 238 195 REAL zzz … … 242 199 fallvs (zzz) = 3.29/2.0 * ((zzz)**0.16) * ffallv_lsc 243 200 ! 244 DATA appel1er /.TRUE./245 201 !ym 246 202 !CR: pour iflag_ice_thermo=2, on active que la convection … … 248 204 249 205 250 itap=itap+1251 206 znebprecip(:)=0. 252 207 … … 264 219 if (prt_level>9)write(lunout,*)'NUAGES4 A. JAM' 265 220 IF (appel1er) THEN 266 CALL getin_p('iflag_oldbug_fisrtilp',iflag_oldbug_fisrtilp)267 CALL getin_p('iflag_evap_prec',iflag_evap_prec)268 CALL getin_p('seuil_neb',seuil_neb)269 !<LTP270 CALL getin_p('rain_int_min',rain_int_min)271 !>LTP272 write(lunout,*)' iflag_oldbug_fisrtilp =',iflag_oldbug_fisrtilp273 !274 221 WRITE(lunout,*) 'fisrtilp, ninter:', ninter 275 WRITE(lunout,*) 'fisrtilp, iflag_evap_prec:', iflag_evap_prec276 !<LTP277 WRITE(lunout,*) 'fisrtilp, rain_int_min:', rain_int_min278 !>LTP279 222 WRITE(lunout,*) 'fisrtilp, cpartiel:', cpartiel 280 223 WRITE(lunout,*) 'FISRTILP VERSION LUDO' … … 286 229 ENDIF 287 230 appel1er = .FALSE. 288 !289 !AA initialiation provisoire290 a_tr_sca(1) = -0.5291 a_tr_sca(2) = -0.5292 a_tr_sca(3) = -0.5293 a_tr_sca(4) = -0.5294 !295 !AA Initialisation a 1 des coefs des fractions lessivees296 231 ! 297 232 !cdir collapse … … 416 351 ! - zmqc: masse de precip qui doit etre thermalisee 417 352 ! 418 IF(k.LE.klev m1) THEN353 IF(k.LE.klev-1) THEN 419 354 DO i = 1, klon 420 355 !IM … … 437 372 end if 438 373 ENDDO 439 ELSE ! IF(k.LE.klev m1)374 ELSE ! IF(k.LE.klev-1) 440 375 DO i = 1, klon 441 376 zmair(i)=(paprs(i,k)-paprs(i,k+1))/RG 442 377 zmqc(i) = 0. 443 378 ENDDO 444 ENDIF ! end IF(k.LE.klev m1)379 ENDIF ! end IF(k.LE.klev-1) 445 380 ! 446 381 ! ---------------------------------------------------------------- … … 698 633 !>LTP 699 634 700 701 ! print*,'REEVAP ',itap,k,znebprecip(1),zqev0,zqev,zqevi,zrfl(1)702 635 703 636 !CR ATTENTION: deplacement de la fonte de la glace -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r4664 r4666 812 812 EXTERNAL ajsec ! ajustement sec 813 813 EXTERNAL conlmd ! convection (schema LMD) 814 !KE43815 814 EXTERNAL conema3 ! convect4.3 816 !AA817 ! JBM (3/14) fisrtilp_tr not loaded818 ! EXTERNAL fisrtilp_tr ! schema de condensation a grande echelle (pluie)819 ! ! stockage des coefficients necessaires au820 ! ! lessivage OFF-LINE et ON-LINE821 815 EXTERNAL hgardfou ! verifier les temperatures 822 816 EXTERNAL nuage ! calculer les proprietes radiatives … … 1810 1804 & RG,RD,RCPD,RKAPPA,RLVTT,RETV) 1811 1805 CALL ratqs_ini(klon,klev,iflag_thermals,lunout,nbsrf,is_lic,is_ter,RG,RV,RD,RCPD,RLSTT,RLVTT,RTT) 1812 CALL lscp_ini(pdtphys, ok_ice_sursat,iflag_ratqs,RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT,RD,RG)1806 CALL lscp_ini(pdtphys,lunout,prt_level,ok_ice_sursat,iflag_ratqs,fl_cor_ebil,RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT,RD,RG) 1813 1807 CALL blowing_snow_ini(prt_level,lunout, & 1814 1808 RCPD, RLSTT, RLVTT, RLMLT, & … … 3760 3754 ELSE 3761 3755 3762 CALL fisrtilp( phys_tstep,paprs,pplay, &3756 CALL fisrtilp(klon,klev,phys_tstep,paprs,pplay, & 3763 3757 t_seri, q_seri,ptconv,ratqs, & 3764 d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, r adocond, &3758 d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, rneblsvol, radocond, & 3765 3759 rain_lsc, snow_lsc, & 3766 3760 pfrac_impa, pfrac_nucl, pfrac_1nucl, & … … 3768 3762 prfl, psfl, rhcl, & 3769 3763 zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cld_th, & 3770 iflag_ice_thermo) 3764 iflag_ice_thermo, & 3765 cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv) 3771 3766 3772 3767 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.