source: LMDZ6/branches/contrails/libf/phylmd/conf_phys_m.f90 @ 5779

Last change on this file since 5779 was 5717, checked in by aborella, 5 months ago

Merge with trunk r5653

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 95.2 KB
Line 
1!
2! $Id: conf_phys.F90 1668 2012-10-12 10:47:37Z idelkadi $
3!
4!
5!
6MODULE conf_phys_m
7
8  USE clesphys_mod_h
9    IMPLICIT NONE
10
11CONTAINS
12
13  SUBROUTINE conf_phys(ok_journe, ok_mensuel, ok_instan, ok_hf, &
14       ok_LES,&
15       callstats,&
16       solarlong0,seuil_inversion, &
17       fact_cldcon, facttemps,ok_newmicro,iflag_radia,&
18       iflag_cld_th, &
19       ratqsbas,ratqshaut,tau_ratqs, &
20       ok_ade, ok_aie, ok_alw, ok_cdnc, ok_volcan, flag_volc_surfstrat, aerosol_couple, &
21       chemistry_couple, flag_aerosol, flag_aerosol_strat, flag_aer_feedback, &
22       flag_bc_internal_mixture, bl95_b0, bl95_b1,&
23       read_climoz, &
24       alp_offset)
25
26USE yoegwd_mod_h
27    USE yomcst2_mod_h
28        USE compbl_mod_h
29    USE alpale_mod
30    USE conema3_mod_h
31    USE yomcst_mod_h
32    USE IOIPSL
33    USE surface_data
34    USE phys_cal_mod
35    USE carbon_cycle_mod,  ONLY: carbon_cycle_tr, carbon_cycle_cpl, carbon_cycle_rad, level_coupling_esm
36    USE carbon_cycle_mod,  ONLY: read_fco2_ocean_cor,var_fco2_ocean_cor
37    USE carbon_cycle_mod,  ONLY: read_fco2_land_cor,var_fco2_land_cor
38    USE chemistry_cycle_mod, ONLY: dms_cycle_cpl, n2o_cycle_cpl
39    USE mod_grid_phy_lmdz, ONLY: klon_glo
40    USE print_control_mod, ONLY: lunout
41    use config_ocean_skin_m, only: config_ocean_skin
42    USE phys_state_var_mod, ONLY: phys_tstep
43    USE infotrac_phy, ONLY: type_trac
44    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER
45    USE comsoil_mod_h
46    USE nuage_params_mod_h
47
48    !
49    ! Configuration de la "physique" de LMDZ a l'aide de la fonction
50    ! GETIN de IOIPSL
51    !
52    ! LF 05/2001
53    !
54    ! type_ocean:      type d'ocean (force, slab, couple)
55    ! version_ocean:   version d'ocean (opa8/nemo pour type_ocean=couple ou
56    !                                   sicOBS,sicINT,sicNO pour type_ocean=slab)
57    ! ok_veget:   type de modele de vegetation
58    ! ok_journe:  sorties journalieres
59    ! ok_hf:  sorties haute frequence
60    ! ok_mensuel: sorties mensuelles
61    ! ok_instan:  sorties instantanees
62    ! ok_ade, ok_aie: apply or not aerosol direct and indirect effects
63    ! ok_alw: activate aerosol LW effect
64    ! ok_cdnc, ok cloud droplet number concentration
65    ! flag_aerosol_strat : flag pour les aerosols stratos
66    ! flag_bc_internal_mixture : use BC internal mixture if true
67    ! bl95_b*: parameters in the formula to link CDNC to aerosol mass conc
68    ! ok_volcan: activate volcanic diags (SW heat & LW cool rate, SW & LW flux)
69    ! flag_volc_surfstrat: VolMIP flag, activate forcing surface cooling rate (=1), strato heating rate (=2) or nothing (=0, default)
70    !
71
72    ! Sortie:
73    LOGICAL              :: ok_newmicro
74    INTEGER              :: iflag_radia
75    LOGICAL              :: ok_journe, ok_mensuel, ok_instan, ok_hf
76    LOGICAL              :: ok_LES
77    LOGICAL              :: callstats
78    LOGICAL              :: ok_ade, ok_aie, ok_alw, ok_cdnc, ok_volcan
79    LOGICAL              :: aerosol_couple, chemistry_couple
80    INTEGER              :: flag_aerosol
81    INTEGER              :: flag_aerosol_strat
82    INTEGER              :: flag_volc_surfstrat
83    LOGICAL              :: flag_aer_feedback
84    LOGICAL              :: flag_bc_internal_mixture
85    REAL                 :: bl95_b0, bl95_b1
86    REAL                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut,tau_ratqs
87    INTEGER              :: iflag_cld_th
88     
89
90    CHARACTER (len = 6), SAVE  :: type_ocean_omp, version_ocean_omp, ocean_omp
91    CHARACTER (len = 10),SAVE  :: type_veget_omp
92    CHARACTER (len = 8), SAVE  :: aer_type_omp
93    INTEGER, SAVE       :: landice_opt_omp
94    INTEGER, SAVE       :: iflag_tsurf_inlandsis_omp,iflag_temp_inlandsis_omp
95    INTEGER, SAVE       :: iflag_albcalc_omp,iflag_z0m_snow_omp   
96    LOGICAL, SAVE       :: SnoMod_omp,BloMod_omp,ok_outfor_omp,ok_zsn_ii_omp
97    LOGICAL, SAVE       :: discret_xf_omp,opt_runoff_ac_omp 
98    LOGICAL, SAVE       :: is_ok_slush_omp,is_ok_z0h_rn_omp,is_ok_density_kotlyakov_omp
99    REAL, SAVE          :: prescribed_z0m_snow_omp,correc_alb_omp
100    REAL, SAVE          :: buf_sph_pol_omp,buf_siz_pol_omp
101    LOGICAL, SAVE       :: ok_newmicro_omp
102    LOGICAL, SAVE       :: ok_all_xml_omp
103    LOGICAL, SAVE       :: ok_lwoff_omp
104    LOGICAL, SAVE       :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp       
105    LOGICAL, SAVE       :: ok_LES_omp   
106    LOGICAL, SAVE       :: callstats_omp
107    LOGICAL, SAVE       :: ok_ade_omp, ok_aie_omp, ok_alw_omp, ok_cdnc_omp, ok_volcan_omp
108    LOGICAL, SAVE       :: aerosol_couple_omp, chemistry_couple_omp
109    INTEGER, SAVE       :: flag_aerosol_omp
110    INTEGER, SAVE       :: flag_aerosol_strat_omp
111    INTEGER, SAVE       :: flag_volc_surfstrat_omp
112    LOGICAL, SAVE       :: flag_aer_feedback_omp
113    LOGICAL, SAVE       :: flag_bc_internal_mixture_omp
114    REAL,SAVE           :: bl95_b0_omp, bl95_b1_omp
115    REAL,SAVE           :: freq_ISCCP_omp, ecrit_ISCCP_omp
116    REAL,SAVE           :: freq_COSP_omp, freq_AIRS_omp
117    REAL,SAVE           :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp
118    REAL,SAVE           :: tau_cld_cv_omp, coefw_cld_cv_omp
119    INTEGER, SAVE       :: iflag_cld_cv_omp
120
121    REAL, SAVE          :: ratqshaut_omp
122    REAL, SAVE          :: tau_ratqs_omp
123    REAL, SAVE          :: t_coupl_omp
124    INTEGER, SAVE       :: iflag_radia_omp
125    INTEGER, SAVE       :: iflag_rrtm_omp
126    INTEGER, SAVE       :: iflag_albedo_omp !albedo SB
127    LOGICAL, SAVE       :: ok_chlorophyll_omp ! albedo SB 
128    INTEGER, SAVE       :: NSW_omp
129    INTEGER, SAVE       :: iflag_cld_th_omp, ip_ebil_phy_omp
130    INTEGER, SAVE       :: iflag_ratqs_omp
131
132    REAL, SAVE          :: f_cdrag_ter_omp,f_cdrag_oce_omp
133    REAL, SAVE          :: f_rugoro_omp   , z0min_omp
134    REAL, SAVE          :: z0m_seaice_omp,z0h_seaice_omp
135    REAL, SAVE          :: z0m_landice_omp,ratio_z0hz0m_landice_omp
136    REAL, SAVE          :: min_wind_speed_omp,f_gust_wk_omp,f_gust_bl_omp,f_qsat_oce_omp, f_z0qh_oce_omp
137    INTEGER, SAVE       :: iflag_gusts_omp,iflag_z0_oce_omp
138
139    REAL :: seuil_inversion
140    REAL,SAVE :: seuil_inversion_omp
141
142    INTEGER,SAVE :: iflag_thermals_omp,nsplit_thermals_omp
143    REAL,SAVE :: tau_thermals_omp,alp_bl_k_omp
144    ! nrlmd le 10/04/2012
145    INTEGER,SAVE :: iflag_trig_bl_omp,iflag_clos_bl_omp,iflag_strig_omp
146    INTEGER,SAVE :: tau_trig_shallow_omp,tau_trig_deep_omp
147    REAL,SAVE    :: s_trig_omp,h_trig_omp
148    ! fin nrlmd le 10/04/2012
149    REAL :: alp_offset
150    REAL, SAVE :: alp_offset_omp
151    INTEGER,SAVE :: iflag_coupl_omp,iflag_clos_omp,iflag_wake_omp
152    INTEGER,SAVE :: iflag_cvl_sigd_omp
153    REAL, SAVE :: coef_clos_ls_omp
154    REAL, SAVE :: supcrit1_omp, supcrit2_omp
155    INTEGER, SAVE :: iflag_mix_omp
156    INTEGER, SAVE :: iflag_mix_adiab_omp
157    REAL, SAVE :: scut_omp, qqa1_omp, qqa2_omp, gammas_omp, Fmax_omp, alphas_omp
158    REAL, SAVE :: tmax_fonte_cv_omp
159
160    REAL,SAVE :: R_ecc_omp,R_peri_omp,R_incl_omp,solaire_omp
161    REAL,SAVE :: solaire_omp_init
162    LOGICAL,SAVE :: ok_suntime_rrtm_omp
163    REAL,SAVE :: co2_ppm_omp, RCO2_omp, co2_ppm_per_omp, RCO2_per_omp
164    REAL,SAVE :: co2_ppm0_omp
165    REAL,SAVE :: CH4_ppb_omp, RCH4_omp, CH4_ppb_per_omp, RCH4_per_omp
166    REAL,SAVE :: N2O_ppb_omp, RN2O_omp, N2O_ppb_per_omp, RN2O_per_omp
167    REAL,SAVE :: CFC11_ppt_omp,RCFC11_omp,CFC11_ppt_per_omp,RCFC11_per_omp
168    REAL,SAVE :: CFC12_ppt_omp,RCFC12_omp,CFC12_ppt_per_omp,RCFC12_per_omp
169    REAL,SAVE :: epmax_omp
170    REAL,SAVE :: coef_epmax_cape_omp
171    LOGICAL,SAVE :: ok_adj_ema_omp
172    INTEGER,SAVE :: iflag_clw_omp
173    INTEGER,SAVE :: iflag_ice_thermo_omp
174    LOGICAL,SAVE :: ok_ice_supersat_omp, ok_no_issr_strato_omp
175    LOGICAL,SAVE :: ok_plane_h2o_omp, ok_plane_contrail_omp, ok_rad_contrail_omp
176    REAL,SAVE :: rad_froid_omp, rad_chau1_omp, rad_chau2_omp
177    INTEGER,SAVE :: iflag_sic_omp, iflag_inertie_omp
178    REAL,SAVE :: inertie_sol_omp,inertie_sno_omp,inertie_sic_omp
179    REAL,SAVE :: inertie_lic_omp
180    REAL,SAVE :: qsol0_omp
181    REAL,SAVE :: evap0_omp
182    REAL,SAVE :: albsno0_omp
183    REAL      :: solarlong0
184    REAL,SAVE :: solarlong0_omp
185    INTEGER,SAVE :: top_height_omp,overlap_omp
186    REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp,f_ri_cd_min_omp
187    LOGICAL,SAVE :: ok_kzmin_omp
188    REAL, SAVE ::  fmagic_omp, pmagic_omp
189    INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp
190    INTEGER,SAVE :: iflag_pbl_split_omp,iflag_physiq_omp
191!FC
192    INTEGER,SAVE :: ifl_pbltree_omp
193    REAL,SAVE :: Cd_frein_omp
194!FC
195!AM
196    INTEGER,SAVE :: iflag_hetero_surf_omp
197    INTEGER,SAVE :: iflag_order2_sollw_omp
198    INTEGER, SAVE :: lev_histins_omp, lev_histLES_omp
199    INTEGER, SAVE :: lev_histdayNMC_omp
200    INTEGER, SAVE :: levout_histNMC_omp(3)
201    LOGICAL, SAVE :: ok_histNMC_omp(3)
202    REAL, SAVE    :: freq_outNMC_omp(3), freq_calNMC_omp(3)
203    CHARACTER*4, SAVE :: type_run_omp
204    LOGICAL, SAVE :: ok_cosp_omp, ok_airs_omp
205    LOGICAL, SAVE :: ok_mensuelCOSP_omp,ok_journeCOSP_omp,ok_hfCOSP_omp
206    REAL, SAVE    :: lonmin_ins_omp, lonmax_ins_omp, latmin_ins_omp, latmax_ins_omp
207    REAL, SAVE    :: ecrit_hf_omp, ecrit_day_omp, ecrit_mth_omp, ecrit_reg_omp
208    REAL, SAVE    :: ecrit_ins_omp
209    REAL, SAVE    :: ecrit_LES_omp
210    REAL, SAVE    :: ecrit_tra_omp
211    REAL, SAVE    :: cvl_comp_threshold_omp
212    REAL, SAVE    :: cvl_sig2feed_omp
213    REAL, SAVE    :: cvl_corr_omp
214    LOGICAL, SAVE :: ok_lic_melt_omp
215    LOGICAL, SAVE :: ok_lic_cond_omp
216    !
217    REAL, SAVE    :: nm_oro_t_omp, zstd_orodr_t_omp
218    REAL, SAVE    :: zpmm_orodr_t_omp, zpmm_orolf_t_omp
219    INTEGER, SAVE :: iflag_cycle_diurne_omp
220    LOGICAL, SAVE :: soil_model_omp,liqice_in_radocond_omp
221    LOGICAL, SAVE :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp
222    INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp
223    INTEGER, SAVE :: nbapp_cv_omp, nbapp_wk_omp
224    INTEGER, SAVE :: iflag_ener_conserv_omp
225    LOGICAL, SAVE :: ok_conserv_q_omp
226    LOGICAL,SAVE  :: ok_strato_omp
227    LOGICAL,SAVE  :: ok_hines_omp, ok_gwd_rando_omp
228    REAL, SAVE    :: gwd_rando_ruwmax_omp, gwd_rando_sat_omp
229    REAL, SAVE    :: gwd_front_ruwmax_omp, gwd_front_sat_omp
230    REAL, SAVE    :: sso_gkdrag_omp,sso_grahil_omp,sso_grcrit_omp
231    REAL, SAVE    :: sso_gfrcri_omp,sso_gkwake_omp,sso_gklift_omp
232    LOGICAL, SAVE :: ok_qch4_omp
233    LOGICAL, SAVE :: carbon_cycle_tr_omp
234    LOGICAL, SAVE :: carbon_cycle_cpl_omp
235    LOGICAL, SAVE :: carbon_cycle_rad_omp
236    LOGICAL, SAVE :: dms_cycle_cpl_omp, n2o_cycle_cpl_omp
237    INTEGER, SAVE :: level_coupling_esm_omp
238    LOGICAL, SAVE :: read_fco2_ocean_cor_omp
239    REAL, SAVE    :: var_fco2_ocean_cor_omp
240    LOGICAL, SAVE :: read_fco2_land_cor_omp
241    REAL, SAVE    :: var_fco2_land_cor_omp
242    LOGICAL, SAVE :: adjust_tropopause_omp
243    LOGICAL, SAVE :: ok_daily_climoz_omp
244    LOGICAL, SAVE :: ok_new_lscp_omp
245    LOGICAL, SAVE :: ok_icefra_lscp_omp
246    !rajout de choix_bulk et nit_bulk par Olivier Torres
247    INTEGER,SAVE  :: choix_bulk_omp
248    INTEGER,SAVE  :: nit_bulk_omp
249    INTEGER,SAVE  :: kz0_omp
250    LOGICAL, SAVE :: ok_bs_omp, ok_rad_bs_omp
251    LOGICAL, SAVE :: ok_mass_dtcon_omp, ok_mass_dqcon_omp, ok_mass_duvcon_omp
252
253    INTEGER, INTENT(OUT):: read_climoz ! read ozone climatology, OpenMP shared
254    ! Allowed values are 0, 1 and 2
255    ! 0: do not read an ozone climatology
256    ! 1: read a single ozone climatology that will be used day and night
257    ! 2: read two ozone climatologies, the average day and night
258    ! climatology and the daylight climatology
259
260    !-----------------------------------------------------------------
261
262    print*,'CONFPHYS ENTREE'
263    !$OMP MASTER
264    !Config Key  = type_ocean
265    !Config Desc = Type d'ocean
266    !Config Def  = force
267    !Config Help = Type d'ocean utilise: force, slab,couple
268    !
269    type_ocean_omp = 'force '
270    CALL getin('type_ocean', type_ocean_omp)
271    !
272    !Config Key  = version_ocean
273    !Config Desc = Version d'ocean
274    !Config Def  = xxxxxx
275    !Config Help = Version d'ocean utilise: opa8/nemo/sicOBS/xxxxxx
276    !
277    version_ocean_omp = 'xxxxxx'
278    CALL getin('version_ocean', version_ocean_omp)
279
280    !Config Key  = OCEAN
281    !Config Desc = Old parameter name for type_ocean
282    !Config Def  = yyyyyy
283    !Config Help = This is only for testing purpose
284    !
285    ocean_omp = 'yyyyyy'
286    CALL getin('OCEAN', ocean_omp)
287    IF (ocean_omp /= 'yyyyyy') THEN
288       WRITE(lunout,*)'ERROR! Old variable name OCEAN used in parmeter file.'
289       WRITE(lunout,*)'Variable OCEAN has been replaced by the variable type_ocean.'
290       WRITE(lunout,*)'You have to update your parameter file physiq.def to succed running'
291       CALL abort_physic('conf_phys','Variable OCEAN no longer existing, use variable name type_ocean',1)
292    ENDIF
293
294    !Config Key  = t_coupl
295    !Config Desc = Pas de temps du couplage atm/oce en sec.
296    !Config Def  = 86400
297    !Config Help = This is only for testing purpose
298    !
299    t_coupl_omp = 86400.
300    CALL getin('t_coupl', t_coupl_omp)
301    IF (t_coupl_omp == 0) THEN
302       WRITE(lunout,*)'ERROR! Timestep of coupling between atmosphere and ocean'
303       WRITE(lunout,*)'cannot be zero.'
304       CALL abort_physic('conf_phys','t_coupl = 0.',1)
305    ENDIF
306
307    !
308    !Config Key  = ok_all_xml
309    !Config Desc = utiliser les xml pourles définitions des champs pour xios
310    !Config Def  = .FALSE.
311    !Config Help =
312    !
313    ok_all_xml_omp = .FALSE.
314    CALL getin('ok_all_xml', ok_all_xml_omp)
315
316    !
317    !Config Key  = ok_lwoff
318    !Config Desc = inhiber l effet radiatif LW des nuages
319    !Config Def  = .FALSE.
320    !Config Help =
321    !
322    ok_lwoff_omp = .FALSE.
323    CALL getin('ok_lwoff', ok_lwoff_omp)
324    !
325
326    !
327    !Config Key  = VEGET
328    !Config Desc = Type de modele de vegetation
329    !Config Def  = .FALSE.
330    !Config Help = Type de modele de vegetation utilise
331    !
332    type_veget_omp ='orchidee'
333    CALL getin('VEGET', type_veget_omp)
334    !
335
336    ! INLANDSIS
337    !==================================================================
338    ! Martin et Etienne
339    !Config Key  = landice_opt
340    !Config Desc = which landice snow model (BULK, or INLANDSIS)
341    !Config Def  = 0
342    landice_opt_omp = 0
343    CALL getin('landice_opt', landice_opt_omp)
344    ! Martin et Etienne
345
346    !Etienne
347    !Config Key  = iflag_temp_inlandsis
348    !Config Desc = which method to calculate temp within the soil in INLANDSIS
349    !Config Def  = 0
350    iflag_temp_inlandsis_omp = 0
351    CALL getin('iflag_temp_inlandsis', iflag_temp_inlandsis_omp)
352
353    !Etienne
354    !Config Key  = iflag_tsurf_inlandsis
355    !Config Desc = which method to calculate tsurf in INLANDSIS
356    !Config Def  = 0
357    iflag_tsurf_inlandsis_omp = 1
358    CALL getin('iflag_tsurf_inlandsis', iflag_tsurf_inlandsis_omp)
359
360
361    !Etienne
362    !Config Key  = iflag_albcalc
363    !Config Desc = method to calculate snow albedo in INLANDSIS
364    !Config Def  = 0
365    iflag_albcalc_omp = 0
366    CALL getin('iflag_albcalc', iflag_albcalc_omp)
367
368
369    !Etienne
370    !Config Key  = SnoMod
371    !Config Desc = activation of snow modules in inlandsis
372    !Config Def  = .TRUE.
373    SnoMod_omp = .TRUE.
374    CALL getin('SnoMod', SnoMod_omp)
375
376    !Etienne
377    !Config Key  = BloMod
378    !Config Desc = activation of blowing snow in inlandsis
379    !Config Def  = .FALSE.
380    BloMod_omp = .FALSE.
381    CALL getin('BloMod', BloMod_omp)
382
383    !Etienne
384    !Config Key  = ok_outfor
385    !Config Desc = activation of output ascii file in inlandsis
386    !Config Def  = .FALSE.
387    ok_outfor_omp = .FALSE.
388    CALL getin('ok_outfor', ok_outfor_omp)
389
390
391    !Etienne
392    !Config Key  = ok_sn_ii
393    !Config Desc = activation of ice/snow detection
394    !Config Def  = .TRUE.
395    ok_zsn_ii_omp = .TRUE.
396    CALL getin('ok_zsn_ii', ok_zsn_ii_omp)
397
398
399    !Etienne
400    !Config Key  = discret_xf
401    !Config Desc = snow discretization following XF
402    !Config Def  = .TRUE.
403    discret_xf_omp = .TRUE.
404    CALL getin('discret_xf', discret_xf_omp)
405
406
407    !Etienne
408    !Config Key  = is_ok_slush
409    !Config Desc = activation of the slush option
410    !Config Def  = .TRUE.
411    is_ok_slush_omp = .TRUE.
412    CALL getin('is_ok_slush', is_ok_slush_omp)
413
414    !Etienne
415    !Config Key  = opt_runoff_ac
416    !Config Desc = option runoff AC
417    !Config Def  = .TRUE.
418    opt_runoff_ac_omp = .TRUE.
419    CALL getin('opt_runoff_ac', opt_runoff_ac_omp)
420
421    !Etienne
422    !Config Key  = is_ok_z0h_rn
423    !Config Desc = z0h calculation following RN method
424    !Config Def  = .TRUE.
425    is_ok_z0h_rn_omp = .TRUE.
426    CALL getin('is_ok_z0h_rn', is_ok_z0h_rn_omp)
427
428
429    !Etienne
430    !Config Key  = is_ok_density_kotlyakov
431    !Config Desc = snow density calculation following kotlyakov
432    !Config Def  = .FALSE.
433    is_ok_density_kotlyakov_omp = .FALSE.
434    CALL getin('is_ok_density_kotlyakov', is_ok_density_kotlyakov_omp)
435
436
437    !Etienne
438    !Config Key  = prescribed_z0m_snow
439    !Config Desc = prescribed snow z0m
440    !Config Def  = 0.005
441    prescribed_z0m_snow_omp = 0.005
442    CALL getin('prescribed_z0m_snow', prescribed_z0m_snow_omp)
443
444
445    !Etienne
446    !Config Key  = iflag_z0m_snow
447    !Config Desc = method to calculate snow z0m
448    !Config Def  = 0
449    iflag_z0m_snow_omp = 0
450    CALL getin('iflag_z0m_snow', iflag_z0m_snow_omp)
451
452
453    !Etienne
454    !Config Key  = correc_alb
455    !Config Desc = correction term for albedo
456    !Config Def  = 1.01
457    correc_alb_omp=1.01
458    CALL getin('correc_alb', correc_alb_omp)
459
460
461    !Etienne
462    !Config Key  = buf_sph_pol
463    !Config Desc = sphericity of buffer layer in polar regions
464    !Config Def  = 99.
465    buf_sph_pol_omp=99.
466    CALL getin('buf_sph_pol', buf_sph_pol_omp)
467
468    !Etienne
469    !Config Key  = buf_siz_pol
470    !Config Desc = grain size of buffer layer in polar regions in e-4m
471    !Config Def  = 4.
472    buf_siz_pol_omp=4.
473    CALL getin('buf_siz_pol', buf_siz_pol_omp)
474
475    !==================================================================
476   
477    !Config Key  = OK_journe
478    !Config Desc = Pour des sorties journalieres
479    !Config Def  = .FALSE.
480    !Config Help = Pour creer le fichier histday contenant les sorties
481    !              journalieres
482    !
483    ok_journe_omp = .FALSE.
484    CALL getin('OK_journe', ok_journe_omp)
485    !
486    !Config Key  = ok_hf
487    !Config Desc = Pour des sorties haute frequence
488    !Config Def  = .FALSE.
489    !Config Help = Pour creer le fichier histhf contenant les sorties
490    !              haute frequence ( 3h ou 6h)
491    !
492    ok_hf_omp = .FALSE.
493    CALL getin('ok_hf', ok_hf_omp)
494    !
495    !Config Key  = OK_mensuel
496    !Config Desc = Pour des sorties mensuelles
497    !Config Def  = .TRUE.
498    !Config Help = Pour creer le fichier histmth contenant les sorties
499    !              mensuelles
500    !
501    ok_mensuel_omp = .TRUE.
502    CALL getin('OK_mensuel', ok_mensuel_omp)
503    !
504    !Config Key  = OK_instan
505    !Config Desc = Pour des sorties instantanees
506    !Config Def  = .FALSE.
507    !Config Help = Pour creer le fichier histins contenant les sorties
508    !              instantanees
509    !
510    ok_instan_omp = .FALSE.
511    CALL getin('OK_instan', ok_instan_omp)
512    !
513    !Config Key  = ok_ade
514    !Config Desc = Aerosol direct effect or not?
515    !Config Def  = .FALSE.
516    !Config Help = Used in radlwsw.F
517    !
518    ok_ade_omp = .FALSE.
519    CALL getin('ok_ade', ok_ade_omp)
520
521    !Config Key  = ok_alw
522    !Config Desc = Aerosol longwave effect or not?
523    !Config Def  = .FALSE.
524    !Config Help = Used in radlwsw.F
525    !
526    ok_alw_omp = .FALSE.
527    CALL getin('ok_alw', ok_alw_omp)
528
529    !
530    !Config Key  = ok_aie
531    !Config Desc = Aerosol indirect effect or not?
532    !Config Def  = .FALSE.
533    !Config Help = Used in nuage.F and radlwsw.F
534    !
535    ok_aie_omp = .FALSE.
536    CALL getin('ok_aie', ok_aie_omp)
537
538    !
539    !Config Key  = ok_cdnc
540    !Config Desc = ok cloud droplet number concentration
541    !Config Def  = .FALSE.
542    !Config Help = Used in newmicro.F
543    !
544    ok_cdnc_omp = .FALSE.
545    CALL getin('ok_cdnc', ok_cdnc_omp)
546
547    !
548    !Config Key  = ok_volcan
549    !Config Desc = ok to generate volcanic diags
550    !Config Def  = .FALSE.
551    !Config Help = Used in radlwsw_m.F
552    !
553    ok_volcan_omp = .FALSE.
554    CALL getin('ok_volcan', ok_volcan_omp)
555
556    !
557    !Config Key  = flag_volc_surfstrat
558    !Config Desc = impose cooling rate at the surface (=1),
559    !              heating rate in the strato (=2), or nothing (=0)
560    !Config Def  = 0
561    !Config Help = Used in radlwsw_m.F
562    !
563    flag_volc_surfstrat_omp = 0 ! NL: SURFSTRAT
564    CALL getin('flag_volc_surfstrat', flag_volc_surfstrat_omp)
565
566    !
567    !Config Key  = aerosol_couple
568    !Config Desc = read aerosol in file or calcul by inca
569    !Config Def  = .FALSE.
570    !Config Help = Used in physiq.F
571    !
572    aerosol_couple_omp = .FALSE.
573    CALL getin('aerosol_couple',aerosol_couple_omp)
574    !
575    !Config Key  = chemistry_couple
576    !Config Desc = read O3 chemistry in file or calcul by inca
577    !Config Def  = .FALSE.
578    !Config Help = Used in physiq.F
579    !
580    chemistry_couple_omp = .FALSE.
581    CALL getin('chemistry_couple',chemistry_couple_omp)
582    !
583    !Config Key  = flag_aerosol
584    !Config Desc = which aerosol is use for coupled model
585    !Config Def  = 1
586    !Config Help = Used in physiq.F
587    !
588    ! - flag_aerosol=0 => no aerosol
589    ! - flag_aerosol=1 => so4 only (defaut)
590    ! - flag_aerosol=2 => bc  only
591    ! - flag_aerosol=3 => pom only
592    ! - flag_aerosol=4 => seasalt only
593    ! - flag_aerosol=5 => dust only
594    ! - flag_aerosol=6 => all aerosol
595    ! - flag_aerosol=7 => natural aerosol + MACv2SP
596    ! - (in this case aerosols.1980.nc should point to aerosols.nat.nc)
597
598    flag_aerosol_omp = 0
599    CALL getin('flag_aerosol',flag_aerosol_omp)
600
601    !
602    !Config Key  = flag_bc_internal_mixture
603    !Config Desc = state of mixture for BC aerosols
604    ! - n = external mixture
605    ! - y = internal mixture
606    !Config Def  = n
607    !Config Help = Used in physiq.F / aeropt
608    !
609    flag_bc_internal_mixture_omp = .FALSE.
610    CALL getin('flag_bc_internal_mixture',flag_bc_internal_mixture_omp)
611
612    !
613    !Config Key  = aer_type
614    !Config Desc = Use a constant field for the aerosols
615    !Config Def  = scenario
616    !Config Help = Used in readaerosol.F90
617    !
618    aer_type_omp = 'scenario'
619    CALL getin('aer_type', aer_type_omp)
620
621    !
622    !Config Key  = bl95_b0
623    !Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
624    !Config Def  = .FALSE.
625    !Config Help = Used in nuage.F
626    !
627    bl95_b0_omp = 2.
628    CALL getin('bl95_b0', bl95_b0_omp)
629
630    !Config Key  = bl95_b1
631    !Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
632    !Config Def  = .FALSE.
633    !Config Help = Used in nuage.F
634    !
635    bl95_b1_omp = 0.2
636    CALL getin('bl95_b1', bl95_b1_omp)
637
638    !Config Key  = freq_ISCCP
639    !Config Desc = Frequence d'appel du simulateur ISCCP en secondes;
640    !              par defaut 10800, i.e. 3 heures
641    !Config Def  = 10800.
642    !Config Help = Used in ini_histISCCP.h
643    !
644    freq_ISCCP_omp = 10800.
645    CALL getin('freq_ISCCP', freq_ISCCP_omp)
646    !
647    !Config Key  = ecrit_ISCCP
648    !Config Desc = Frequence d'ecriture des resultats du simulateur ISCCP en nombre de jours;
649    !              par defaut 1., i.e. 1 jour
650    !Config Def  = 1.
651    !Config Help = Used in ini_histISCCP.h
652    !
653    !
654    ecrit_ISCCP_omp = 1.
655    CALL getin('ecrit_ISCCP', ecrit_ISCCP_omp)
656
657    !Config Key  = freq_COSP
658    !Config Desc = Frequence d'appel du simulateur COSP en secondes;
659    !              par defaut 10800, i.e. 3 heures
660    !Config Def  = 10800.
661    !Config Help = Used in ini_histdayCOSP.h
662    !
663    freq_COSP_omp = 10800.
664    CALL getin('freq_COSP', freq_COSP_omp)
665
666    !Config Key  = freq_AIRS
667    !Config Desc = Frequence d'appel du simulateur AIRS en secondes;
668    !              par defaut 10800, i.e. 3 heures
669    !Config Def  = 10800.
670    !Config Help = Used in ini_histdayAIRS.h
671    !
672    freq_AIRS_omp = 10800.
673    CALL getin('freq_AIRS', freq_AIRS_omp)
674
675    !
676    !Config Key  = ip_ebil_phy
677    !Config Desc = Niveau de sortie pour les diags bilan d'energie
678    !Config Def  = 0
679    !Config Help =
680    !               
681    ip_ebil_phy_omp = 0
682    CALL getin('ip_ebil_phy', ip_ebil_phy_omp)
683    IF (ip_ebil_phy_omp/=0) THEN
684       CALL abort_physic('conf_phys','ip_ebil_phy_omp doit etre 0 sur cette version',1)
685    ENDIF
686
687    !
688    !Config Key  = seuil_inversion
689    !Config Desc = Seuil ur dTh pour le choix entre les schemas de CL
690    !Config Def  = -0.1
691    !Config Help =
692    !               
693    seuil_inversion_omp = -0.1
694    CALL getin('seuil_inversion', seuil_inversion_omp)
695
696    !
697    ! Constante solaire & Parametres orbitaux & taux gaz effet de serre BEG
698    !
699    !Config Key  = R_ecc
700    !Config Desc = Excentricite
701    !Config Def  = 0.016715
702    !Config Help =
703    !               
704    !valeur AMIP II
705    R_ecc_omp = 0.016715
706    CALL getin('R_ecc', R_ecc_omp)
707    !
708    !Config Key  = R_peri
709    !Config Desc = Equinoxe
710    !Config Def  =
711    !Config Help =
712    !               
713    !
714    !valeur AMIP II
715    R_peri_omp = 102.7
716    CALL getin('R_peri', R_peri_omp)
717    !
718    !Config Key  = R_incl
719    !Config Desc = Inclinaison
720    !Config Def  =
721    !Config Help =
722    !               
723    !
724    !valeur AMIP II
725    R_incl_omp = 23.441
726    CALL getin('R_incl', R_incl_omp)
727    !
728    !Config Key  = solaire
729    !Config Desc = Constante solaire en W/m2
730    !Config Def  = 1365.
731    !Config Help =
732    !               
733    !
734    !valeur AMIP II
735    solaire_omp = 1365.
736    solaire_omp_init = solaire_omp     !--we keep track of the default value
737    CALL getin('solaire', solaire_omp)
738    !
739    !Config Key  = co2_ppm
740    !Config Desc = concentration du CO2 en ppmv
741    !Config Def  = 348.
742    !Config Help =
743    !               
744    !valeur AMIP II
745    co2_ppm_omp = 348.
746    CALL getin('co2_ppm', co2_ppm_omp)
747    !
748    !conversion en rapport de mélange massique
749    RCO2_omp = co2_ppm_omp * 1.0e-06 * RMCO2 / RMD
750
751    !
752    !Config Key  = co2_ppm0
753    !Config Desc = concentration initiale du CO2 en ppmv pour la version ESM avec CO2 interactif dans le cas
754    !              où cette concentration de figure pas dans l'état de redémarrage de la physique
755    !Config Def  = 284.32
756    !Config Help =
757    !               
758    co2_ppm0_omp = 284.32
759    CALL getin('co2_ppm0', co2_ppm0_omp)
760    !
761    !Config Key  = RCH4
762    !Config Desc = Concentration du CH4
763    !Config Def  = 1.65E-06* 16.043/28.97
764    !Config Help =
765    !               
766    CH4_ppb_omp = 1650.
767    CALL getin('CH4_ppb', CH4_ppb_omp)
768    !conversion en rapport de mélange massique
769    RCH4_omp = CH4_ppb_omp * 1.0E-09 * RMCH4 / RMD
770    !
771    !Config Key  = RN2O
772    !Config Desc = Concentration du N2O
773    !Config Def  = 306.E-09* 44.013/28.97
774    !Config Help =
775    !               
776    N2O_ppb_omp = 306.
777    CALL getin('N2O_ppb', N2O_ppb_omp)
778    !conversion en rapport de mélange massique
779    RN2O_omp = N2O_ppb_omp * 1.0E-09 * RMN2O / RMD
780    !
781    !Config Key  = RCFC11
782    !Config Desc = Concentration du CFC11
783    !Config Def  = 280.E-12* 137.3686/28.97
784    !Config Help =
785    !               
786    CFC11_ppt_omp = 280.
787    CALL getin('CFC11_ppt',CFC11_ppt_omp)
788    !conversion en rapport de mélange massique
789    RCFC11_omp=CFC11_ppt_omp* 1.0E-12 * RMCFC11 / RMD
790    !
791    !Config Key  = RCFC12
792    !Config Desc = Concentration du CFC12
793    !Config Def  = 484.E-12* 120.9140/28.97
794    !Config Help =
795    !               
796    CFC12_ppt_omp = 484.
797    CALL getin('CFC12_ppt',CFC12_ppt_omp)
798    !conversion en rapport de mélange massique
799    RCFC12_omp = CFC12_ppt_omp * 1.0E-12 * RMCFC12 / RMD
800
801    !
802    !Config Key  = co2_ppm_per
803    !Config Desc = concentration du CO2 perturbé en ppmv (CFMIP)
804    !Config Def  = 348.
805    !Config Help =
806    !               
807    co2_ppm_per_omp = co2_ppm_omp
808    CALL getin('co2_ppm_per', co2_ppm_per_omp)
809    !conversion en rapport de mélange massique
810    RCO2_per_omp = co2_ppm_per_omp * 1.0e-06 * RMCO2 / RMD
811
812    !Config Key  = RCH4_per
813    !Config Desc = Concentration du CH4_per
814    !Config Def  = 1.65E-06* 16.043/28.97
815    !Config Help =
816    !               
817    CH4_ppb_per_omp = CH4_ppb_omp
818    CALL getin('CH4_ppb_per', CH4_ppb_per_omp)
819    !conversion en rapport de mélange massique
820    RCH4_per_omp = CH4_ppb_per_omp * 1.0E-09 * RMCH4 / RMD
821    !
822    !Config Key  = RN2O_per
823    !Config Desc = Concentration du N2O_per
824    !Config Def  = 306.E-09* 44.013/28.97
825    !Config Help =
826    !               
827    N2O_ppb_per_omp = N2O_ppb_omp
828    CALL getin('N2O_ppb_per', N2O_ppb_per_omp)
829    !conversion en rapport de mélange massique
830    RN2O_per_omp = N2O_ppb_per_omp * 1.0E-09 * RMN2O / RMD
831    !
832    !Config Key  = RCFC11_per
833    !Config Desc = Concentration du CFC11_per
834    !Config Def  = 280.E-12* 137.3686/28.97
835    !Config Help =
836    !               
837    CFC11_ppt_per_omp = CFC11_ppt_omp
838    CALL getin('CFC11_ppt_per',CFC11_ppt_per_omp)
839    !conversion en rapport de mélange massique
840    RCFC11_per_omp=CFC11_ppt_per_omp* 1.0E-12 * RMCFC11 / RMD
841    !
842    !Config Key  = RCFC12_per
843    !Config Desc = Concentration du CFC12_per
844    !Config Def  = 484.E-12* 120.9140/28.97
845    !Config Help =
846    !               
847    CFC12_ppt_per_omp = CFC12_ppt_omp
848    CALL getin('CFC12_ppt_per',CFC12_ppt_per_omp)
849    !conversion en rapport de mélange massique
850    RCFC12_per_omp = CFC12_ppt_per_omp * 1.0E-12 * RMCFC12 / RMD
851
852    !
853    ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
854    ! Constantes precedemment dans dyn3d/conf_gcm
855
856    !Config  Key  = iflag_cycle_diurne
857    !Config  Desc = Cycle diurne
858    !Config  Def  = 1
859    !Config  Help = Cette option permet d'eteidre le cycle diurne.
860    !Config         Peut etre util pour accelerer le code !
861    iflag_cycle_diurne_omp = 1
862    CALL getin('iflag_cycle_diurne',iflag_cycle_diurne_omp)
863
864    !Config  Key  = soil_model
865    !Config  Desc = Modele de sol
866    !Config  Def  = y
867    !Config  Help = Choix du modele de sol (Thermique ?)
868    !Config         Option qui pourait un string afin de pouvoir
869    !Config         plus de choix ! Ou meme une liste d'options !
870    soil_model_omp = .TRUE.
871    CALL getin('soil_model',soil_model_omp)
872
873    !Config  Key  = liqice_in_radocond
874    !Config  Desc = liquid + ice seen by radiation
875    !Config  Def  = y
876    liqice_in_radocond_omp = .TRUE.
877    ! old name of the flag (new_oliq)
878    CALL getin('new_oliq',liqice_in_radocond_omp)
879    CALL getin('liqice_in_radocond',liqice_in_radocond_omp)
880
881    !Config  Key  = ok_orodr
882    !Config  Desc = Orodr ???
883    !Config  Def  = y
884    !Config  Help = Y en a pas comprendre !
885    !Config         
886    ok_orodr_omp = .TRUE.
887    CALL getin('ok_orodr',ok_orodr_omp)
888
889    !Config  Key  =  ok_orolf
890    !Config  Desc = Orolf ??
891    !Config  Def  = y
892    !Config  Help = Connais pas !
893    ok_orolf_omp = .TRUE.
894    CALL getin('ok_orolf', ok_orolf_omp)
895
896
897    !Config  Key  =  nm_oro_t
898    !Config  Desc = nm_oro_t
899    !Config  Def  = -1
900    !Config  Help = Connais pas !
901    nm_oro_t_omp = -1.
902    CALL getin('nm_oro_t', nm_oro_t_omp)
903
904    !Config  Key  =  zstd_orodr_t
905    !Config  Desc = zstd_orodr_t
906    !Config  Def  = 0.
907    !Config  Help = Connais pas !
908    zstd_orodr_t_omp = 10.
909    CALL getin('zstd_orodr_t', zstd_orodr_t_omp)
910
911
912    !Config  Key  =  zpmm_orodr_t
913    !Config  Desc = zpmm_orodr_t
914    !Config  Def  = 0.
915    !Config  Help = Connais pas !
916    zpmm_orodr_t_omp = 100.
917    CALL getin('zpmm_orodr_t', zpmm_orodr_t_omp)
918
919
920    !Config  Key  =  zpmm_orolf_t
921    !Config  Desc = zpmm_orolf_t
922    !Config  Def  = 0.
923    !Config  Help = Connais pas !
924    zpmm_orolf_t_omp = 100.
925    CALL getin('zpmm_orolf_t', zpmm_orolf_t_omp)
926
927    !Config  Key  = ok_limitvrai
928    !Config  Desc = Force la lecture de la bonne annee
929    !Config  Def  = n
930    !Config  Help = On peut forcer le modele a lire le
931    !Config         fichier SST de la bonne annee. C'est une tres bonne
932    !Config         idee, pourquoi ne pas mettre toujours a y ???
933    ok_limitvrai_omp = .FALSE.
934    CALL getin('ok_limitvrai',ok_limitvrai_omp)
935
936    !Config  Key  = nbapp_rad
937    !Config  Desc = Frequence d'appel au rayonnement
938    !Config  Def  = 12
939    !Config  Help = Nombre  d'appels des routines de rayonnements
940    !Config         par jour.
941    nbapp_rad_omp = 12
942    CALL getin('nbapp_rad',nbapp_rad_omp)
943
944    !rajout Olivier Torres
945    !Config  Key  = choix_bulk
946    !Config  Desc = choix de la formulation bulk a prendre dans clcdrag au-dessus de l'ocean
947    !Config  Def  = 0
948    !Config         0 -> originale (lmdz/Louis 79)
949    !Config         1 -> COARE
950    !Config         2 -> CORE-"pure" (cf. Large)
951    !Config         3 -> CORE-"mixte" (avec z_0 et C_T^N donnees par Smith 88)
952    choix_bulk_omp = 0
953    CALL getin('choix_bulk',choix_bulk_omp)
954
955    !Config  Key  = nit_bulk
956    !Config  Desc = choix du nombre d'it de pt fixe dans la bulk
957    !Config  Def  = 5
958    nit_bulk_omp = 1
959    CALL getin('nit_bulk',nit_bulk_omp)
960
961    !Config  Key  = kz0
962    !Config  Desc = choix de la formulation z0 pour la bulk ECUME
963    !Config  Def  = 1
964    !Config         0 -> ARPEGE formulation
965    !Config         1 -> Smith Formulation
966    !Config         2 -> Direct computation using the stability functions
967    kz0_omp = 0
968    CALL getin('kz0',kz0_omp)
969
970
971    !Config  Key  = iflag_con
972    !Config  Desc = Flag de convection
973    !Config  Def  = 2
974    !Config  Help = Flag  pour la convection les options suivantes existent :
975    !Config         1 pour LMD,
976    !Config         2 pour Tiedtke,
977    !Config         3 pour CCM(NCAR) 
978    iflag_con_omp = 2
979    CALL getin('iflag_con',iflag_con_omp)
980
981    !Config  Key  = nbapp_cv
982    !Config  Desc = Frequence d'appel a la convection
983    !Config  Def  = 0
984    !Config  Help = Nombre  d'appels des routines de convection
985    !Config         par jour. Si =0, appel a chaque pas de temps physique.
986    nbapp_cv_omp = 0
987    CALL getin('nbapp_cv',nbapp_cv_omp)
988
989    !Config  Key  = nbapp_wk
990    !Config  Desc = Frequence d'appel aux wakes
991    !Config  Def  = 0
992    !Config  Help = Nombre  d'appels des routines de wakes
993    !Config         par jour. Si =0, appel a chaque pas de temps physique.
994    nbapp_wk_omp = 0
995    CALL getin('nbapp_wk',nbapp_wk_omp)
996
997    !Config  Key  = iflag_ener_conserv
998    !Config  Desc = Flag de convection
999    !Config  Def  = 1
1000    !Config  Help = Flag  pour la convection les options suivantes existent :
1001    !Config         -1 pour Kinetic energy correction
1002    !Config         1  conservation kinetic and enthalpy
1003    iflag_ener_conserv_omp = -1
1004    CALL getin('iflag_ener_conserv',iflag_ener_conserv_omp)
1005
1006    !Config  Key  = ok_conserv_q
1007    !Config  Desc = Switch des corrections de conservation de l'eau
1008    !Config  Def  = y
1009    !Config  Help = Switch des corrections de conservation de l'eau
1010    !Config         y -> corrections activees
1011    !Config         n -> conformite avec versions anterieures au 1/4/2014
1012    ok_conserv_q_omp = .FALSE.
1013    CALL getin('ok_conserv_q',ok_conserv_q_omp)
1014
1015
1016
1017    !Config  Key  = ok_mass_dtcon
1018    !Config  Desc = for conservation when calling deep convection every n time steps
1019    !Config  Def  = y
1020    !Config  Help = for conservation when calling deep convection every n time steps
1021    ok_mass_dtcon_omp = .TRUE.
1022    CALL getin('ok_mass_dtcon',ok_mass_dtcon_omp)
1023
1024    !Config  Key  = ok_mass_dqcon
1025    !Config  Desc = for conservation when calling deep convection every n time steps
1026    !Config  Def  = y
1027    !Config  Help = for conservation when calling deep convection every n time steps
1028    ok_mass_dqcon_omp = .TRUE.
1029    CALL getin('ok_mass_dqcon',ok_mass_dqcon_omp)
1030
1031    !Config  Key  = ok_mass_duvcon
1032    !Config  Desc = for conservation when calling deep convection every n time steps
1033    !Config  Def  = y
1034    !Config  Help = for conservation when calling deep convection every n time steps
1035    ok_mass_duvcon_omp = .TRUE.
1036    CALL getin('ok_mass_duvcon',ok_mass_duvcon_omp)
1037
1038
1039    !
1040    !
1041    !
1042    ! Constante solaire & Parametres orbitaux & taux gaz effet de serre END
1043    !
1044    ! KE
1045    !
1046
1047    !Config key  = cvl_comp_threshold
1048    !Config Desc = maximum fraction of convective points enabling compression
1049    !Config Def  = 1.00
1050    !Config Help = fields are compressed when less than a fraction cvl_comp_threshold
1051    !Config Help = of the points is convective.
1052    cvl_comp_threshold_omp = 1.00
1053    CALL getin('cvl_comp_threshold', cvl_comp_threshold_omp)
1054
1055    !Config key  = cvl_sig2feed
1056    !Config Desc = sigma coordinate at top of feeding layer
1057    !Config Def  = 0.97
1058    !Config Help = deep convection is fed by the layer extending from the surface (pressure ps)
1059    !Config Help = and cvl_sig2feed*ps.
1060    cvl_sig2feed_omp = 0.97
1061    CALL getin('cvl_sig2feed', cvl_sig2feed_omp)
1062
1063    !Config key  = cvl_corr
1064    !Config Desc = Facteur multiplication des precip convectives dans KE
1065    !Config Def  = 1.00
1066    !Config Help = 1.02 pour un moderne ou un pre-ind. A ajuster pour un glaciaire
1067    cvl_corr_omp = 1.00
1068    CALL getin('cvl_corr', cvl_corr_omp)
1069
1070
1071    !Config Key  = epmax
1072    !Config Desc = Efficacite precip
1073    !Config Def  = 0.993
1074    !Config Help =
1075    !
1076    epmax_omp = .993
1077    CALL getin('epmax', epmax_omp)
1078
1079    coef_epmax_cape_omp = 0.0   
1080    CALL getin('coef_epmax_cape', coef_epmax_cape_omp)       
1081    !
1082    !Config Key  = ok_adj_ema
1083    !Config Desc = 
1084    !Config Def  = FALSE
1085    !Config Help =
1086    !
1087    ok_adj_ema_omp = .FALSE.
1088    CALL getin('ok_adj_ema',ok_adj_ema_omp)
1089    !
1090    !Config Key  = iflag_clw
1091    !Config Desc = 
1092    !Config Def  = 0
1093    !Config Help =
1094    !
1095    iflag_clw_omp = 0
1096    CALL getin('iflag_clw',iflag_clw_omp)
1097   
1098
1099    !Config Key  = iflag_ratqs
1100    !Config Desc =
1101    !Config Def  = 1
1102    !Config Help =
1103    !
1104    iflag_ratqs_omp = 1
1105    CALL getin('iflag_ratqs',iflag_ratqs_omp)
1106
1107    !
1108    !Config Key  = iflag_radia
1109    !Config Desc = 
1110    !Config Def  = 1
1111    !Config Help =
1112    !
1113    iflag_radia_omp = 1
1114    CALL getin('iflag_radia',iflag_radia_omp)
1115
1116    !
1117    !Config Key  = iflag_rrtm
1118    !Config Desc = 
1119    !Config Def  = 0
1120    !Config Help =
1121    !
1122    iflag_rrtm_omp = 0
1123    CALL getin('iflag_rrtm',iflag_rrtm_omp)
1124
1125    !
1126    !Config Key  = NSW
1127    !Config Desc = 
1128    !Config Def  = 0
1129    !Config Help =
1130    !
1131    NSW_omp = 2
1132    CALL getin('NSW',NSW_omp)
1133    !albedo SB >>>
1134    iflag_albedo_omp = 0
1135    CALL getin('iflag_albedo',iflag_albedo_omp)
1136
1137    ok_chlorophyll_omp=.FALSE.
1138    CALL getin('ok_chlorophyll',ok_chlorophyll_omp)
1139    !albedo SB <<<
1140    !
1141    !Config Key  = ok_sun_time
1142    !Config Desc = oui ou non variabilite solaire
1143    !Config Def  = .FALSE.
1144    !Config Help =
1145    !
1146    !
1147    !valeur AMIP II
1148    ok_suntime_rrtm_omp = .FALSE.
1149    IF (iflag_rrtm_omp==1) THEN
1150      CALL getin('ok_suntime_rrtm',ok_suntime_rrtm_omp)
1151    ENDIF
1152   
1153    !Config Key  = flag_aerosol_strat
1154    !Config Desc = use stratospheric aerosols 0, 1, 2
1155    ! - 0 = no stratospheric aerosols
1156    ! - 1 = stratospheric aerosols scaled from 550 nm AOD
1157    ! - 2 = stratospheric aerosol properties from CMIP6
1158    !Option 2 is only available with RRTM, this is tested later on
1159    !Config Def  = 0
1160    !Config Help = Used in physiq.F
1161    !
1162    flag_aerosol_strat_omp = 0
1163    CALL getin('flag_aerosol_strat',flag_aerosol_strat_omp)
1164
1165    !Config Key  = flag_aer_feedback
1166    !Config Desc = (des)activate aerosol radiative feedback
1167    ! - F = no aerosol radiative feedback
1168    ! - T = aerosol radiative feedback
1169    !Config Def  = T
1170    !Config Help = Used in physiq.F
1171    !
1172    flag_aer_feedback_omp = .TRUE.
1173    IF (iflag_rrtm_omp==1) THEN
1174       CALL getin('flag_aer_feedback',flag_aer_feedback_omp)
1175    ENDIF
1176
1177    !Config Key  = iflag_cld_th
1178    !Config Desc = 
1179    !Config Def  = 1
1180    !Config Help =
1181    !
1182    iflag_cld_th_omp = 1
1183    ! On lit deux fois avec l'ancien et le nouveau nom
1184    ! pour assurer une retrocompatiblite.
1185    ! A abandonner un jour
1186    CALL getin('iflag_cldcon',iflag_cld_th_omp)
1187    CALL getin('iflag_cld_th',iflag_cld_th_omp)
1188    iflag_cld_cv_omp = 0
1189    CALL getin('iflag_cld_cv',iflag_cld_cv_omp)
1190
1191    !
1192    !Config Key  = tau_cld_cv
1193    !Config Desc =
1194    !Config Def  = 10.
1195    !Config Help =
1196    !
1197    tau_cld_cv_omp = 10.
1198    CALL getin('tau_cld_cv',tau_cld_cv_omp)
1199
1200    !
1201    !Config Key  = coefw_cld_cv
1202    !Config Desc =
1203    !Config Def  = 0.1
1204    !Config Help =
1205    !
1206    coefw_cld_cv_omp = 0.1
1207    CALL getin('coefw_cld_cv',coefw_cld_cv_omp)
1208
1209
1210
1211
1212    !
1213    !Config Key  = fact_cldcon
1214    !Config Desc = 
1215    !Config Def  = 0.375
1216    !Config Help =
1217    !
1218    fact_cldcon_omp = 0.375
1219    CALL getin('fact_cldcon',fact_cldcon_omp)
1220
1221    !
1222    !Config Key  = facttemps
1223    !Config Desc = 
1224    !Config Def  = 1.e-4
1225    !Config Help =
1226    !
1227    facttemps_omp = 1.e-4
1228    CALL getin('facttemps',facttemps_omp)
1229
1230    !
1231    !Config Key  = ok_newmicro
1232    !Config Desc = 
1233    !Config Def  = .TRUE.
1234    !Config Help =
1235    !
1236    ok_newmicro_omp = .TRUE.
1237    CALL getin('ok_newmicro',ok_newmicro_omp)
1238    !
1239    !Config Key  = ratqsbas
1240    !Config Desc = 
1241    !Config Def  = 0.01
1242    !Config Help =
1243    !
1244    ratqsbas_omp = 0.01
1245    CALL getin('ratqsbas',ratqsbas_omp)
1246    !
1247    !Config Key  = ratqshaut
1248    !Config Desc = 
1249    !Config Def  = 0.3
1250    !Config Help =
1251    !
1252    ratqshaut_omp = 0.3
1253    CALL getin('ratqshaut',ratqshaut_omp)
1254
1255    !Config Key  = tau_ratqs
1256    !Config Desc = 
1257    !Config Def  = 1800.
1258    !Config Help =
1259    !
1260    tau_ratqs_omp = 1800.
1261    CALL getin('tau_ratqs',tau_ratqs_omp)
1262
1263    !
1264    !-----------------------------------------------------------------------
1265    ! Longitude solaire pour le calcul de l'ensoleillement en degre
1266    ! si on veut imposer la saison. Sinon, solarlong0=-999.999
1267    !Config Key  = solarlong0
1268    !Config Desc = 
1269    !Config Def  = -999.999
1270    !Config Help =
1271    !
1272    solarlong0_omp = -999.999
1273    CALL getin('solarlong0',solarlong0_omp)
1274    !
1275    !-----------------------------------------------------------------------
1276    !  Valeur imposee pour configuration idealisees
1277    !Config Key  = qsol0 pour le bucket, evap0 pour aquaplanetes, albsno0
1278    ! Default value -1 to activate the full computation
1279    qsol0_omp = -1.
1280    CALL getin('qsol0',qsol0_omp)
1281    evap0_omp = -1.
1282    CALL getin('evap0',evap0_omp)
1283    albsno0_omp = -1.
1284    CALL getin('albsno0',albsno0_omp)
1285    !
1286    !-----------------------------------------------------------------------
1287    !
1288    !Config Key  = iflag_sic
1289    !Config Desc = 
1290    !Config Def  = 0
1291    !Config Help =
1292    !
1293    iflag_sic_omp = 0
1294    CALL getin('iflag_sic',iflag_sic_omp)
1295    !
1296    !Config Key  = iflag_inertie
1297    !Config Desc =
1298    !Config Def  = 0
1299    !Config Help =
1300    !
1301    iflag_inertie_omp = 0
1302    CALL getin('iflag_inertie',iflag_inertie_omp)
1303    !
1304    !Config Key  = inertie_sic
1305    !Config Desc = 
1306    !Config Def  = 2000.
1307    !Config Help =
1308    !
1309    inertie_sic_omp = 2000.
1310    CALL getin('inertie_sic',inertie_sic_omp)
1311    !
1312    !Config Key  = inertie_lic
1313    !Config Desc = 
1314    !Config Def  = 2000.
1315    !Config Help =
1316    !
1317    inertie_lic_omp = 2000.
1318    CALL getin('inertie_lic',inertie_lic_omp)
1319    !
1320    !Config Key  = inertie_sno
1321    !Config Desc = 
1322    !Config Def  = 2000.
1323    !Config Help =
1324    !
1325    inertie_sno_omp = 2000.
1326    CALL getin('inertie_sno',inertie_sno_omp)
1327    !
1328    !Config Key  = inertie_sol
1329    !Config Desc = 
1330    !Config Def  = 2000.
1331    !Config Help =
1332    !
1333    inertie_sol_omp = 2000.
1334    CALL getin('inertie_sol',inertie_sol_omp)
1335
1336    !
1337    !Config Key  = rad_froid
1338    !Config Desc = 
1339    !Config Def  = 35.0
1340    !Config Help =
1341    !
1342    rad_froid_omp = 35.0
1343    CALL getin('rad_froid',rad_froid_omp)
1344
1345    !
1346    !Config Key  = rad_chau1
1347    !Config Desc = 
1348    !Config Def  = 13.0
1349    !Config Help =
1350    !
1351    rad_chau1_omp = 13.0
1352    CALL getin('rad_chau1',rad_chau1_omp)
1353
1354    !
1355    !Config Key  = rad_chau2
1356    !Config Desc = 
1357    !Config Def  = 9.0
1358    !Config Help =
1359    !
1360    rad_chau2_omp = 9.0
1361    CALL getin('rad_chau2',rad_chau2_omp)
1362
1363
1364    !
1365    !Config Key  = iflag_ice_thermo
1366    !Config Desc = 
1367    !Config Def  = 0
1368    !Config Help =
1369    !
1370    iflag_ice_thermo_omp = 0
1371    CALL getin('iflag_ice_thermo',iflag_ice_thermo_omp)
1372
1373    !
1374    !Config Key  = ok_ice_supersat
1375    !Config Desc = include ice supersaturation for cold clouds
1376    !Config Def  = .FALSE.
1377    !Config Help =
1378    !
1379    ok_ice_supersat_omp = .FALSE.
1380    CALL getin('ok_ice_supersat',ok_ice_supersat_omp)
1381
1382    !
1383    !Config Key  = ok_no_issr_strato
1384    !Config Desc = deactivates ice supersaturation in the stratosphere
1385    !Config Def  = .FALSE.
1386    !Config Help =
1387    !
1388    ok_no_issr_strato_omp = .FALSE.
1389    CALL getin('ok_no_issr_strato',ok_no_issr_strato_omp)
1390
1391    !Config Key  = ok_plane_h2o
1392    !Config Desc = include H2O emissions from aviation
1393    !Config Def  = .FALSE.
1394    !Config Help =
1395    !
1396    ok_plane_h2o_omp = .FALSE.
1397    CALL getin('ok_plane_h2o',ok_plane_h2o_omp)
1398
1399    !Config Key  = ok_plane_contrail
1400    !Config Desc = include the formation of contrail cirrus clouds
1401    !Config Def  = .FALSE.
1402    !Config Help =
1403    !
1404    ok_plane_contrail_omp = .FALSE.
1405    CALL getin('ok_plane_contrail',ok_plane_contrail_omp)
1406
1407    !Config Key  = ok_rad_contrail
1408    !Config Desc = double call to radiative routine w/ and w/o contrails
1409    !Config Def  = .FALSE.
1410    !Config Help =
1411    !
1412    ok_rad_contrail_omp = .FALSE.
1413    CALL getin('ok_rad_contrail',ok_rad_contrail_omp)
1414
1415    !
1416    !Config Key  = top_height
1417    !Config Desc =
1418    !Config Def  = 3
1419    !Config Help =
1420    !
1421    top_height_omp = 3
1422    CALL getin('top_height',top_height_omp)
1423
1424    !
1425    !Config Key  = overlap
1426    !Config Desc =
1427    !Config Def  = 3
1428    !Config Help =
1429    !
1430    overlap_omp = 3
1431    CALL getin('overlap',overlap_omp)
1432
1433    !
1434    !Config Key  = cdmmax
1435    !Config Desc =
1436    !Config Def  = 1.3E-3
1437    !Config Help =
1438    !
1439    cdmmax_omp = 1.3E-3
1440    CALL getin('cdmmax',cdmmax_omp)
1441
1442    !
1443    !Config Key  = cdhmax
1444    !Config Desc =
1445    !Config Def  = 1.1E-3
1446    !Config Help =
1447    !
1448    cdhmax_omp = 1.1E-3
1449    CALL getin('cdhmax',cdhmax_omp)
1450
1451    !261103
1452    !
1453    !Config Key  = ksta
1454    !Config Desc =
1455    !Config Def  = 1.0e-10
1456    !Config Help =
1457    !
1458    ksta_omp = 1.0e-10
1459    CALL getin('ksta',ksta_omp)
1460
1461    !
1462    !Config Key  = ksta_ter
1463    !Config Desc =
1464    !Config Def  = 1.0e-10
1465    !Config Help =
1466    !
1467    ksta_ter_omp = 1.0e-10
1468    CALL getin('ksta_ter',ksta_ter_omp)
1469
1470    !Config Key  = f_ri_cd_min
1471    !Config Desc =
1472    !Config Def  = 0.1
1473    !Config Help =
1474    !
1475    f_ri_cd_min_omp = 0.1
1476    CALL getin('f_ri_cd_min',f_ri_cd_min_omp)
1477
1478    !
1479    !Config Key  = ok_kzmin
1480    !Config Desc =
1481    !Config Def  = .TRUE.
1482    !Config Help =
1483    !
1484    ok_kzmin_omp = .TRUE.
1485    CALL getin('ok_kzmin',ok_kzmin_omp)
1486
1487    !
1488    !Config Key  = fmagic
1489    !Config Desc = additionnal multiplicator factor used for albedo
1490    !Config Def  = 1.
1491    !Config Help = additionnal multiplicator factor used in albedo.F
1492    !
1493    fmagic_omp = 1.
1494    CALL getin('fmagic',fmagic_omp)
1495
1496    !
1497    !Config Key  = pmagic
1498    !Config Desc = additional factor used for albedo
1499    !Config Def  = 0.
1500    !Config Help = additional factor used in albedo.F
1501    !
1502    pmagic_omp = 0.
1503    CALL getin('pmagic',pmagic_omp)
1504
1505
1506    !Config Key = ok_lic_melt
1507    !Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau
1508    !Config Def  = .FALSE.
1509    !Config Help = mettre a .FALSE. pour assurer la conservation en eau
1510    ok_lic_melt_omp = .FALSE.
1511    CALL getin('ok_lic_melt', ok_lic_melt_omp)
1512
1513
1514    !Config Key = ok_lic_cond
1515    !Config Desc = Prise en compte depot de vapeur d'eau sur la calotte dans le bilan d'eau
1516    !Config Def  = .FALSE.
1517    !Config Help = mettre a .TRUE. pour assurer la conservation en eau
1518    ok_lic_cond_omp = .FALSE.
1519    CALL getin('ok_lic_cond', ok_lic_cond_omp)
1520
1521    !
1522    ! PARAMETER FOR THE PLANETARY BOUNDARY LAYER
1523    !
1524
1525    !Config Key  = iflag_pbl
1526    !Config Desc =
1527    !Config Def  = 1
1528    !Config Help =
1529    !
1530    iflag_pbl_omp = 1
1531    CALL getin('iflag_pbl',iflag_pbl_omp)
1532
1533    iflag_physiq_omp = 0 ! 0: std, 1: with physiqex output, 2: for physiqex
1534    CALL getin('iflag_physiq',iflag_physiq_omp)
1535
1536!FC
1537    !Config Key  = ifl_pbltree
1538    !Config Desc = drag from trees 0 no activated
1539    !Config Def  = 0
1540    !Config Help =
1541    !
1542    ifl_pbltree_omp = 0
1543    CALL getin('ifl_pbltree',ifl_pbltree_omp)
1544!FC
1545    !Config Key  = Cd_frein
1546    !Config Desc = drag from trees
1547    !Config Def  = 7.5E-02 (valeur Masson mais fait planter avec des LAI eleves)
1548    !Config Help =
1549    !
1550    Cd_frein_omp = 7.5E-02
1551    CALL getin('Cd_frein',Cd_frein_omp)
1552!AM
1553    !Config Key  = iflag_hetero_surf
1554    !Config Desc = type of treatment for heterogeneous continental sub-surfaces
1555    !Config Def  = 0
1556    !Config Help = 0: homo. surface; 1: heteo. surface with parameter aggregation; 2: heteo surface with flux aggregation
1557    !
1558    iflag_hetero_surf_omp = 0
1559    CALL getin('iflag_hetero_surf',iflag_hetero_surf_omp)
1560    !
1561    !Config Key  = iflag_pbl_split
1562    !Config Desc = decimal flag: least signif digit = split vdf; next digit = split thermals
1563    !Config Def  = 0
1564    !Config Help = 0-> no splitting; 1-> vdf splitting; 10-> thermals splitting; 11-> full splitting
1565    !
1566    iflag_pbl_split_omp = 0
1567    call getin('iflag_pbl_split',iflag_pbl_split_omp)
1568    !
1569    !Config Key  = iflag_order2_sollw
1570    !Config Desc =
1571    !Config Def  = 0
1572    !Config Help =
1573    !
1574    iflag_order2_sollw_omp = 0
1575    CALL getin('iflag_order2_sollw',iflag_order2_sollw_omp)
1576    !
1577    !Config Key  = iflag_thermals
1578    !Config Desc =
1579    !Config Def  = 0
1580    !Config Help =
1581    !
1582    iflag_thermals_omp = 0
1583    CALL getin('iflag_thermals',iflag_thermals_omp)
1584    !
1585    !Config Key  = nsplit_thermals
1586    !Config Desc =
1587    !Config Def  = 0
1588    !Config Help =
1589    !
1590    nsplit_thermals_omp = 1
1591    CALL getin('nsplit_thermals',nsplit_thermals_omp)
1592    !
1593    !Config Key  = nsplit_thermals
1594    !Config Desc =
1595    !Config Def  = 0
1596    !Config Help =
1597    alp_bl_k_omp = 1.
1598    CALL getin('alp_bl_k',alp_bl_k_omp)
1599
1600    ! nrlmd le 10/04/2012
1601
1602    !Config Key  = iflag_trig_bl
1603    !Config Desc = 
1604    !Config Def  = 0
1605    !Config Help =
1606    !
1607    iflag_trig_bl_omp = 0
1608    CALL getin('iflag_trig_bl',iflag_trig_bl_omp)
1609
1610    !Config Key  = iflag_strig
1611    !Config Desc = 
1612    !Config Def  = 0
1613    !Config Help =
1614    !
1615    iflag_strig_omp = 0
1616    CALL getin('iflag_strig',iflag_strig_omp)
1617
1618    !Config Key  = s_trig_bl
1619    !Config Desc = 
1620    !Config Def  = 0
1621    !Config Help =
1622    !
1623    s_trig_omp = 2e7
1624    CALL getin('s_trig',s_trig_omp)
1625
1626    !Config Key  = h_trig
1627    !Config Desc = 
1628    !Config Def  = 0
1629    !Config Help =
1630    !
1631    h_trig_omp = 6000.
1632    CALL getin('h_trig',h_trig_omp)
1633
1634    !Config Key  = tau_trig_shallow
1635    !Config Desc = 
1636    !Config Def  = 0
1637    !Config Help =
1638    !
1639    tau_trig_shallow_omp = 600
1640    CALL getin('tau_trig_shallow',tau_trig_shallow_omp)
1641
1642    !Config Key  = tau_trig_deep
1643    !Config Desc = 
1644    !Config Def  = 0
1645    !Config Help =
1646    !
1647    tau_trig_deep_omp = 1800
1648    CALL getin('tau_trig_deep',tau_trig_deep_omp)
1649
1650    !Config Key  = iflag_clos_bl
1651    !Config Desc = 
1652    !Config Def  = 0
1653    !Config Help =
1654    !
1655    iflag_clos_bl_omp = 0
1656    CALL getin('iflag_clos_bl',iflag_clos_bl_omp)
1657
1658    ! fin nrlmd le 10/04/2012
1659
1660    !
1661    !Config Key  = tau_thermals
1662    !Config Desc =
1663    !Config Def  = 0.
1664    !Config Help =
1665    !
1666    tau_thermals_omp = 0.
1667    CALL getin('tau_thermals',tau_thermals_omp)
1668
1669    !
1670    !Config Key  = iflag_coupl
1671    !Config Desc =
1672    !Config Def  = 0
1673    !Config Help =
1674    !
1675    iflag_coupl_omp = 0
1676    CALL getin('iflag_coupl',iflag_coupl_omp)
1677
1678    !
1679    !Config Key  = iflag_clos
1680    !Config Desc = 
1681    !Config Def  = 0
1682    !Config Help =
1683    !
1684    iflag_clos_omp = 1
1685    CALL getin('iflag_clos',iflag_clos_omp)
1686    !
1687    !Config Key  = coef_clos_ls
1688    !Config Desc = 
1689    !Config Def  = 0
1690    !Config Help =
1691    !
1692    coef_clos_ls_omp = 0.
1693    CALL getin('coef_clos_ls',coef_clos_ls_omp)
1694
1695    !
1696    !Config Key  = iflag_cvl_sigd
1697    !Config Desc = 
1698    !Config Def  = 0
1699    !Config Help =
1700    !
1701    iflag_cvl_sigd_omp = 0
1702    CALL getin('iflag_cvl_sigd',iflag_cvl_sigd_omp)
1703
1704    !Config Key  = iflag_wake
1705    !Config Desc = 
1706    !Config Def  = 0
1707    !Config Help =
1708    !
1709    iflag_wake_omp = 0
1710    CALL getin('iflag_wake',iflag_wake_omp)
1711
1712    !Config Key  = alp_offset
1713    !Config Desc = 
1714    !Config Def  = 0
1715    !Config Help =
1716    !
1717    alp_offset_omp = 0.
1718    CALL getin('alp_offset',alp_offset_omp)
1719
1720    !
1721    !Config Key  = lev_histhf
1722    !Config Desc =
1723    !Config Def  = 1
1724    !Config Help =
1725    !
1726    lev_histhf_omp = 1
1727    CALL getin('lev_histhf',lev_histhf_omp)
1728
1729    !
1730    !Config Key  = lev_histday
1731    !Config Desc =
1732    !Config Def  = 1
1733    !Config Help =
1734    !
1735    lev_histday_omp = 1
1736    CALL getin('lev_histday',lev_histday_omp)
1737
1738    !
1739    !Config Key  = lev_histmth
1740    !Config Desc =
1741    !Config Def  = 2
1742    !Config Help =
1743    !
1744    lev_histmth_omp = 2
1745    CALL getin('lev_histmth',lev_histmth_omp)
1746    !
1747    !Config Key  = lev_histins
1748    !Config Desc =
1749    !Config Def  = 1
1750    !Config Help =
1751    !
1752    lev_histins_omp = 1
1753    CALL getin('lev_histins',lev_histins_omp)
1754    !
1755    !Config Key  = lev_histLES
1756    !Config Desc =
1757    !Config Def  = 1
1758    !Config Help =
1759    !
1760    lev_histLES_omp = 1
1761    CALL getin('lev_histLES',lev_histLES_omp)
1762    !
1763    !Config Key  = lev_histdayNMC
1764    !Config Desc =
1765    !Config Def  = 8
1766    !Config Help =
1767    !
1768    lev_histdayNMC_omp = 8
1769    CALL getin('lev_histdayNMC',lev_histdayNMC_omp)
1770    !
1771    !Config Key  = levout_histNMC
1772    !Config Desc =
1773    !Config Def  = 5
1774    !Config Help =
1775    !
1776    levout_histNMC_omp(1) = 5
1777    levout_histNMC_omp(2) = 5
1778    levout_histNMC_omp(3) = 5
1779    CALL getin('levout_histNMC',levout_histNMC_omp)
1780    !
1781    !histNMC BEG
1782    !Config Key  = ok_histNMC
1783    !Config Desc = ok_histNMC(1) = frequence de sortie fichiers histmthNMC
1784    !Config Desc = ok_histNMC(2) = frequence de sortie fichiers histdayNMC
1785    !Config Desc = ok_histNMC(3) = frequence de sortie fichiers histhfNMC
1786    !Config Def  = n, n, n
1787    !Config Help =
1788    !
1789    ok_histNMC_omp(1) = .FALSE.
1790    ok_histNMC_omp(2) = .FALSE.
1791    ok_histNMC_omp(3) = .FALSE.
1792    CALL getin('ok_histNMC',ok_histNMC_omp)
1793    !
1794    !Config Key  = freq_outNMC
1795    !Config Desc = freq_outNMC(1) = frequence de sortie fichiers histmthNMC
1796    !Config Desc = freq_outNMC(2) = frequence de sortie fichiers histdayNMC
1797    !Config Desc = freq_outNMC(3) = frequence de sortie fichiers histhfNMC
1798    !Config Def  = 2592000., 86400., 21600. (1mois, 1jour, 6h)
1799    !Config Help =
1800    !
1801    freq_outNMC_omp(1) = mth_len
1802    freq_outNMC_omp(2) = 1.
1803    freq_outNMC_omp(3) = 1./4.
1804    CALL getin('freq_outNMC',freq_outNMC_omp)
1805    !
1806    !Config Key  = freq_calNMC
1807    !Config Desc = freq_calNMC(1) = frequence de calcul fichiers histmthNMC
1808    !Config Desc = freq_calNMC(2) = frequence de calcul fichiers histdayNMC
1809    !Config Desc = freq_calNMC(3) = frequence de calcul fichiers histhfNMC
1810    !Config Def  = phys_tstep
1811    !Config Help =
1812    !
1813    freq_calNMC_omp(1) = phys_tstep
1814    freq_calNMC_omp(2) = phys_tstep
1815    freq_calNMC_omp(3) = phys_tstep
1816    CALL getin('freq_calNMC',freq_calNMC_omp)
1817    !
1818    !Config Key  = type_run
1819    !Config Desc =
1820    !Config Def  = 'AMIP'/'CFMIP'  ou 'CLIM'/'ENSP'
1821    !Config Help =
1822    !
1823    type_run_omp = 'AMIP'
1824    CALL getin('type_run',type_run_omp)
1825
1826    !
1827    !Config Key  = ok_cosp
1828    !Config Desc =
1829    !Config Def  = .FALSE.
1830    !Config Help =
1831    !
1832    ok_cosp_omp = .FALSE.
1833    CALL getin('ok_cosp',ok_cosp_omp)
1834
1835    !
1836    !Config Key  = ok_airs
1837    !Config Desc =
1838    !Config Def  = .FALSE.
1839    !Config Help =
1840    !
1841    ok_airs_omp = .FALSE.
1842    CALL getin('ok_airs',ok_airs_omp)
1843
1844    !
1845    !Config Key  = ok_mensuelCOSP
1846    !Config Desc =
1847    !Config Def  = .TRUE.
1848    !Config Help =
1849    !
1850    ok_mensuelCOSP_omp = .TRUE.
1851    CALL getin('ok_mensuelCOSP',ok_mensuelCOSP_omp)
1852
1853    !
1854    !Config Key  = ok_journeCOSP
1855    !Config Desc =
1856    !Config Def  = .TRUE.
1857    !Config Help =
1858    !
1859    ok_journeCOSP_omp = .TRUE.
1860    CALL getin('ok_journeCOSP',ok_journeCOSP_omp)
1861
1862    !
1863    !Config Key  = ok_hfCOSP
1864    !Config Desc =
1865    !Config Def  = .FALSE.
1866    !Config Help =
1867    !
1868    ok_hfCOSP_omp = .FALSE.
1869    CALL getin('ok_hfCOSP',ok_hfCOSP_omp)
1870
1871    !
1872    ! coordonnees (lonmin_ins, lonmax_ins, latmin_ins, latmax_ins) pour la zone
1873    ! avec sorties instantannees tous les pas de temps de la physique => "histbilKP_ins.nc"
1874    !
1875    !Config Key  = lonmin_ins
1876    !Config Desc = 100. 
1877    !Config Def  = longitude minimale sorties "bilKP_ins"
1878    !Config Help =
1879    !
1880    lonmin_ins_omp = 100.
1881    CALL getin('lonmin_ins',lonmin_ins_omp)
1882    !
1883    !Config Key  = lonmax_ins
1884    !Config Desc = 130.
1885    !Config Def  = longitude maximale sorties "bilKP_ins"
1886    !Config Help =
1887    !
1888    lonmax_ins_omp = 130.
1889    CALL getin('lonmax_ins',lonmax_ins_omp)
1890    !
1891    !Config Key  = latmin_ins
1892    !Config Desc = -20. 
1893    !Config Def  = latitude minimale sorties "bilKP_ins"
1894    !Config Help =
1895    !
1896    latmin_ins_omp = -20.
1897    CALL getin('latmin_ins',latmin_ins_omp)
1898    !
1899    !Config Key  = latmax_ins
1900    !Config Desc = 20.
1901    !Config Def  = latitude maximale sorties "bilKP_ins"
1902    !Config Help =
1903    !
1904    latmax_ins_omp = 20.
1905    CALL getin('latmax_ins',latmax_ins_omp)
1906    !
1907    !Config Key  = ecrit_hf
1908    !Config Desc =
1909    !Config Def  = 1./8. !toutes les 3h
1910    !Config Help =
1911    !
1912    ecrit_hf_omp = 1./8.
1913    CALL getin('ecrit_hf',ecrit_hf_omp)
1914    !
1915    !Config Key  = ecrit_ins
1916    !Config Desc =
1917    !Config Def  = 1./48. ! toutes les 1/2 h
1918    !Config Help =
1919    !
1920    ecrit_ins_omp = 1./48.
1921    CALL getin('ecrit_ins',ecrit_ins_omp)
1922    !
1923    !Config Key  = ecrit_day
1924    !Config Desc =
1925    !Config Def  = 1.0 !tous les jours
1926    !Config Help = nombre de jours pour ecriture fichier histday.nc
1927    !
1928    ecrit_day_omp = 1.0
1929    CALL getin('ecrit_day',ecrit_day_omp)
1930    !
1931    !Config Key  = ecrit_mth
1932    !Config Desc =
1933    !Config Def  = 30. !tous les 30jours (1 fois par mois)
1934    !Config Help =
1935    !
1936    ecrit_mth_omp = 30.
1937    CALL getin('ecrit_mth',ecrit_mth_omp)
1938    !
1939    !Config Key  = ecrit_tra
1940    !Config Desc =
1941    !Config Def  = 30. !tous les 30jours (1 fois par mois)
1942    !Config Help =
1943    !
1944    ecrit_tra_omp = 0.
1945    CALL getin('ecrit_tra',ecrit_tra_omp)
1946    !
1947    !Config Key  = ecrit_reg
1948    !Config Desc =
1949    !Config Def  = 0.25  !4 fois par jour
1950    !Config Help =
1951    !
1952    ecrit_reg_omp = 0.25   !4 fois par jour
1953    CALL getin('ecrit_reg',ecrit_reg_omp)
1954    !
1955    !
1956    print*,'CONFPHYS OOK avant drag_ter'
1957    !
1958    ! PARAMETRES CDRAG
1959    !
1960    f_cdrag_ter_omp = 0.8
1961    CALL getin('f_cdrag_ter',f_cdrag_ter_omp)
1962    !
1963    f_cdrag_oce_omp = 0.8
1964    CALL getin('f_cdrag_oce',f_cdrag_oce_omp)
1965    !
1966
1967    ! Gustiness flags
1968    f_z0qh_oce_omp = 1.
1969    CALL getin('f_z0qh_oce',f_z0qh_oce_omp)
1970    !
1971    f_qsat_oce_omp = 1.
1972    CALL getin('f_qsat_oce',f_qsat_oce_omp)
1973    !
1974    f_gust_bl_omp = 0.
1975    CALL getin('f_gust_bl',f_gust_bl_omp)
1976    !
1977    f_gust_wk_omp = 0.
1978    CALL getin('f_gust_wk',f_gust_wk_omp)
1979    !
1980    !Config Key  = iflag_z0_oce
1981    !Config Desc = 0 (z0h=z0m), 1 (diff. equ. for z0h and z0m), -1 (z0m=z0h=z0min)
1982    !Config Def  = 0   ! z0h = z0m
1983    !Config Help =
1984    !
1985    iflag_z0_oce_omp=0
1986    CALL getin('iflag_z0_oce',iflag_z0_oce_omp)
1987    !
1988    iflag_gusts_omp=0
1989    CALL getin('iflag_gusts',iflag_gusts_omp)
1990    !
1991    min_wind_speed_omp = 1.
1992    CALL getin('min_wind_speed',min_wind_speed_omp)
1993
1994    z0m_seaice_omp = 0.002 ; CALL getin('z0m_seaice',z0m_seaice_omp)
1995    z0h_seaice_omp = 0.002 ; CALL getin('z0h_seaice',z0h_seaice_omp)
1996
1997
1998    z0m_landice_omp = 0.001 ; CALL getin('z0m_landice',z0m_landice_omp)
1999    ratio_z0hz0m_landice_omp = 1. ; CALL getin('ratio_z0hz0m_landice',ratio_z0hz0m_landice_omp)
2000
2001    f_rugoro_omp = 0.
2002    CALL getin('f_rugoro',f_rugoro_omp)
2003
2004    z0min_omp = 0.000015
2005    CALL getin('z0min',z0min_omp)
2006
2007
2008    ! PARAMETERS FOR CONVECTIVE INHIBITION BY TROPOS. DRYNESS
2009    !
2010    !Config Key  = supcrit1
2011    !Config Desc =
2012    !Config Def  = .540
2013    !Config Help =
2014    !
2015    supcrit1_omp = .540
2016    CALL getin('supcrit1',supcrit1_omp)
2017
2018    !
2019    !Config Key  = supcrit2
2020    !Config Desc =
2021    !Config Def  = .600
2022    !Config Help =
2023    !
2024    supcrit2_omp = .600
2025    CALL getin('supcrit2',supcrit2_omp)
2026
2027    !
2028    ! PARAMETERS FOR THE MIXING DISTRIBUTION
2029    ! iflag_mix: 0=OLD,
2030    !            1=NEW (JYG),           
2031    !            2=NEW + conv. depth inhib. by tropos. dryness
2032    ! '2' is NOT operationnal and should not be used.
2033    !
2034    !Config Key  = iflag_mix
2035    !Config Desc =
2036    !Config Def  = 1
2037    !Config Help =
2038    !
2039    iflag_mix_omp = 1
2040    CALL getin('iflag_mix',iflag_mix_omp)
2041
2042!
2043    ! PARAMETERS FOR THE EROSION OF THE ADIABATIC ASCENTS
2044    ! iflag_mix_adiab: 0=OLD,
2045    !                  1=NEW (CR),           
2046    !           
2047    !
2048    !Config Key  = iflag_mix_adiab
2049    !Config Desc =
2050    !Config Def  = 1
2051    !Config Help =
2052    !
2053    iflag_mix_adiab_omp = 0
2054    CALL getin('iflag_mix_adiab',iflag_mix_adiab_omp)
2055
2056    !
2057    !Config Key  = scut
2058    !Config Desc =
2059    !Config Def  = 0.95
2060    !Config Help =
2061    !
2062    scut_omp = 0.95
2063    CALL getin('scut',scut_omp)
2064
2065    !
2066    !Config Key  = qqa1
2067    !Config Desc =
2068    !Config Def  = 1.0
2069    !Config Help =
2070    !
2071    qqa1_omp = 1.0
2072    CALL getin('qqa1',qqa1_omp)
2073
2074    !
2075    !Config Key  = qqa2
2076    !Config Desc =
2077    !Config Def  = 0.0
2078    !Config Help =
2079    !
2080    qqa2_omp = 0.0
2081    CALL getin('qqa2',qqa2_omp)
2082
2083    !
2084    !Config Key  = gammas
2085    !Config Desc =
2086    !Config Def  = 0.05
2087    !Config Help =
2088    !
2089    gammas_omp = 0.05
2090    CALL getin('gammas',gammas_omp)
2091
2092    !
2093    !Config Key  = Fmax
2094    !Config Desc =
2095    !Config Def  = 0.65
2096    !Config Help =
2097    !
2098    Fmax_omp = 0.65
2099    CALL getin('Fmax',Fmax_omp)
2100
2101    !
2102    !Config Key  = tmax_fonte_cv
2103    !Config Desc =
2104    !Config Def  = 275.15
2105    !Config Help =
2106    !
2107    tmax_fonte_cv_omp = 275.15
2108    CALL getin('tmax_fonte_cv',tmax_fonte_cv_omp)
2109
2110    !
2111    !Config Key  = alphas 
2112    !Config Desc =
2113    !Config Def  = -5.
2114    !Config Help =
2115    !
2116    alphas_omp = -5.
2117    CALL getin('alphas',alphas_omp)
2118
2119    !Config key = ok_strato
2120    !Config  Desc = activation de la version strato
2121    !Config  Def  = .FALSE.
2122    !Config  Help = active la version stratosph\'erique de LMDZ de F. Lott
2123    !               Et la sponge layer (Runs Stratospheriques)
2124
2125    ok_strato_omp=.FALSE.
2126    CALL getin('ok_strato',ok_strato_omp)
2127
2128    !Config  key = ok_hines
2129    !Config  Desc = activation de la parametrisation de hines
2130    !Config  Def  = .FALSE.
2131    !Config  Help = Clefs controlant la parametrization de Hines
2132
2133    ok_hines_omp=.FALSE.
2134    CALL getin('ok_hines',ok_hines_omp)
2135
2136    !  Parametres pour les ondes de gravite
2137    ! 
2138    !  Subgrid Scale Orography (Lott Miller (1997), Lott (1999))
2139
2140    sso_gkdrag_omp = merge(0.1875, 0.2, ok_strato_omp)
2141    CALL getin('sso_gkdrag', sso_gkdrag_omp)
2142
2143    sso_grahil_omp=merge(0.1,1.,ok_strato_omp)
2144    CALL getin('sso_grahil', sso_grahil_omp)
2145
2146    sso_grcrit_omp =merge(1.,0.01,ok_strato_omp)
2147    CALL getin('sso_grcrit', sso_grcrit_omp)
2148
2149    sso_gfrcri_omp = 1.
2150    CALL getin('sso_gfrcri', sso_gfrcri_omp)
2151
2152    sso_gkwake_omp = 0.50
2153    CALL getin('sso_gkwake', sso_gkwake_omp)
2154
2155    sso_gklift_omp = merge(0.25,0.50,ok_strato_omp)
2156    CALL getin('sso_gklift', sso_gklift_omp)
2157
2158    ! Random gravity waves:
2159
2160    ok_gwd_rando_omp = .FALSE.
2161    IF ( klon_glo == 1 ) THEN
2162       print*,'La parametrisation des ondes de gravites non orographiques'
2163       print*,'ne fonctionne pas en 1D'
2164    ELSE
2165       CALL getin('ok_gwd_rando', ok_gwd_rando_omp)
2166    ENDIF
2167
2168    gwd_rando_ruwmax_omp = 2.00
2169    CALL getin('gwd_rando_ruwmax', gwd_rando_ruwmax_omp)
2170
2171    gwd_rando_sat_omp = 0.25
2172    CALL getin('gwd_rando_sat', gwd_rando_sat_omp)
2173
2174    gwd_front_ruwmax_omp = 2.50
2175    CALL getin('gwd_front_ruwmax', gwd_front_ruwmax_omp)
2176
2177    gwd_front_sat_omp = 0.60
2178    CALL getin('gwd_front_sat', gwd_front_sat_omp)
2179
2180
2181    !Config  key = ok_qch4
2182    !Config  Desc = activation de la parametrisation du methane
2183    !Config  Def  = .FALSE.
2184    !Config  Help = Clef controlant l'activation de la parametrisation
2185    !               de l'humidite due a oxydation+photolyse du methane strato
2186
2187    ok_qch4_omp=.FALSE.
2188    CALL getin('ok_qch4',ok_qch4_omp)
2189
2190    !Config Key  = OK_LES                                               
2191    !Config Desc = Pour des sorties LES                                 
2192    !Config Def  = .FALSE.                                             
2193    !Config Help = Pour creer le fichier histLES contenant les sorties 
2194    !              LES                                                 
2195    !                                                                   
2196    ok_LES_omp = .FALSE.                                             
2197    CALL getin('OK_LES', ok_LES_omp)                                 
2198
2199    !Config Key  = callstats                                               
2200    !Config Desc = Pour des sorties callstats                                 
2201    !Config Def  = .FALSE.                                             
2202    !Config Help = Pour creer le fichier stats contenant les sorties 
2203    !              stats                                                 
2204    !                                                                   
2205    callstats_omp = .FALSE.                                             
2206    CALL getin('callstats', callstats_omp)                                 
2207    !
2208    !Config Key  = ecrit_LES
2209    !Config Desc = Frequence d'ecriture des resultats du LES en nombre de jours;
2210    !              par defaut 1., i.e. 1 jour
2211    !Config Def  = 1./8.
2212    !Config Help = ...
2213    !
2214    !
2215    adjust_tropopause = .FALSE.
2216    CALL getin('adjust_tropopause', adjust_tropopause_omp)
2217    !
2218    !Config Key  = adjust_tropopause
2219    !Config Desc = Adjust the ozone field from the climoz file by stretching its
2220    !              tropopause so that it matches the one of LMDZ.
2221    !Config Def  = .FALSE.
2222    !Config Help = Ensure tropospheric ozone column conservation.
2223    !
2224    !
2225    ok_daily_climoz = .FALSE.
2226    CALL getin('ok_daily_climoz', ok_daily_climoz_omp)
2227    !
2228    !Config Key  = ok_daily_climoz
2229    !Config Desc = Interpolate in time the ozone forcings within ce0l.
2230    !              .TRUE. if backward compatibility is needed.
2231    !Config Def  = .TRUE.
2232    !Config Help = .FALSE. ensure much fewer (no calendar dependency)
2233    !  and lighter monthly climoz files, inetrpolated in time at gcm run time.
2234   
2235    ok_new_lscp_omp = .FALSE.
2236    CALL getin('ok_new_lscp', ok_new_lscp_omp)
2237    !
2238    !Config Key  = ok_new_lscp_omp
2239    !Config Desc = new cloud scheme ith ice and mixed phase (Etienne and JB)
2240    !Config Def  = .FALSE.
2241    !Config Help = ...
2242
2243
2244
2245    ok_icefra_lscp_omp = .FALSE.
2246    CALL getin('ok_icefra_lscp', ok_icefra_lscp_omp)
2247    !
2248    !Config Key  = ok_icefra_lscp_omp
2249    !Config Desc = ice fraction in radiation from lscp
2250    !Config Def  = .FALSE.
2251    !Config Help = ...
2252
2253
2254
2255    ok_bs_omp = .FALSE.
2256    CALL getin('ok_bs', ok_bs_omp)
2257    !
2258    !Config Key  = ok_bs_omp
2259    !Config Desc = include blowing snow
2260    !Config Def  = .FALSE.
2261    !Config Help = ...
2262
2263
2264    ok_rad_bs_omp = .FALSE.
2265    CALL getin('ok_rad_bs', ok_rad_bs_omp)
2266    !
2267    !Config Key  = ok_rad_bs_omp
2268    !Config Desc = include blowing snow radiative effect
2269    !Config Def  = .FALSE.
2270    !Config Help = ...
2271
2272    ecrit_LES_omp = 1./8.
2273    CALL getin('ecrit_LES', ecrit_LES_omp)
2274    !
2275    read_climoz = 0 ! default value
2276    CALL getin('read_climoz', read_climoz)
2277
2278    carbon_cycle_tr_omp=.FALSE.
2279    CALL getin('carbon_cycle_tr',carbon_cycle_tr_omp)
2280
2281    carbon_cycle_cpl_omp=.FALSE.
2282    CALL getin('carbon_cycle_cpl',carbon_cycle_cpl_omp)
2283
2284    carbon_cycle_rad_omp=.FALSE.
2285    CALL getin('carbon_cycle_rad',carbon_cycle_rad_omp)
2286
2287    read_fco2_ocean_cor_omp=.FALSE.
2288    CALL getin('read_fco2_ocean_cor',read_fco2_ocean_cor_omp)
2289
2290    var_fco2_ocean_cor_omp=0. ! default value
2291    CALL getin('var_fco2_ocean_cor',var_fco2_ocean_cor_omp)
2292
2293    read_fco2_land_cor_omp=.FALSE.
2294    CALL getin('read_fco2_land_cor',read_fco2_land_cor_omp)
2295
2296    var_fco2_land_cor_omp=0. ! default value
2297    CALL getin('var_fco2_land_cor',var_fco2_land_cor_omp)
2298
2299    ! level_coupling_esm : level of coupling of the biogeochemical fields between LMDZ, ORCHIDEE and NEMO
2300    ! Definitions of level_coupling_esm in physiq.def
2301    ! level_coupling_esm = 0  ! No field exchange between LMDZ and ORCHIDEE models
2302    !                         ! No field exchange between LMDZ and NEMO
2303    ! level_coupling_esm = 1  ! Field exchange between LMDZ and ORCHIDEE models
2304    !                         ! No field exchange between LMDZ and NEMO models
2305    ! level_coupling_esm = 2  ! No field exchange between LMDZ and ORCHIDEE models
2306    !                         ! Field exchange between LMDZ and NEMO models
2307    ! level_coupling_esm = 3  ! Field exchange between LMDZ and ORCHIDEE models
2308    !                         ! Field exchange between LMDZ and NEMO models
2309    level_coupling_esm_omp=0 ! default value
2310    CALL getin('level_coupling_esm',level_coupling_esm_omp)
2311
2312
2313    dms_cycle_cpl_omp=.FALSE.
2314    CALL getin('transm_dms_oa',dms_cycle_cpl_omp)
2315    !
2316    !Config Key  = dms_cycle_cpl
2317    !Config Desc = receive dms from pisces via oasis
2318    !Config Def  = .FALSE.
2319    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry
2320
2321    n2o_cycle_cpl_omp=.FALSE.
2322    CALL getin('transm_n2o_oa',n2o_cycle_cpl_omp)
2323    !
2324    !Config Key  = n2o_cycle_cpl
2325    !Config Desc = receive n2o from pisces via oasis
2326    !Config Def  = .FALSE.
2327    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry
2328   
2329   
2330    !$OMP END MASTER
2331    !$OMP BARRIER
2332
2333    R_ecc = R_ecc_omp
2334    R_peri = R_peri_omp
2335    R_incl = R_incl_omp
2336    solaire = solaire_omp
2337    ok_suntime_rrtm = ok_suntime_rrtm_omp
2338    co2_ppm = co2_ppm_omp
2339    co2_ppm0 = co2_ppm0_omp
2340    RCO2 = RCO2_omp
2341    CH4_ppb = CH4_ppb_omp
2342    RCH4 = RCH4_omp
2343    N2O_ppb = N2O_ppb_omp
2344    RN2O = RN2O_omp
2345    CFC11_ppt = CFC11_ppt_omp
2346    RCFC11 = RCFC11_omp
2347    CFC12_ppt = CFC12_ppt_omp
2348    RCFC12 = RCFC12_omp
2349    RCO2_act = RCO2
2350    RCH4_act = RCH4
2351    RN2O_act = RN2O
2352    RCFC11_act = RCFC11
2353    RCFC12_act = RCFC12
2354    RCO2_per = RCO2_per_omp
2355    RCH4_per = RCH4_per_omp
2356    RN2O_per = RN2O_per_omp
2357    RCFC11_per = RCFC11_per_omp
2358    RCFC12_per = RCFC12_per_omp
2359
2360    iflag_cycle_diurne = iflag_cycle_diurne_omp
2361    soil_model = soil_model_omp
2362    liqice_in_radocond = liqice_in_radocond_omp
2363    ok_orodr = ok_orodr_omp
2364    ok_orolf = ok_orolf_omp
2365    nm_oro_t=nm_oro_t_omp
2366    zstd_orodr_t=zstd_orodr_t_omp
2367    zpmm_orodr_t=zpmm_orodr_t_omp
2368    zpmm_orolf_t=zpmm_orolf_t_omp
2369    ok_limitvrai = ok_limitvrai_omp
2370    nbapp_rad = nbapp_rad_omp
2371    iflag_con = iflag_con_omp
2372    nbapp_cv = nbapp_cv_omp
2373    nbapp_wk = nbapp_wk_omp
2374    iflag_ener_conserv = iflag_ener_conserv_omp
2375    ok_mass_dtcon = ok_mass_dtcon_omp
2376    ok_mass_dqcon = ok_mass_dqcon_omp
2377    ok_mass_duvcon = ok_mass_duvcon_omp
2378    ok_conserv_q = ok_conserv_q_omp
2379    epmax = epmax_omp
2380    coef_epmax_cape = coef_epmax_cape_omp
2381    ok_adj_ema = ok_adj_ema_omp
2382    iflag_clw = iflag_clw_omp
2383    solarlong0 = solarlong0_omp
2384    qsol0 = qsol0_omp
2385    evap0 = evap0_omp
2386    albsno0 = albsno0_omp
2387    iflag_sic = iflag_sic_omp
2388    iflag_inertie = iflag_inertie_omp
2389    inertie_sol = inertie_sol_omp
2390    inertie_sic = inertie_sic_omp
2391    inertie_lic = inertie_lic_omp
2392    inertie_sno = inertie_sno_omp
2393    ok_bs = ok_bs_omp
2394    ok_rad_bs=ok_rad_bs_omp
2395    rad_froid = rad_froid_omp
2396    rad_chau1 = rad_chau1_omp
2397    rad_chau2 = rad_chau2_omp
2398    iflag_ice_thermo = iflag_ice_thermo_omp
2399    ok_ice_supersat = ok_ice_supersat_omp
2400    ok_no_issr_strato = ok_no_issr_strato_omp
2401    ok_plane_h2o = ok_plane_h2o_omp
2402    ok_plane_contrail = ok_plane_contrail_omp
2403    ok_rad_contrail = ok_rad_contrail_omp
2404    top_height = top_height_omp
2405    overlap = overlap_omp
2406    cdmmax = cdmmax_omp
2407    cdhmax = cdhmax_omp
2408    ksta = ksta_omp
2409    ksta_ter = ksta_ter_omp
2410    f_ri_cd_min = f_ri_cd_min_omp
2411    ok_kzmin = ok_kzmin_omp
2412    fmagic = fmagic_omp
2413    pmagic = pmagic_omp
2414    iflag_pbl = iflag_pbl_omp
2415    iflag_physiq = iflag_physiq_omp
2416    iflag_pbl_split = iflag_pbl_split_omp
2417!FC
2418    ifl_pbltree = ifl_pbltree_omp
2419    Cd_frein    =Cd_frein_omp
2420!AM
2421    iflag_hetero_surf = iflag_hetero_surf_omp
2422    iflag_order2_sollw = iflag_order2_sollw_omp
2423    lev_histhf = lev_histhf_omp
2424    lev_histday = lev_histday_omp
2425    lev_histmth = lev_histmth_omp
2426    lev_histins = lev_histins_omp
2427    lev_histLES = lev_histLES_omp
2428    lev_histdayNMC = lev_histdayNMC_omp
2429    levout_histNMC = levout_histNMC_omp
2430    ok_histNMC(:) = ok_histNMC_omp(:)
2431    freq_outNMC(:) = freq_outNMC_omp(:)
2432    freq_calNMC(:) = freq_calNMC_omp(:)
2433
2434    type_ocean = type_ocean_omp
2435    version_ocean = version_ocean_omp
2436    t_coupl = t_coupl_omp
2437
2438    ok_veget=.TRUE.
2439    type_veget=type_veget_omp
2440    IF (type_veget=='n' .or. type_veget=='bucket' .or. type_veget=='betaclim') THEN
2441       ok_veget=.FALSE.
2442    ENDIF
2443    ! INLANDSIS
2444    !=================================================
2445    landice_opt = landice_opt_omp
2446    iflag_tsurf_inlandsis = iflag_tsurf_inlandsis_omp
2447    iflag_temp_inlandsis = iflag_temp_inlandsis_omp
2448    iflag_albcalc = iflag_albcalc_omp
2449    SnoMod=SnoMod_omp
2450    BloMod=BloMod_omp
2451    ok_outfor=ok_outfor_omp
2452    is_ok_slush=is_ok_slush_omp
2453    opt_runoff_ac=opt_runoff_ac_omp
2454    is_ok_z0h_rn=is_ok_z0h_rn_omp
2455    is_ok_density_kotlyakov=is_ok_density_kotlyakov_omp
2456    prescribed_z0m_snow=prescribed_z0m_snow_omp
2457    correc_alb=correc_alb_omp
2458    iflag_z0m_snow=iflag_z0m_snow_omp
2459    ok_zsn_ii=ok_zsn_ii_omp
2460    discret_xf=discret_xf_omp
2461    buf_sph_pol=buf_sph_pol_omp
2462    buf_siz_pol=buf_siz_pol_omp
2463    !=================================================
2464    ok_all_xml = ok_all_xml_omp
2465    ok_lwoff = ok_lwoff_omp
2466    ok_newmicro = ok_newmicro_omp
2467    ok_journe = ok_journe_omp
2468    ok_hf = ok_hf_omp
2469    ok_mensuel = ok_mensuel_omp
2470    ok_instan = ok_instan_omp
2471    freq_ISCCP = freq_ISCCP_omp
2472    ecrit_ISCCP = ecrit_ISCCP_omp
2473    freq_COSP = freq_COSP_omp
2474    freq_AIRS = freq_AIRS_omp
2475    ok_ade = ok_ade_omp
2476    ok_aie = ok_aie_omp
2477    ok_alw = ok_alw_omp
2478    ok_cdnc = ok_cdnc_omp
2479    ok_volcan = ok_volcan_omp
2480    flag_volc_surfstrat = flag_volc_surfstrat_omp
2481    aerosol_couple = aerosol_couple_omp
2482    chemistry_couple = chemistry_couple_omp
2483    flag_aerosol = flag_aerosol_omp
2484    flag_aerosol_strat = flag_aerosol_strat_omp
2485    flag_aer_feedback = flag_aer_feedback_omp
2486    flag_bc_internal_mixture=flag_bc_internal_mixture_omp
2487    aer_type = aer_type_omp
2488    bl95_b0 = bl95_b0_omp
2489    bl95_b1 = bl95_b1_omp
2490    fact_cldcon = fact_cldcon_omp
2491    facttemps = facttemps_omp
2492    ratqsbas = ratqsbas_omp
2493    ratqshaut = ratqshaut_omp
2494    tau_ratqs = tau_ratqs_omp
2495
2496    iflag_radia = iflag_radia_omp
2497    iflag_rrtm = iflag_rrtm_omp
2498    iflag_albedo = iflag_albedo_omp
2499    ok_chlorophyll = ok_chlorophyll_omp
2500    NSW = NSW_omp
2501    iflag_cld_th = iflag_cld_th_omp
2502    iflag_cld_cv = iflag_cld_cv_omp
2503    tau_cld_cv = tau_cld_cv_omp
2504    coefw_cld_cv = coefw_cld_cv_omp
2505    iflag_ratqs = iflag_ratqs_omp
2506    ip_ebil_phy = ip_ebil_phy_omp
2507    iflag_thermals = iflag_thermals_omp
2508    nsplit_thermals = nsplit_thermals_omp
2509    tau_thermals = tau_thermals_omp
2510    alp_bl_k = alp_bl_k_omp
2511    ! nrlmd le 10/04/2012
2512    iflag_trig_bl = iflag_trig_bl_omp
2513    iflag_strig = iflag_strig_omp
2514    s_trig = s_trig_omp
2515    h_trig = h_trig_omp
2516    tau_trig_shallow = tau_trig_shallow_omp
2517    tau_trig_deep = tau_trig_deep_omp
2518    iflag_clos_bl = iflag_clos_bl_omp
2519    ! fin nrlmd le 10/04/2012
2520    iflag_coupl = iflag_coupl_omp
2521    iflag_clos = iflag_clos_omp
2522    iflag_wake = iflag_wake_omp
2523    coef_clos_ls = coef_clos_ls_omp
2524    alp_offset = alp_offset_omp
2525    iflag_cvl_sigd = iflag_cvl_sigd_omp
2526    type_run = type_run_omp
2527    ok_cosp = ok_cosp_omp
2528    ok_airs = ok_airs_omp
2529
2530    ok_mensuelCOSP = ok_mensuelCOSP_omp
2531    ok_journeCOSP = ok_journeCOSP_omp
2532    ok_hfCOSP = ok_hfCOSP_omp
2533    seuil_inversion=seuil_inversion_omp
2534    lonmin_ins = lonmin_ins_omp
2535    lonmax_ins = lonmax_ins_omp
2536    latmin_ins = latmin_ins_omp
2537    latmax_ins = latmax_ins_omp
2538    ecrit_hf   = ecrit_hf_omp
2539    ecrit_ins   = ecrit_ins_omp
2540    ecrit_day = ecrit_day_omp
2541    ecrit_mth = ecrit_mth_omp
2542    ecrit_tra = ecrit_tra_omp
2543    ecrit_reg = ecrit_reg_omp
2544    cvl_comp_threshold = cvl_comp_threshold_omp
2545    cvl_sig2feed = cvl_sig2feed_omp
2546    cvl_corr = cvl_corr_omp
2547    ok_lic_melt = ok_lic_melt_omp
2548    ok_lic_cond = ok_lic_cond_omp
2549    f_cdrag_ter=f_cdrag_ter_omp
2550    f_cdrag_oce=f_cdrag_oce_omp
2551
2552    f_gust_wk=f_gust_wk_omp
2553    f_gust_bl=f_gust_bl_omp
2554    f_qsat_oce=f_qsat_oce_omp
2555    f_z0qh_oce=f_z0qh_oce_omp
2556    min_wind_speed=min_wind_speed_omp
2557    iflag_gusts=iflag_gusts_omp
2558    iflag_z0_oce=iflag_z0_oce_omp
2559
2560    z0m_seaice=z0m_seaice_omp
2561    z0h_seaice=z0h_seaice_omp
2562    z0m_landice=z0m_landice_omp
2563    ratio_z0hz0m_landice=ratio_z0hz0m_landice_omp
2564
2565    f_rugoro=f_rugoro_omp
2566
2567    z0min=z0min_omp
2568    supcrit1 = supcrit1_omp
2569    supcrit2 = supcrit2_omp
2570    iflag_mix = iflag_mix_omp
2571    iflag_mix_adiab = iflag_mix_adiab_omp
2572    scut = scut_omp
2573    qqa1 = qqa1_omp
2574    qqa2 = qqa2_omp
2575    gammas = gammas_omp
2576    Fmax = Fmax_omp
2577    tmax_fonte_cv = tmax_fonte_cv_omp
2578    alphas = alphas_omp
2579
2580    gkdrag=sso_gkdrag_omp
2581    grahilo=sso_grahil_omp
2582    grcrit=sso_grcrit_omp
2583    gfrcrit=sso_gfrcri_omp
2584    gkwake=sso_gkwake_omp
2585    gklift=sso_gklift_omp
2586
2587    ok_strato = ok_strato_omp
2588    ok_hines = ok_hines_omp
2589    ok_gwd_rando = ok_gwd_rando_omp
2590    gwd_rando_ruwmax = gwd_rando_ruwmax_omp
2591    gwd_rando_sat = gwd_rando_sat_omp
2592    gwd_front_ruwmax = gwd_front_ruwmax_omp
2593    gwd_front_sat = gwd_front_sat_omp
2594    ok_qch4 = ok_qch4_omp
2595    ok_LES = ok_LES_omp
2596    callstats = callstats_omp
2597    ecrit_LES = ecrit_LES_omp
2598    adjust_tropopause = adjust_tropopause_omp
2599    ok_daily_climoz = ok_daily_climoz_omp
2600    carbon_cycle_tr = carbon_cycle_tr_omp
2601    carbon_cycle_cpl = carbon_cycle_cpl_omp
2602    carbon_cycle_rad = carbon_cycle_rad_omp
2603    level_coupling_esm = level_coupling_esm_omp
2604    ok_new_lscp = ok_new_lscp_omp
2605    ok_icefra_lscp=ok_icefra_lscp_omp
2606    read_fco2_ocean_cor = read_fco2_ocean_cor_omp
2607    var_fco2_ocean_cor = var_fco2_ocean_cor_omp
2608    read_fco2_land_cor = read_fco2_land_cor_omp
2609    var_fco2_land_cor = var_fco2_land_cor_omp
2610    dms_cycle_cpl = dms_cycle_cpl_omp
2611    n2o_cycle_cpl = n2o_cycle_cpl_omp
2612    !rajout Olivier Torres
2613    kz0=kz0_omp
2614    choix_bulk = choix_bulk_omp
2615    nit_bulk = nit_bulk_omp
2616
2617    ! Test of coherence between type_ocean and version_ocean
2618    IF (type_ocean=='couple' .AND. (version_ocean/='opa8' .AND. version_ocean/='nemo') ) THEN
2619       WRITE(lunout,*)' ERROR version_ocean=',version_ocean,' not valid in coupled configuration'
2620       CALL abort_physic('conf_phys','version_ocean not valid',1)
2621    ENDIF
2622
2623    IF (type_ocean=='slab' .AND. version_ocean=='xxxxxx') THEN
2624       version_ocean='sicOBS'
2625    ELSE IF (type_ocean=='slab' .AND. version_ocean/='sicOBS' &
2626         .AND. version_ocean/='sicINT' .AND. version_ocean/='sicNO') THEN
2627       WRITE(lunout,*)' ERROR version_ocean=',version_ocean,' not valid with slab ocean'
2628       CALL abort_physic('conf_phys','version_ocean not valid',1)
2629    ENDIF
2630
2631    !--test on radiative scheme
2632    IF (iflag_rrtm .EQ. 0) THEN
2633      IF (NSW.NE.2) THEN
2634        WRITE(lunout,*) ' ERROR iflag_rrtm=0 and NSW<>2 not possible'
2635        CALL abort_physic('conf_phys','choice NSW not valid',1)
2636      ENDIF
2637    ELSE IF (iflag_rrtm .EQ. 1) THEN
2638      IF (NSW.NE.2.AND.NSW.NE.4.AND.NSW.NE.6) THEN
2639        WRITE(lunout,*) ' ERROR iflag_rrtm=1 and NSW<>2,4,6 not possible'
2640        CALL abort_physic('conf_phys','choice NSW not valid',1)
2641      ENDIF
2642   ELSE IF (iflag_rrtm .EQ. 2) THEN
2643      IF (NSW.NE.2.AND.NSW.NE.4.AND.NSW.NE.6) THEN
2644        WRITE(lunout,*) ' ERROR iflag_rrtm=1 and NSW<>2,4,6 not possible'
2645        CALL abort_physic('conf_phys','choice NSW not valid',1)
2646      ENDIF
2647    ELSE
2648       WRITE(lunout,*) ' ERROR iflag_rrtm<>0,1'
2649       CALL abort_physic('conf_phys','choice iflag_rrtm not valid',1)
2650    ENDIF
2651    !--here we test that solaire has not been changed if ok_suntime_rrtm is activated
2652!    IF (ok_suntime_rrtm.AND.ABS(solaire-solaire_omp_init).GT.1.E-7) THEN
2653!       WRITE(lunout,*) ' ERROR ok_suntime_rrtm=y and solaire is provided in def file'
2654!       CALL abort_physic('conf_phys','ok_suntime_rrtm=y and solaire is provided',1)
2655!    ENDIF
2656IF (CPPKEY_STRATAER) THEN
2657    IF (iflag_rrtm .NE. 1) THEN
2658       WRITE(lunout,*) ' ERROR iflag_rrtm<>1 but StratAer activated'
2659       CALL abort_physic('conf_phys','iflag_rrtm not valid for StratAer',1)
2660    ENDIF
2661    IF (NSW .NE. 6) THEN
2662       WRITE(lunout,*) ' ERROR NSW<>6 but StratAer activated'
2663       CALL abort_physic('conf_phys','NSW not valid for StratAer',1)
2664    ENDIF
2665END IF
2666
2667    !--test on ocean surface albedo
2668    IF (iflag_albedo.LT.0.OR.iflag_albedo.GT.2) THEN
2669       WRITE(lunout,*) ' ERROR iflag_albedo<>0,1'
2670       CALL abort_physic('conf_phys','choice iflag_albedo not valid',1)
2671    ENDIF
2672
2673    ! Flag_aerosol cannot be set to zero if aerosol direct effect (ade) or aerosol indirect effect (aie) are activated
2674    IF (ok_ade .OR. ok_aie) THEN
2675       IF ( flag_aerosol .EQ. 0 ) THEN
2676          CALL abort_physic('conf_phys','flag_aerosol=0 not compatible avec ok_ade ou ok_aie=.TRUE.',1)
2677       ENDIF
2678    ENDIF
2679
2680    ! Flag_aerosol cannot be set to zero if we are in coupled mode for aerosol
2681    IF (aerosol_couple .AND. flag_aerosol .EQ. 0 ) THEN
2682       CALL abort_physic('conf_phys', 'flag_aerosol cannot be to zero if aerosol_couple=y ', 1)
2683    ENDIF
2684
2685    ! Read_climoz needs to be set zero if we are in couple mode for chemistry
2686    IF (chemistry_couple .AND. read_climoz .ne. 0) THEN
2687       CALL abort_physic('conf_phys', 'read_climoz need to be to zero if chemistry_couple=y ', 1)
2688    ENDIF
2689
2690    ! flag_aerosol need to be different to zero if ok_cdnc is activated
2691    IF (ok_cdnc .AND. flag_aerosol .EQ. 0) THEN
2692       CALL abort_physic('conf_phys', 'flag_aerosol cannot be to zero if ok_cdnc is activated ', 1)
2693    ENDIF
2694
2695    ! ok_cdnc must be set to y if ok_aie is activated
2696    IF (ok_aie .AND. .NOT. ok_cdnc) THEN
2697       CALL abort_physic('conf_phys', 'ok_cdnc must be set to y if ok_aie is activated',1)
2698    ENDIF
2699
2700    ! flag_aerosol=7 => MACv2SP climatology
2701    IF (flag_aerosol.EQ.7.AND. iflag_rrtm.NE.1) THEN
2702       CALL abort_physic('conf_phys', 'flag_aerosol=7 (MACv2SP) can only be activated with RRTM',1)
2703    ENDIF
2704    IF (flag_aerosol.EQ.7.AND. NSW.NE.6) THEN
2705       CALL abort_physic('conf_phys', 'flag_aerosol=7 (MACv2SP) can only be activated with NSW=6',1)
2706    ENDIF
2707
2708    ! BC internal mixture is only possible with RRTM & NSW=6 & flag_aerosol=6 or aerosol_couple
2709    IF (flag_bc_internal_mixture .AND. NSW.NE.6) THEN
2710       CALL abort_physic('conf_phys', 'flag_bc_internal_mixture can only be activated with NSW=6',1)
2711    ENDIF
2712    IF (flag_bc_internal_mixture .AND. iflag_rrtm.NE.1) THEN
2713       CALL abort_physic('conf_phys', 'flag_bc_internal_mixture can only be activated with RRTM',1)
2714    ENDIF
2715    IF (flag_bc_internal_mixture .AND. flag_aerosol.NE.6) THEN
2716       CALL abort_physic('conf_phys', 'flag_bc_internal_mixture can only be activated with flag_aerosol=6',1)
2717    ENDIF
2718
2719    ! test sur flag_volc_surfstrat
2720    IF (flag_volc_surfstrat.LT.0.OR.flag_volc_surfstrat.GT.2) THEN
2721       CALL abort_physic('conf_phys', 'flag_volc_surfstrat can only be 0 1 or 2',1)
2722    ENDIF
2723    IF ((.NOT.ok_volcan.OR..NOT.ok_ade.OR..NOT.ok_aie).AND.flag_volc_surfstrat.GT.0) THEN
2724       CALL abort_physic('conf_phys', 'ok_ade, ok_aie, ok_volcan need to be activated if flag_volc_surfstrat is 1 or 2',1)
2725    ENDIF
2726
2727    ! Test on carbon cycle
2728    IF (carbon_cycle_tr .AND. .NOT. carbon_cycle_cpl) THEN
2729       CALL abort_physic('conf_phys', 'carbon_cycle_cpl has to be TRUE if carbon_cycle_tr is on',1)
2730    ENDIF
2731    IF (carbon_cycle_rad .AND. .NOT. carbon_cycle_cpl) THEN
2732       CALL abort_physic('conf_phys', 'carbon_cycle_cpl has to be TRUE if carbon_cycle_rad is on',1)
2733    ENDIF
2734
2735
2736    ! Test on chemistry cycle
2737    IF ((type_trac .ne. "inca" .AND. type_trac .ne. "inco") .AND. ( dms_cycle_cpl .OR. n2o_cycle_cpl)  ) THEN
2738       CALL abort_physic('conf_phys', 'dms_cycle_cpl or n2o_cycle_cpl has to be TRUE only with INCA coupling model',1)
2739    ENDIF
2740   
2741    ! ORCHIDEE must be activated for ifl_pbltree=1
2742    IF (.NOT. ok_veget .AND. ifl_pbltree==1) THEN
2743       WRITE(lunout,*)'Warning: ORCHIDEE must be activated for ifl_pbltree=1'
2744       WRITE(lunout,*)'ifl_pbltree is now changed to zero'
2745       ifl_pbltree=0
2746    ENDIF
2747
2748    !$OMP MASTER
2749
2750    WRITE(lunout,*) ' ##############################################'
2751    WRITE(lunout,*) ' Configuration des parametres de la physique: '
2752    WRITE(lunout,*) ' Type ocean = ', type_ocean
2753    WRITE(lunout,*) ' Version ocean = ', version_ocean
2754    WRITE(lunout,*) ' Config veget = ', ok_veget,type_veget
2755    WRITE(lunout,*) ' Snow model landice : landice_opt = ', landice_opt
2756    WRITE(lunout,*) ' Config xml pour XIOS : ok_all_xml = ', ok_all_xml
2757    WRITE(lunout,*) ' Sortie journaliere = ', ok_journe
2758    WRITE(lunout,*) ' Sortie haute frequence = ', ok_hf
2759    WRITE(lunout,*) ' Sortie mensuelle = ', ok_mensuel
2760    WRITE(lunout,*) ' Sortie instantanee = ', ok_instan
2761    WRITE(lunout,*) ' Frequence appel simulateur ISCCP, freq_ISCCP =', freq_ISCCP
2762    WRITE(lunout,*) ' Frequence appel simulateur ISCCP, ecrit_ISCCP =', ecrit_ISCCP
2763    WRITE(lunout,*) ' Frequence appel simulateur COSP, freq_COSP =', freq_COSP
2764    WRITE(lunout,*) ' Frequence appel simulateur AIRS, freq_AIRS =', freq_AIRS
2765    WRITE(lunout,*) ' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy
2766    WRITE(lunout,*) ' Excentricite = ',R_ecc
2767    WRITE(lunout,*) ' Equinoxe = ',R_peri
2768    WRITE(lunout,*) ' Inclinaison =',R_incl
2769    WRITE(lunout,*) ' Constante solaire =',solaire
2770    WRITE(lunout,*) ' ok_suntime_rrtm =',ok_suntime_rrtm
2771    WRITE(lunout,*) ' co2_ppm =',co2_ppm
2772    WRITE(lunout,*) ' co2_ppm0 =',co2_ppm0
2773    WRITE(lunout,*) ' RCO2_act = ',RCO2_act
2774    WRITE(lunout,*) ' CH4_ppb =',CH4_ppb,' RCH4_act = ',RCH4_act
2775    WRITE(lunout,*) ' N2O_ppb =',N2O_ppb,' RN2O_act=  ',RN2O_act
2776    WRITE(lunout,*) ' CFC11_ppt=',CFC11_ppt,' RCFC11_act=  ',RCFC11_act
2777    WRITE(lunout,*) ' CFC12_ppt=',CFC12_ppt,' RCFC12_act=  ',RCFC12_act
2778    WRITE(lunout,*) ' RCO2_per = ',RCO2_per,' RCH4_per = ', RCH4_per
2779    WRITE(lunout,*) ' RN2O_per = ',RN2O_per,' RCFC11_per = ', RCFC11_per
2780    WRITE(lunout,*) ' RCFC12_per = ',RCFC12_per
2781    WRITE(lunout,*) ' cvl_comp_threshold=', cvl_comp_threshold
2782    WRITE(lunout,*) ' cvl_sig2feed=', cvl_sig2feed
2783    WRITE(lunout,*) ' cvl_corr=', cvl_corr
2784    WRITE(lunout,*) ' ok_lic_melt=', ok_lic_melt
2785    WRITE(lunout,*) ' ok_lic_cond=', ok_lic_cond
2786    WRITE(lunout,*) ' iflag_cycle_diurne=',iflag_cycle_diurne
2787    WRITE(lunout,*) ' soil_model=',soil_model
2788    WRITE(lunout,*) ' liqice_in_radocond=',liqice_in_radocond
2789    WRITE(lunout,*) ' ok_orodr=',ok_orodr
2790    WRITE(lunout,*) ' ok_orolf=',ok_orolf
2791    WRITE(lunout,*) ' nm_oro_t=',nm_oro_t
2792    WRITE(lunout,*) ' zstd_orodr_t=',zstd_orodr_t
2793    WRITE(lunout,*) ' zpmm_orodr_t=',zpmm_orodr_t
2794    WRITE(lunout,*) ' zpmm_orolf_t=',zpmm_orolf_t
2795    WRITE(lunout,*) ' ok_limitvrai=',ok_limitvrai
2796    WRITE(lunout,*) ' nbapp_rad=',nbapp_rad
2797    WRITE(lunout,*) ' iflag_con=',iflag_con
2798    WRITE(lunout,*) ' nbapp_cv=',nbapp_cv
2799    WRITE(lunout,*) ' nbapp_wk=',nbapp_wk
2800    WRITE(lunout,*) ' iflag_ener_conserv=',iflag_ener_conserv
2801    WRITE(lunout,*) ' ok_conserv_q=',ok_conserv_q
2802    WRITE(lunout,*) ' ok_mass_dtcon=',ok_mass_dtcon
2803    WRITE(lunout,*) ' ok_mass_dqcon=',ok_mass_dqcon
2804    WRITE(lunout,*) ' ok_mass_duvcon=',ok_mass_duvcon
2805    WRITE(lunout,*) ' epmax = ', epmax
2806    WRITE(lunout,*) ' coef_epmax_cape = ', coef_epmax_cape
2807    WRITE(lunout,*) ' ok_adj_ema = ', ok_adj_ema
2808    WRITE(lunout,*) ' iflag_clw = ', iflag_clw
2809    WRITE(lunout,*) ' iflag_cld_th = ', iflag_cld_th
2810    WRITE(lunout,*) ' iflag_cld_cv = ', iflag_cld_cv
2811    WRITE(lunout,*) ' tau_cld_cv = ', tau_cld_cv
2812    WRITE(lunout,*) ' coefw_cld_cv = ', coefw_cld_cv
2813    WRITE(lunout,*) ' iflag_radia = ', iflag_radia
2814    WRITE(lunout,*) ' iflag_rrtm = ', iflag_rrtm
2815    WRITE(lunout,*) ' NSW = ', NSW
2816    WRITE(lunout,*) ' iflag_albedo = ', iflag_albedo !albedo SB
2817    WRITE(lunout,*) ' ok_chlorophyll =',ok_chlorophyll ! albedo SB
2818    WRITE(lunout,*) ' iflag_ratqs = ', iflag_ratqs
2819    WRITE(lunout,*) ' seuil_inversion = ', seuil_inversion
2820    WRITE(lunout,*) ' fact_cldcon = ', fact_cldcon
2821    WRITE(lunout,*) ' facttemps = ', facttemps
2822    WRITE(lunout,*) ' ok_newmicro = ',ok_newmicro
2823    WRITE(lunout,*) ' ratqsbas = ',ratqsbas
2824    WRITE(lunout,*) ' ratqshaut = ',ratqshaut
2825    WRITE(lunout,*) ' tau_ratqs = ',tau_ratqs
2826    WRITE(lunout,*) ' top_height = ',top_height
2827    WRITE(lunout,*) ' rad_froid = ',rad_froid
2828    WRITE(lunout,*) ' rad_chau1 = ',rad_chau1
2829    WRITE(lunout,*) ' rad_chau2 = ',rad_chau2
2830    WRITE(lunout,*) ' iflag_ice_thermo = ',iflag_ice_thermo
2831    WRITE(lunout,*) ' ok_ice_supersat = ',ok_ice_supersat
2832    WRITE(lunout,*) ' ok_no_issr_strato = ',ok_no_issr_strato
2833    WRITE(lunout,*) ' ok_plane_h2o = ',ok_plane_h2o
2834    WRITE(lunout,*) ' ok_plane_contrail = ',ok_plane_contrail
2835    WRITE(lunout,*) ' ok_rad_contrail = ',ok_rad_contrail
2836    WRITE(lunout,*) ' overlap = ',overlap
2837    WRITE(lunout,*) ' cdmmax = ',cdmmax
2838    WRITE(lunout,*) ' cdhmax = ',cdhmax
2839    WRITE(lunout,*) ' ksta = ',ksta
2840    WRITE(lunout,*) ' ksta_ter = ',ksta_ter
2841    WRITE(lunout,*) ' f_ri_cd_min = ',f_ri_cd_min
2842    WRITE(lunout,*) ' ok_kzmin = ',ok_kzmin
2843    WRITE(lunout,*) ' fmagic = ',fmagic
2844    WRITE(lunout,*) ' pmagic = ',pmagic
2845    WRITE(lunout,*) ' ok_ade = ',ok_ade
2846    WRITE(lunout,*) ' ok_volcan = ',ok_volcan
2847    WRITE(lunout,*) ' flag_volc_surfstrat = ',flag_volc_surfstrat
2848    WRITE(lunout,*) ' ok_aie = ',ok_aie
2849    WRITE(lunout,*) ' ok_alw = ',ok_alw
2850    WRITE(lunout,*) ' aerosol_couple = ', aerosol_couple
2851    WRITE(lunout,*) ' chemistry_couple = ', chemistry_couple
2852    WRITE(lunout,*) ' flag_aerosol = ', flag_aerosol
2853    WRITE(lunout,*) ' flag_aerosol_strat= ', flag_aerosol_strat
2854    WRITE(lunout,*) ' flag_aer_feedback= ', flag_aer_feedback
2855    WRITE(lunout,*) ' aer_type = ',aer_type
2856    WRITE(lunout,*) ' bl95_b0 = ',bl95_b0
2857    WRITE(lunout,*) ' bl95_b1 = ',bl95_b1
2858    WRITE(lunout,*) ' lev_histhf = ',lev_histhf
2859    WRITE(lunout,*) ' lev_histday = ',lev_histday
2860    WRITE(lunout,*) ' lev_histmth = ',lev_histmth
2861    WRITE(lunout,*) ' lev_histins = ',lev_histins
2862    WRITE(lunout,*) ' lev_histLES = ',lev_histLES
2863    WRITE(lunout,*) ' lev_histdayNMC = ',lev_histdayNMC
2864    WRITE(lunout,*) ' levout_histNMC = ',levout_histNMC
2865    WRITE(lunout,*) ' ok_histNMC = ',ok_histNMC
2866    WRITE(lunout,*) ' freq_outNMC = ',freq_outNMC
2867    WRITE(lunout,*) ' freq_calNMC = ',freq_calNMC
2868    WRITE(lunout,*) ' iflag_pbl = ', iflag_pbl
2869    WRITE(lunout,*) ' iflag_physiq = ', iflag_physiq
2870!FC
2871    WRITE(lunout,*) ' ifl_pbltree = ', ifl_pbltree
2872    WRITE(lunout,*) ' Cd_frein = ', Cd_frein
2873!AM
2874    WRITE(lunout,*) ' iflag_hetero_surf = ', iflag_hetero_surf
2875    WRITE(lunout,*) ' iflag_pbl_split = ', iflag_pbl_split
2876    WRITE(lunout,*) ' iflag_order2_sollw = ', iflag_order2_sollw
2877    WRITE(lunout,*) ' iflag_thermals = ', iflag_thermals
2878    WRITE(lunout,*) ' iflag_clos = ', iflag_clos
2879    WRITE(lunout,*) ' coef_clos_ls = ', coef_clos_ls
2880    WRITE(lunout,*) ' type_run = ',type_run
2881    WRITE(lunout,*) ' ok_cosp = ',ok_cosp
2882    WRITE(lunout,*) ' ok_airs = ',ok_airs
2883
2884    WRITE(lunout,*) ' ok_mensuelCOSP = ',ok_mensuelCOSP
2885    WRITE(lunout,*) ' ok_journeCOSP = ',ok_journeCOSP
2886    WRITE(lunout,*) ' ok_hfCOSP =',ok_hfCOSP
2887    WRITE(lunout,*) ' solarlong0 = ', solarlong0
2888    WRITE(lunout,*) ' qsol0 = ', qsol0
2889    WRITE(lunout,*) ' evap0 = ', evap0
2890    WRITE(lunout,*) ' albsno0 = ', albsno0
2891    WRITE(lunout,*) ' iflag_sic = ', iflag_sic
2892    WRITE(lunout,*) ' iflag_inertie = ', iflag_inertie
2893    WRITE(lunout,*) ' inertie_sol = ', inertie_sol
2894    WRITE(lunout,*) ' inertie_sic = ', inertie_sic
2895    WRITE(lunout,*) ' inertie_lic = ', inertie_lic
2896    WRITE(lunout,*) ' inertie_sno = ', inertie_sno
2897    WRITE(lunout,*) ' ok_bs = ', ok_bs
2898    WRITE(lunout,*) ' ok_rad_bs = ', ok_rad_bs
2899    WRITE(lunout,*) ' f_cdrag_ter = ',f_cdrag_ter
2900    WRITE(lunout,*) ' f_cdrag_oce = ',f_cdrag_oce
2901    WRITE(lunout,*) ' f_rugoro = ',f_rugoro
2902    WRITE(lunout,*) ' z0min = ',z0min
2903    WRITE(lunout,*) ' supcrit1 = ', supcrit1
2904    WRITE(lunout,*) ' supcrit2 = ', supcrit2
2905    WRITE(lunout,*) ' iflag_mix = ', iflag_mix
2906    WRITE(lunout,*) ' iflag_mix_adiab = ', iflag_mix_adiab
2907    WRITE(lunout,*) ' scut = ', scut
2908    WRITE(lunout,*) ' qqa1 = ', qqa1
2909    WRITE(lunout,*) ' qqa2 = ', qqa2
2910    WRITE(lunout,*) ' gammas = ', gammas
2911    WRITE(lunout,*) ' Fmax = ', Fmax
2912    WRITE(lunout,*) ' tmax_fonte_cv = ', tmax_fonte_cv
2913    WRITE(lunout,*) ' alphas = ', alphas
2914    WRITE(lunout,*) ' iflag_wake = ', iflag_wake
2915    WRITE(lunout,*) ' alp_offset = ', alp_offset
2916    ! nrlmd le 10/04/2012
2917    WRITE(lunout,*) ' iflag_trig_bl = ', iflag_trig_bl
2918    WRITE(lunout,*) ' iflag_strig = ', iflag_strig
2919    WRITE(lunout,*) ' s_trig = ', s_trig
2920    WRITE(lunout,*) ' h_trig = ', h_trig
2921    WRITE(lunout,*) ' tau_trig_shallow = ', tau_trig_shallow
2922    WRITE(lunout,*) ' tau_trig_deep = ', tau_trig_deep
2923    WRITE(lunout,*) ' iflag_clos_bl = ', iflag_clos_bl
2924    ! fin nrlmd le 10/04/2012
2925
2926    WRITE(lunout,*) ' lonmin lonmax latmin latmax bilKP_ins =',&
2927         lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
2928    WRITE(lunout,*) ' ecrit_ hf, ins, day, mth, reg, tra, ISCCP, LES',&
2929         ecrit_hf, ecrit_ins, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP, ecrit_LES
2930
2931    WRITE(lunout,*) ' ok_strato = ', ok_strato
2932    WRITE(lunout,*) ' ok_hines = ',  ok_hines
2933    WRITE(lunout,*) ' ok_gwd_rando = ',  ok_gwd_rando
2934    WRITE(lunout,*) ' ok_qch4 = ',  ok_qch4
2935    WRITE(lunout,*) ' gwd_rando_ruwmax = ', gwd_rando_ruwmax
2936    WRITE(lunout,*) ' gwd_rando_sat = ', gwd_rando_sat
2937    WRITE(lunout,*) ' gwd_front_ruwmax = ', gwd_front_ruwmax
2938    WRITE(lunout,*) ' gwd_front_sat = ', gwd_front_sat
2939    WRITE(lunout,*) ' SSO gkdrag =',gkdrag
2940    WRITE(lunout,*) ' SSO grahilo=',grahilo
2941    WRITE(lunout,*) ' SSO grcrit=',grcrit
2942    WRITE(lunout,*) ' SSO gfrcrit=',gfrcrit
2943    WRITE(lunout,*) ' SSO gkwake=',gkwake
2944    WRITE(lunout,*) ' SSO gklift=',gklift
2945    WRITE(lunout,*) ' adjust_tropopause = ', adjust_tropopause
2946    WRITE(lunout,*) ' ok_daily_climoz = ',ok_daily_climoz
2947    WRITE(lunout,*) ' ok_new_lscp = ', ok_new_lscp
2948    WRITE(lunout,*) ' ok_icefra_lscp = ', ok_icefra_lscp
2949    WRITE(lunout,*) ' read_climoz = ', read_climoz
2950    WRITE(lunout,*) ' carbon_cycle_tr = ', carbon_cycle_tr
2951    WRITE(lunout,*) ' carbon_cycle_cpl = ', carbon_cycle_cpl
2952    WRITE(lunout,*) ' carbon_cycle_rad = ', carbon_cycle_rad
2953    WRITE(lunout,*) ' level_coupling_esm = ', level_coupling_esm
2954    WRITE(lunout,*) ' read_fco2_ocean_cor = ', read_fco2_ocean_cor
2955    WRITE(lunout,*) ' var_fco2_ocean_cor = ', var_fco2_ocean_cor
2956    WRITE(lunout,*) ' read_fco2_land_cor = ', read_fco2_land_cor
2957    WRITE(lunout,*) ' var_fco2_land_cor = ', var_fco2_land_cor
2958    WRITE(lunout,*) ' dms_cycle_cpl = ', dms_cycle_cpl
2959    WRITE(lunout,*) ' n2o_cycle_cpl = ', n2o_cycle_cpl
2960    WRITE(lunout,*) ' iflag_tsurf_inlandsis = ', iflag_tsurf_inlandsis
2961    WRITE(lunout,*) ' iflag_temp_inlandsis = ', iflag_temp_inlandsis
2962    WRITE(lunout,*) ' iflag_albcalc = ', iflag_albcalc
2963    WRITE(lunout,*) ' SnoMod = ', SnoMod
2964    WRITE(lunout,*) ' BloMod = ', BloMod
2965    WRITE(lunout,*) ' ok_outfor = ', ok_outfor
2966    WRITE(lunout,*) ' is_ok_slush = ', is_ok_slush
2967    WRITE(lunout,*) ' opt_runoff_ac = ', opt_runoff_ac
2968    WRITE(lunout,*) ' is_ok_z0h_rn = ', is_ok_z0h_rn
2969    WRITE(lunout,*) ' is_ok_density_kotlyakov = ', is_ok_density_kotlyakov
2970    WRITE(lunout,*) ' prescribed_z0m_snow = ', prescribed_z0m_snow
2971    WRITE(lunout,*) ' iflag_z0m_snow = ', iflag_z0m_snow
2972    WRITE(lunout,*) ' ok_zsn_ii = ', ok_zsn_ii
2973    WRITE(lunout,*) ' discret_xf = ', discret_xf
2974    WRITE(lunout,*) ' correc_alb= ', correc_alb
2975    WRITE(lunout,*) ' buf_sph_pol = ', buf_sph_pol
2976    WRITE(lunout,*) ' buf_siz_pol= ', buf_siz_pol
2977    !rajout Olivier Torres
2978    write(lunout,*) 'choix_bulk = ', choix_bulk
2979    write(lunout,*) 'nit_bulk = ', nit_bulk
2980    write(lunout,*) 'kz0 = ', kz0
2981
2982    !$OMP END MASTER
2983    call config_ocean_skin
2984
2985  END SUBROUTINE conf_phys
2986
2987END MODULE conf_phys_m
2988!
2989!#################################################################
2990!
2991
2992SUBROUTINE conf_interface(tau_calv)
2993
2994  USE IOIPSL
2995  USE print_control_mod, ONLY: lunout
2996  IMPLICIT NONE
2997  ! Configuration de l'interace atm/surf
2998  !
2999  ! tau_calv:    temps de relaxation pour la fonte des glaciers
3000  !
3001  REAL          :: tau_calv
3002  REAL, SAVE    :: tau_calv_omp
3003  !
3004  !Config Key  = tau_calv
3005  !Config Desc = temps de relaxation pour fonte des glaciers en jours
3006  !Config Def  = 1 an
3007  !Config Help =
3008  !
3009  tau_calv_omp = 360.*10.
3010  !$OMP MASTER
3011  CALL getin('tau_calv',tau_calv_omp)
3012  !$OMP END MASTER
3013  !$OMP BARRIER
3014  !
3015  tau_calv=tau_calv_omp
3016  !
3017  !$OMP MASTER
3018  WRITE(lunout,*)' ##############################################'
3019  WRITE(lunout,*)' Configuration de l''interface atm/surfaces  : '
3020  WRITE(lunout,*)' tau_calv = ',tau_calv
3021  !$OMP END MASTER
3022  !
3023  RETURN
3024
3025END SUBROUTINE conf_interface
Note: See TracBrowser for help on using the repository browser.