source: LMDZ6/trunk/libf/phylmd/conf_phys_m.f90 @ 6005

Last change on this file since 6005 was 6005, checked in by evignon, 3 months ago

poursuite du travail sur ratqs avec des efforts de replayisation

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