source: LMDZ6/branches/blowing_snow/libf/phylmd/conf_phys_m.F90

Last change on this file was 4485, checked in by evignon, 21 months ago

premier commit pour l'ajout de la neige soufflee sur la nouvelle branche

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