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

Last change on this file since 5279 was 5274, checked in by abarral, 9 months ago

Replace yomcst.h by existing module

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