source: LMDZ6/trunk/libf/phylmd/lmdz_lscp_ini.F90 @ 5065

Last change on this file since 5065 was 5007, checked in by evignon, 12 months ago

ajout de la nouvelle paramétrisation du partitonnement de phase
dans les nuages de phase mixte de Lea Raillard
La parametrisation s'active avec iflag_icefrac=1 et est fondé
sur la theorie de creation et maintien de sursaturation en atmosphere
turbulente avec ou sans presence de cristaux de glace

File size: 19.3 KB
RevLine 
[4664]1MODULE lmdz_lscp_ini
[4380]2
[4654]3IMPLICIT NONE
[4380]4
5  ! PARAMETERS for lscp:
6  !--------------------
[4535]7 
[5007]8  REAL RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT, RD, RG, RV, RPI
9  !$OMP THREADPRIVATE(RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT, RD, RG, RV, RPI)
[4869]10 
[4910]11  REAL, SAVE, PROTECTED :: seuil_neb=0.001      ! cloud fraction threshold: a cloud can precipitate when exceeded
[4380]12  !$OMP THREADPRIVATE(seuil_neb)
13
[4910]14  REAL, SAVE, PROTECTED :: min_neb_th=1e-10      ! a cloud produced by bi-gaussian really exists when exceeded
15  !$OMP THREADPRIVATE(min_neb_th)
16
17  REAL, SAVE, PROTECTED :: min_frac_thermals=1.e-10   ! minimum thermals fraction for use of bigaussian distribution
18  !$OMP THREADPRIVATE(min_frac_thermals)
19
[4666]20  INTEGER, SAVE :: lunout, prt_level            ! Logical unit number and level for standard output
21  !$OMP THREADPRIVATE(lunout,prt_level)
22
[4803]23  INTEGER, SAVE, PROTECTED :: niter_lscp=5      ! number of iterations to calculate autoconversion to precipitation
[4559]24  !$OMP THREADPRIVATE(niter_lscp)
[4380]25
[4803]26  INTEGER, SAVE, PROTECTED :: iflag_evap_prec=1 ! precipitation evaporation flag. 0: nothing, 1: "old way",
[4380]27                                                ! 2: Max cloud fraction above to calculate the max of reevaporation
[4563]28                                                ! >=4: LTP'method i.e. evaporation in the clear-sky fraction of the mesh only
29                                                ! pay attention that iflag_evap_prec=4 may lead to unrealistic and overestimated
30                                                ! evaporation. Use 5 instead
[4380]31  !$OMP THREADPRIVATE(iflag_evap_prec)
32
[4803]33  REAL, SAVE, PROTECTED :: t_coup=234.0         ! temperature threshold which determines the phase
34                                                ! for which the saturation vapor pressure is calculated
35  !$OMP THREADPRIVATE(t_coup)
36  REAL, SAVE, PROTECTED :: DDT0=0.01            ! iteration parameter
37  !$OMP THREADPRIVATE(DDT0)
[4380]38
[4803]39  REAL, SAVE, PROTECTED :: ztfondue=278.15      ! parameter to calculate melting fraction of precipitation
40  !$OMP THREADPRIVATE(ztfondue)
[4380]41
[4803]42  REAL, SAVE, PROTECTED :: temp_nowater=233.15  ! temperature below which liquid water no longer exists
43  !$OMP THREADPRIVATE(temp_nowater)
[4380]44
[4803]45  REAL, SAVE, PROTECTED :: a_tr_sca(4)          ! Variables for tracers temporary: alpha parameter for scavenging, 4 possible scavenging processes
[4380]46  !$OMP THREADPRIVATE(a_tr_sca)
47 
[4910]48  REAL, SAVE, PROTECTED ::  min_frac_th_cld=1.e-10   ! minimum thermal fraction to compute a thermal cloud fraction
49  !$OMP THREADPRIVATE(min_frac_th_cld)
50
[4803]51  LOGICAL, SAVE, PROTECTED :: ok_radocond_snow=.false. ! take into account the mass of ice precip in the cloud ice content seen by radiation
[4412]52  !$OMP THREADPRIVATE(ok_radocond_snow)
[4380]53
[4803]54  REAL, SAVE, PROTECTED :: t_glace_min=258.0    ! lower-bound temperature parameter for cloud phase determination
[4535]55  !$OMP THREADPRIVATE(t_glace_min)
[4420]56
[4803]57  REAL, SAVE, PROTECTED :: t_glace_max=273.15   ! upper-bound temperature parameter for cloud phase determination
[4535]58  !$OMP THREADPRIVATE(t_glace_max)
59
[4803]60  REAL, SAVE, PROTECTED :: exposant_glace=1.0   ! parameter for cloud phase determination
[4535]61  !$OMP THREADPRIVATE(exposant_glace)
62
[4803]63  INTEGER, SAVE, PROTECTED :: iflag_vice=0      ! which expression for ice crystall fall velocity
[4535]64  !$OMP THREADPRIVATE(iflag_vice)
65
[4803]66  INTEGER, SAVE, PROTECTED :: iflag_t_glace=0   ! which expression for cloud phase partitioning
[4535]67  !$OMP THREADPRIVATE(iflag_t_glace)
68
[5007]69  INTEGER, SAVE, PROTECTED :: iflag_cloudth_vert=0          ! option for determining cloud fraction and content in convective boundary layers
[4535]70  !$OMP THREADPRIVATE(iflag_cloudth_vert)
71
[5007]72  INTEGER, SAVE, PROTECTED :: iflag_gammasat=0              ! which threshold for homogeneous nucleation below -40oC
[4535]73  !$OMP THREADPRIVATE(iflag_gammasat)
74
[5007]75  INTEGER, SAVE, PROTECTED :: iflag_rain_incloud_vol=0      ! use of volume cloud fraction for rain autoconversion
[4535]76  !$OMP THREADPRIVATE(iflag_rain_incloud_vol)
77
[5007]78  INTEGER, SAVE, PROTECTED :: iflag_bergeron=0              ! bergeron effect for liquid precipitation treatment 
[4535]79  !$OMP THREADPRIVATE(iflag_bergeron)
80
[5007]81  INTEGER, SAVE, PROTECTED :: iflag_fisrtilp_qsat=0         ! qsat adjustment (iterative) during autoconversion
[4535]82  !$OMP THREADPRIVATE(iflag_fisrtilp_qsat)
83
[5007]84  INTEGER, SAVE, PROTECTED :: iflag_pdf=0                   ! type of subgrid scale qtot pdf
[4535]85  !$OMP THREADPRIVATE(iflag_pdf)
86
[5007]87  INTEGER, SAVE, PROTECTED :: iflag_icefrac=0               ! which phase partitioning function to use
88  !$OMP THREADPRIVATE(iflag_icefrac)
89
90  INTEGER, SAVE, PROTECTED :: iflag_autoconversion=0        ! autoconversion option
[4559]91  !$OMP THREADPRIVATE(iflag_autoconversion)
92
[5007]93
94  LOGICAL, SAVE, PROTECTED :: reevap_ice=.false.            ! no liquid precip for T< threshold
[4535]95  !$OMP THREADPRIVATE(reevap_ice)
96
[5007]97  REAL, SAVE, PROTECTED :: cld_lc_lsc=2.6e-4                ! liquid autoconversion coefficient, stratiform rain
[4535]98  !$OMP THREADPRIVATE(cld_lc_lsc)
99
[4803]100  REAL, SAVE, PROTECTED :: cld_lc_con=2.6e-4                ! liquid autoconversion coefficient, convective rain
[4535]101  !$OMP THREADPRIVATE(cld_lc_con)
102
[4803]103  REAL, SAVE, PROTECTED :: cld_tau_lsc=3600.                ! liquid autoconversion timescale, stratiform rain
[4535]104  !$OMP THREADPRIVATE(cld_tau_lsc)
105
[4803]106  REAL, SAVE, PROTECTED :: cld_tau_con=3600.                ! liquid autoconversion timescale, convective rain
[4535]107  !$OMP THREADPRIVATE(cld_tau_con)
108
[4803]109  REAL, SAVE, PROTECTED :: cld_expo_lsc=2.                  ! liquid autoconversion threshold exponent, stratiform rain
[4559]110  !$OMP THREADPRIVATE(cld_expo_lsc)
111
[4803]112  REAL, SAVE, PROTECTED :: cld_expo_con=2.                  ! liquid autoconversion threshold exponent, convective rain
[4559]113  !$OMP THREADPRIVATE(cld_expo_con)
114
[4803]115  REAL, SAVE, PROTECTED :: ffallv_lsc=1.                    ! tuning coefficient crystal fall velocity, stratiform
[4535]116  !$OMP THREADPRIVATE(ffallv_lsc)
117
[4803]118  REAL, SAVE, PROTECTED :: ffallv_con=1.                    ! tuning coefficient crystal fall velocity, convective
[4535]119  !$OMP THREADPRIVATE(ffallv_con)
120
[4803]121  REAL, SAVE, PROTECTED :: coef_eva=2e-5                    ! tuning coefficient liquid precip evaporation
[4535]122  !$OMP THREADPRIVATE(coef_eva)
123
[5007]124  REAL, SAVE, PROTECTED :: coef_sub                         ! tuning coefficient ice precip sublimation
[4830]125  !$OMP THREADPRIVATE(coef_sub)
[4535]126
[4803]127  REAL, SAVE, PROTECTED :: expo_eva=0.5                     ! tuning coefficient liquid precip evaporation
128  !$OMP THREADPRIVATE(expo_eva)
[4535]129
[5007]130  REAL, SAVE, PROTECTED :: expo_sub                         ! tuning coefficient ice precip sublimation
[4830]131  !$OMP THREADPRIVATE(expo_sub)
[4535]132
[4803]133  REAL, SAVE, PROTECTED :: cice_velo=1.645                  ! factor in the ice fall velocity formulation
134  !$OMP THREADPRIVATE(cice_velo)
135
136  REAL, SAVE, PROTECTED ::  dice_velo=0.16                  ! exponent in the ice fall velocity formulation
137  !$OMP THREADPRIVATE(dice_velo)
138
139  REAL, SAVE, PROTECTED :: dist_liq=300.                    ! typical deph of cloud-top liquid layer in mpcs
[4562]140  !$OMP THREADPRIVATE(dist_liq)
[4535]141
[4803]142  REAL, SAVE, PROTECTED    :: tresh_cl=0.0                  ! cloud fraction threshold for cloud top search
[4562]143  !$OMP THREADPRIVATE(tresh_cl)
144
[4803]145  !--Parameters for poprecip
146  LOGICAL, SAVE, PROTECTED :: ok_poprecip=.FALSE.           ! use the processes-oriented formulation of precipitations
147  !$OMP THREADPRIVATE(ok_poprecip)
148
[4913]149  LOGICAL, SAVE, PROTECTED :: ok_corr_vap_evasub=.FALSE.    ! use the corrected version of clear-sky water vapor for the evap / subl processes
150  !$OMP THREADPRIVATE(ok_corr_vap_evasub)
151
[4898]152  REAL, SAVE, PROTECTED :: cld_lc_lsc_snow=2.e-5            ! snow autoconversion coefficient, stratiform. default from  Chaboureau and PInty 2006
[4830]153  !$OMP THREADPRIVATE(cld_lc_lsc_snow)
154
[4898]155  REAL, SAVE, PROTECTED :: cld_lc_con_snow=2.e-5            ! snow autoconversion coefficient, convective
[4830]156  !$OMP THREADPRIVATE(cld_lc_con_snow)
157
[4885]158  REAL, SAVE, PROTECTED :: rain_int_min=1.e-5               ! Minimum local rain intensity [mm/s] before the decrease in associated precipitation fraction
[4803]159  !$OMP THREADPRIVATE(rain_int_min)
160
161  REAL, SAVE, PROTECTED :: thresh_precip_frac=1.E-6         ! precipitation fraction threshold TODO [-]
162  !$OMP THREADPRIVATE(thresh_precip_frac)
163
[5007]164  REAL, SAVE, PROTECTED :: tau_mixenv=100000                ! Homogeneization time of mixed phase clouds [s]
165  !$OMP THREADPRIVATE(tau_mixenv)
166
167    REAL, SAVE, PROTECTED :: capa_crystal=1.                ! Sursaturation of ice part in mixed phase clouds [-]
168  !$OMP THREADPRIVATE(capa_crystal)
169
170  REAL, SAVE, PROTECTED :: lmix_mpc=1000                    ! Length of turbulent zones in Mixed Phase Clouds [m]
171  !$OMP THREADPRIVATE(lmix_mpc)
172
173  REAL, SAVE, PROTECTED :: naero5=0.5                       ! Number concentration of aerosol larger than 0.5 microns [scm-3]
174  !$OMP THREADPRIVATE(naero5)
175
176  REAL, SAVE, PROTECTED :: gamma_snwretro = 0.              ! Proportion of snow taken into account in ice retroaction in icefrac_turb [-]
177  !$OMP THREADPRIVATE(gamma_snwretro)
178
179  REAL, SAVE, PROTECTED :: gamma_taud = 1.                  ! Tuning coeff for tau_dissipturb [-]
180  !$OMP THREADPRIVATE(gamma_taud)
181
[4803]182  REAL, SAVE, PROTECTED :: gamma_col=1.                     ! A COMMENTER TODO [-]
183  !$OMP THREADPRIVATE(gamma_col)
184
185  REAL, SAVE, PROTECTED :: gamma_agg=1.                     ! A COMMENTER TODO [-]
186  !$OMP THREADPRIVATE(gamma_agg)
187
188  REAL, SAVE, PROTECTED :: gamma_rim=1.                     ! A COMMENTER TODO [-]
189  !$OMP THREADPRIVATE(gamma_rim)
190
[5007]191  REAL, SAVE, PROTECTED :: rho_rain=1000.                   ! Rain density [kg/m3]
[4803]192  !$OMP THREADPRIVATE(rho_rain)
193
[5007]194  REAL, SAVE, PROTECTED :: rho_ice=920.                     ! Ice density  [kg/m3]
[4832]195  !$OMP THREADPRIVATE(rho_ice)
196
[5007]197  REAL, SAVE, PROTECTED :: r_rain=500.E-6                   ! Rain droplets radius for POPRECIP [m]
[4803]198  !$OMP THREADPRIVATE(r_rain)
199
[5007]200  REAL, SAVE, PROTECTED :: r_snow=1.E-3                     ! Ice crystals radius for POPRECIP [m]
[4803]201  !$OMP THREADPRIVATE(r_snow)
202
[5007]203  REAL, SAVE, PROTECTED :: tau_auto_snow_min=100.           ! A COMMENTER TODO [s]
[4803]204  !$OMP THREADPRIVATE(tau_auto_snow_min)
205
[4830]206  REAL, SAVE, PROTECTED :: tau_auto_snow_max=1000.          ! A COMMENTER TODO [s]
[4803]207  !$OMP THREADPRIVATE(tau_auto_snow_max)
208
209  REAL, SAVE, PROTECTED :: eps=1.E-10                       ! A COMMENTER TODO [-]
210  !$OMP THREADPRIVATE(eps)
[4818]211
[5007]212  REAL, SAVE, PROTECTED :: gamma_melt=1.                    ! A COMMENTER TODO [-]
[4895]213  !$OMP THREADPRIVATE(gamma_melt)
[4818]214
[5007]215  REAL, SAVE, PROTECTED :: alpha_freez=4.                   ! A COMMENTER TODO [-]
[4818]216  !$OMP THREADPRIVATE(alpha_freez)
217
[5007]218  REAL, SAVE, PROTECTED :: beta_freez=0.1                   ! A COMMENTER TODO [m-3.s-1]
[4830]219  !$OMP THREADPRIVATE(beta_freez)
220
[5007]221  REAL, SAVE, PROTECTED :: gamma_freez=1.                   ! A COMMENTER TODO [-]
[4818]222  !$OMP THREADPRIVATE(gamma_freez)
[4830]223
[5007]224  REAL, SAVE, PROTECTED :: rain_fallspeed=4.                ! A COMMENTER TODO [m/s]
[4830]225  !$OMP THREADPRIVATE(rain_fallspeed)
226
[5007]227  REAL, SAVE, PROTECTED :: rain_fallspeed_clr                ! A COMMENTER TODO [m/s]
[4830]228  !$OMP THREADPRIVATE(rain_fallspeed_clr)
229
[5007]230  REAL, SAVE, PROTECTED :: rain_fallspeed_cld               ! A COMMENTER TODO [m/s]
[4830]231  !$OMP THREADPRIVATE(rain_fallspeed_cld)
232
[5007]233  REAL, SAVE, PROTECTED :: snow_fallspeed=1.               ! A COMMENTER TODO [m/s]
[4830]234  !$OMP THREADPRIVATE(snow_fallspeed)
235
[5007]236  REAL, SAVE, PROTECTED :: snow_fallspeed_clr               ! A COMMENTER TODO [m/s]
[4830]237  !$OMP THREADPRIVATE(snow_fallspeed_clr)
238
[5007]239  REAL, SAVE, PROTECTED :: snow_fallspeed_cld               ! A COMMENTER TODO [m/s]
[4830]240  !$OMP THREADPRIVATE(snow_fallspeed_cld)
[4803]241  !--End of the parameters for poprecip
242
[4666]243! Two parameters used for lmdz_lscp_old only
[4803]244  INTEGER, SAVE, PROTECTED :: iflag_oldbug_fisrtilp=0, fl_cor_ebil
[4666]245  !$OMP THREADPRIVATE(iflag_oldbug_fisrtilp,fl_cor_ebil)
246
[4380]247CONTAINS
248
[4666]249SUBROUTINE 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, &
[5007]250                    RVTMP2_in, RTT_in,RD_in,RG_in,RV_in,RPI_in)
[4380]251
252
253   USE ioipsl_getin_p_mod, ONLY : getin_p
254   USE ice_sursat_mod, ONLY: ice_sursat_init
[4651]255   USE lmdz_cloudth_ini, ONLY : cloudth_ini
[4380]256
257   REAL, INTENT(IN)      :: dtime
[4666]258   INTEGER, INTENT(IN)   :: lunout_in,prt_level_in,iflag_ratqs,fl_cor_ebil_in
259   LOGICAL, INTENT(IN)   :: ok_ice_sursat
[4380]260
[4535]261   REAL, INTENT(IN)      :: RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in
[5007]262   REAL, INTENT(IN)      ::  RVTMP2_in, RTT_in, RD_in, RG_in, RV_in, RPI_in
[4559]263   character (len=20) :: modname='lscp_ini_mod'
264   character (len=80) :: abort_message
[4535]265
266
[4666]267    lunout=lunout_in
268    prt_level=prt_level_in
269    fl_cor_ebil=fl_cor_ebil_in
270
[4535]271    RG=RG_in
272    RD=RD_in
273    RCPD=RCPD_in
274    RLVTT=RLVTT_in
275    RLSTT=RLSTT_in
276    RLMLT=RLMLT_in
277    RTT=RTT_in
[5007]278    RV=RV_in
[4535]279    RVTMP2=RVTMP2_in
[4818]280    RPI=RPI_in
[4535]281
282
283
[4559]284    CALL getin_p('niter_lscp',niter_lscp)
[4380]285    CALL getin_p('iflag_evap_prec',iflag_evap_prec)
286    CALL getin_p('seuil_neb',seuil_neb)
[4420]287    CALL getin_p('ok_radocond_snow',ok_radocond_snow)
[4535]288    CALL getin_p('t_glace_max',t_glace_max)
289    CALL getin_p('t_glace_min',t_glace_min)
290    CALL getin_p('exposant_glace',exposant_glace)
291    CALL getin_p('iflag_vice',iflag_vice)
292    CALL getin_p('iflag_t_glace',iflag_t_glace)
293    CALL getin_p('iflag_cloudth_vert',iflag_cloudth_vert)
294    CALL getin_p('iflag_gammasat',iflag_gammasat)
295    CALL getin_p('iflag_rain_incloud_vol',iflag_rain_incloud_vol)
296    CALL getin_p('iflag_bergeron',iflag_bergeron)
297    CALL getin_p('iflag_fisrtilp_qsat',iflag_fisrtilp_qsat)
298    CALL getin_p('iflag_pdf',iflag_pdf)
[5007]299    CALL getin_p('iflag_icefrac',iflag_icefrac)
[4535]300    CALL getin_p('reevap_ice',reevap_ice)
301    CALL getin_p('cld_lc_lsc',cld_lc_lsc)
302    CALL getin_p('cld_lc_con',cld_lc_con)
[4830]303    CALL getin_p('cld_lc_lsc_snow',cld_lc_lsc_snow)
304    CALL getin_p('cld_lc_con_snow',cld_lc_con_snow)
[4535]305    CALL getin_p('cld_tau_lsc',cld_tau_lsc)
306    CALL getin_p('cld_tau_con',cld_tau_con)
[4559]307    CALL getin_p('cld_expo_lsc',cld_expo_lsc)
308    CALL getin_p('cld_expo_con',cld_expo_con)
[4535]309    CALL getin_p('ffallv_lsc',ffallv_lsc)
310    CALL getin_p('ffallv_lsc',ffallv_con)
311    CALL getin_p('coef_eva',coef_eva)
[4830]312    coef_sub=coef_eva
313    CALL getin_p('coef_eva_i',coef_sub)
314    CALL getin_p('coef_sub',coef_sub)
[4803]315    CALL getin_p('expo_eva',expo_eva)
[4830]316    expo_sub=expo_eva
317    CALL getin_p('expo_sub',expo_sub)
[4559]318    CALL getin_p('iflag_autoconversion',iflag_autoconversion)
[4562]319    CALL getin_p('dist_liq',dist_liq)
320    CALL getin_p('tresh_cl',tresh_cl)
[5007]321    CALL getin_p('tau_mixenv',tau_mixenv)
322    CALL getin_p('capa_crystal',capa_crystal)
323    CALL getin_p('lmix_mpc',lmix_mpc)
324    CALL getin_p('naero5',naero5)
325    CALL getin_p('gamma_snwretro',gamma_snwretro)
326    CALL getin_p('gamma_taud',gamma_taud)
[4666]327    CALL getin_p('iflag_oldbug_fisrtilp',iflag_oldbug_fisrtilp)
[4803]328    CALL getin_p('ok_poprecip',ok_poprecip)
[4913]329    CALL getin_p('ok_corr_vap_evasub',ok_corr_vap_evasub)
[4803]330    CALL getin_p('rain_int_min',rain_int_min)
331    CALL getin_p('gamma_agg',gamma_agg)
332    CALL getin_p('gamma_col',gamma_col)
[4818]333    CALL getin_p('gamma_rim',gamma_rim)
[4830]334    CALL getin_p('gamma_freez',gamma_freez)
[4895]335    CALL getin_p('gamma_melt',gamma_melt)
[4830]336    CALL getin_p('r_snow',r_snow)
337    CALL getin_p('rain_fallspeed',rain_fallspeed)
338    rain_fallspeed_clr=rain_fallspeed
339    rain_fallspeed_cld=rain_fallspeed
340    CALL getin_p('rain_fallspeed_clr',rain_fallspeed_clr)
341    CALL getin_p('rain_fallspeed_cld',rain_fallspeed_cld)
342    CALL getin_p('snow_fallspeed',snow_fallspeed)
343    snow_fallspeed_clr=snow_fallspeed
344    snow_fallspeed_cld=snow_fallspeed
345    CALL getin_p('snow_fallspeed_clr',snow_fallspeed_clr)
346    CALL getin_p('snow_fallspeed_cld',snow_fallspeed_cld)
[4535]347
348
349
[4666]350    WRITE(lunout,*) 'lscp_ini, niter_lscp:', niter_lscp
351    WRITE(lunout,*) 'lscp_ini, iflag_evap_prec:', iflag_evap_prec
352    WRITE(lunout,*) 'lscp_ini, seuil_neb:', seuil_neb
353    WRITE(lunout,*) 'lscp_ini, ok_radocond_snow:', ok_radocond_snow
354    WRITE(lunout,*) 'lscp_ini, t_glace_max:', t_glace_max
355    WRITE(lunout,*) 'lscp_ini, t_glace_min:', t_glace_min
356    WRITE(lunout,*) 'lscp_ini, exposant_glace:', exposant_glace
357    WRITE(lunout,*) 'lscp_ini, iflag_vice:', iflag_vice
358    WRITE(lunout,*) 'lscp_ini, iflag_t_glace:', iflag_t_glace
359    WRITE(lunout,*) 'lscp_ini, iflag_cloudth_vert:', iflag_cloudth_vert
360    WRITE(lunout,*) 'lscp_ini, iflag_gammasat:', iflag_gammasat
361    WRITE(lunout,*) 'lscp_ini, iflag_rain_incloud_vol:', iflag_rain_incloud_vol
362    WRITE(lunout,*) 'lscp_ini, iflag_bergeron:', iflag_bergeron
363    WRITE(lunout,*) 'lscp_ini, iflag_fisrtilp_qsat:', iflag_fisrtilp_qsat
364    WRITE(lunout,*) 'lscp_ini, iflag_pdf', iflag_pdf
[5007]365    WRITE(lunout,*) 'lscp_ini, iflag_icefrac', iflag_icefrac
[4666]366    WRITE(lunout,*) 'lscp_ini, reevap_ice', reevap_ice
367    WRITE(lunout,*) 'lscp_ini, cld_lc_lsc', cld_lc_lsc
368    WRITE(lunout,*) 'lscp_ini, cld_lc_con', cld_lc_con
[4830]369    WRITE(lunout,*) 'lscp_ini, cld_lc_lsc_snow', cld_lc_lsc_snow
370    WRITE(lunout,*) 'lscp_ini, cld_lc_con_snow', cld_lc_con_snow
[4666]371    WRITE(lunout,*) 'lscp_ini, cld_tau_lsc', cld_tau_lsc
372    WRITE(lunout,*) 'lscp_ini, cld_tau_con', cld_tau_con
373    WRITE(lunout,*) 'lscp_ini, cld_expo_lsc', cld_expo_lsc
374    WRITE(lunout,*) 'lscp_ini, cld_expo_con', cld_expo_con
375    WRITE(lunout,*) 'lscp_ini, ffallv_lsc', ffallv_lsc
376    WRITE(lunout,*) 'lscp_ini, ffallv_con', ffallv_con
377    WRITE(lunout,*) 'lscp_ini, coef_eva', coef_eva
[4830]378    WRITE(lunout,*) 'lscp_ini, coef_sub', coef_sub
[4803]379    WRITE(lunout,*) 'lscp_ini, expo_eva', expo_eva
[4830]380    WRITE(lunout,*) 'lscp_ini, expo_sub', expo_sub
[4666]381    WRITE(lunout,*) 'lscp_ini, iflag_autoconversion', iflag_autoconversion
382    WRITE(lunout,*) 'lscp_ini, dist_liq', dist_liq
383    WRITE(lunout,*) 'lscp_ini, tresh_cl', tresh_cl
[5007]384    WRITE(lunout,*) 'lscp_ini, tau_mixenv', tau_mixenv
385    WRITE(lunout,*) 'lscp_ini, capa_crystal', capa_crystal
386    WRITE(lunout,*) 'lscp_ini, lmix_mpc', lmix_mpc
387    WRITE(lunout,*) 'lscp_ini, naero5', naero5
388    WRITE(lunout,*) 'lscp_ini, gamma_snwretro', gamma_snwretro
389    WRITE(lunout,*) 'lscp_ini, gamma_taud', gamma_taud
[4666]390    WRITE(lunout,*) 'lscp_ini, iflag_oldbug_fisrtilp', iflag_oldbug_fisrtilp
391    WRITE(lunout,*) 'lscp_ini, fl_cor_ebil', fl_cor_ebil
[4803]392    WRITE(lunout,*) 'lscp_ini, ok_poprecip', ok_poprecip
[4913]393    WRITE(lunout,*) 'lscp_ini, ok_corr_vap_evasub', ok_corr_vap_evasub
[4803]394    WRITE(lunout,*) 'lscp_ini, rain_int_min:', rain_int_min
395    WRITE(lunout,*) 'lscp_ini, gamma_agg:', gamma_agg
396    WRITE(lunout,*) 'lscp_ini, gamma_col:', gamma_col
[4818]397    WRITE(lunout,*) 'lscp_ini, gamma_rim:', gamma_rim
[4830]398    WRITE(lunout,*) 'lscp_ini, gamma_freez:', gamma_freez
[4895]399    WRITE(lunout,*) 'lscp_ini, gamma_melt:', gamma_melt
[4830]400    WRITE(lunout,*) 'lscp_ini, r_snow:', r_snow
401    WRITE(lunout,*) 'lscp_ini, rain_fallspeed_clr:', rain_fallspeed_clr
402    WRITE(lunout,*) 'lscp_ini, rain_fallspeed_cld:', rain_fallspeed_cld
403    WRITE(lunout,*) 'lscp_ini, snow_fallspeed_clr:', snow_fallspeed_clr
404    WRITE(lunout,*) 'lscp_ini, snow_fallspeed_cld:', snow_fallspeed_cld
[4420]405
[4535]406
407
408
409
[4380]410    ! check for precipitation sub-time steps
[4559]411    IF (ABS(dtime/REAL(niter_lscp)-360.0).GT.0.001) THEN
[4380]412        WRITE(lunout,*) 'lscp: it is not expected, see Z.X.Li', dtime
413        WRITE(lunout,*) 'I would prefer a 6 min sub-timestep'
414    ENDIF
415
[4559]416    ! check consistency between numerical resolution of autoconversion
417    ! and other options
418   
419    IF (iflag_autoconversion .EQ. 2) THEN
420        IF ((iflag_vice .NE. 0) .OR. (niter_lscp .GT. 1)) THEN
421           abort_message = 'in lscp, iflag_autoconversion=2 requires iflag_vice=0 and niter_lscp=1'
422           CALL abort_physic (modname,abort_message,1)
423        ENDIF
424    ENDIF
[4380]425
[4559]426
[4380]427    !AA Temporary initialisation
428    a_tr_sca(1) = -0.5
429    a_tr_sca(2) = -0.5
430    a_tr_sca(3) = -0.5
431    a_tr_sca(4) = -0.5
432   
433    IF (ok_ice_sursat) CALL ice_sursat_init()
434
[4651]435    CALL cloudth_ini(iflag_cloudth_vert,iflag_ratqs)
[4380]436
[4654]437RETURN
[4380]438
[4654]439END SUBROUTINE lscp_ini
440
[4664]441END MODULE lmdz_lscp_ini
Note: See TracBrowser for help on using the repository browser.