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

Last change on this file since 5715 was 5687, checked in by acozic, 4 weeks ago

Add new flag to coupled N deposition between atm and ocean
coupling initialized in lmdz but send is in inca code
can be use only with inca chemistry

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