!
! $Id: conf_phys.F90 1668 2012-10-12 10:47:37Z idelkadi $
!
!
!
MODULE conf_phys_m

  USE clesphys_mod_h
    IMPLICIT NONE

CONTAINS

  SUBROUTINE conf_phys(ok_journe, ok_mensuel, ok_instan, ok_hf, &
       ok_LES,&
       callstats,&
       solarlong0,seuil_inversion, &
       fact_cldcon, facttemps,ok_newmicro,iflag_radia,&
       iflag_cld_th, &
       ratqsbas,ratqshaut,tau_ratqs, &
       ok_ade, ok_aie, ok_alw, ok_cdnc, ok_volcan, flag_volc_surfstrat, aerosol_couple, &
       chemistry_couple, flag_aerosol, flag_aerosol_strat, flag_aer_feedback, &
       flag_bc_internal_mixture, bl95_b0, bl95_b1,&
       read_climoz, &
       alp_offset)

USE yoegwd_mod_h
    USE yomcst2_mod_h
        USE compbl_mod_h
    USE alpale_mod
    USE conema3_mod_h
    USE yomcst_mod_h
    USE IOIPSL
    USE surface_data
    USE phys_cal_mod
    USE carbon_cycle_mod,  ONLY: carbon_cycle_tr, carbon_cycle_cpl, carbon_cycle_rad, level_coupling_esm
    USE carbon_cycle_mod,  ONLY: read_fco2_ocean_cor,var_fco2_ocean_cor
    USE carbon_cycle_mod,  ONLY: read_fco2_land_cor,var_fco2_land_cor
    USE chemistry_cycle_mod, ONLY: dms_cycle_cpl, n2o_cycle_cpl, ndp_cycle_cpl, nh3_cycle_cpl
    USE mod_grid_phy_lmdz, ONLY: klon_glo
    USE print_control_mod, ONLY: lunout
    use config_ocean_skin_m, only: config_ocean_skin
    USE phys_state_var_mod, ONLY: phys_tstep
    USE infotrac_phy, ONLY: type_trac
    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER
    USE comsoil_mod_h
    USE nuage_params_mod_h

    !
    ! Configuration de la "physique" de LMDZ a l'aide de la fonction
    ! GETIN de IOIPSL
    !
    ! LF 05/2001
    !
    ! type_ocean:      type d'ocean (force, slab, couple)
    ! version_ocean:   version d'ocean (opa8/nemo pour type_ocean=couple ou 
    !                                   sicOBS,sicINT,sicNO pour type_ocean=slab)
    ! ok_veget:   type de modele de vegetation
    ! ok_journe:  sorties journalieres
    ! ok_hf:  sorties haute frequence
    ! ok_mensuel: sorties mensuelles
    ! ok_instan:  sorties instantanees
    ! ok_ade, ok_aie: apply or not aerosol direct and indirect effects
    ! ok_alw: activate aerosol LW effect
    ! ok_cdnc, ok cloud droplet number concentration
    ! flag_aerosol_strat : flag pour les aerosols stratos
    ! flag_bc_internal_mixture : use BC internal mixture if true
    ! bl95_b*: parameters in the formula to link CDNC to aerosol mass conc 
    ! ok_volcan: activate volcanic diags (SW heat & LW cool rate, SW & LW flux)
    ! flag_volc_surfstrat: VolMIP flag, activate forcing surface cooling rate (=1), strato heating rate (=2) or nothing (=0, default)
    !

    ! Sortie:
    LOGICAL              :: ok_newmicro
    INTEGER              :: iflag_radia
    LOGICAL              :: ok_journe, ok_mensuel, ok_instan, ok_hf
    LOGICAL              :: ok_LES
    LOGICAL              :: callstats
    LOGICAL              :: ok_ade, ok_aie, ok_alw, ok_cdnc, ok_volcan
    LOGICAL              :: aerosol_couple, chemistry_couple
    INTEGER              :: flag_aerosol
    INTEGER              :: flag_aerosol_strat
    INTEGER              :: flag_volc_surfstrat
    LOGICAL              :: flag_aer_feedback
    LOGICAL              :: flag_bc_internal_mixture
    REAL                 :: bl95_b0, bl95_b1
    REAL                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut,tau_ratqs
    INTEGER              :: iflag_cld_th
     

    CHARACTER (len = 6), SAVE  :: type_ocean_omp, version_ocean_omp, ocean_omp
    CHARACTER (len = 10),SAVE  :: type_veget_omp
    CHARACTER (len = 8), SAVE  :: aer_type_omp
    INTEGER, SAVE       :: landice_opt_omp
    INTEGER, SAVE       :: iflag_tsurf_inlandsis_omp,iflag_temp_inlandsis_omp
    INTEGER, SAVE       :: iflag_albcalc_omp,iflag_z0m_snow_omp   
    LOGICAL, SAVE       :: SnoMod_omp,BloMod_omp,ok_outfor_omp,ok_zsn_ii_omp
    LOGICAL, SAVE       :: discret_xf_omp,opt_runoff_ac_omp  
    LOGICAL, SAVE       :: is_ok_slush_omp,is_ok_z0h_rn_omp,is_ok_density_kotlyakov_omp
    REAL, SAVE          :: prescribed_z0m_snow_omp,correc_alb_omp
    REAL, SAVE          :: buf_sph_pol_omp,buf_siz_pol_omp
    LOGICAL, SAVE       :: ok_newmicro_omp
    LOGICAL, SAVE       :: ok_all_xml_omp
    LOGICAL, SAVE       :: ok_lwoff_omp
    LOGICAL, SAVE       :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp        
    LOGICAL, SAVE       :: ok_LES_omp   
    LOGICAL, SAVE       :: callstats_omp
    LOGICAL, SAVE       :: ok_ade_omp, ok_aie_omp, ok_alw_omp, ok_cdnc_omp, ok_volcan_omp
    LOGICAL, SAVE       :: aerosol_couple_omp, chemistry_couple_omp
    INTEGER, SAVE       :: flag_aerosol_omp
    INTEGER, SAVE       :: flag_aerosol_strat_omp
    INTEGER, SAVE       :: flag_volc_surfstrat_omp
    LOGICAL, SAVE       :: flag_aer_feedback_omp
    LOGICAL, SAVE       :: flag_bc_internal_mixture_omp
    REAL,SAVE           :: bl95_b0_omp, bl95_b1_omp
    REAL,SAVE           :: freq_ISCCP_omp, ecrit_ISCCP_omp
    REAL,SAVE           :: freq_COSP_omp, freq_AIRS_omp 
    REAL,SAVE           :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp
    REAL,SAVE           :: tau_cld_cv_omp, coefw_cld_cv_omp
    INTEGER, SAVE       :: iflag_cld_cv_omp

    REAL, SAVE          :: ratqshaut_omp
    REAL, SAVE          :: tau_ratqs_omp
    REAL, SAVE          :: t_coupl_omp
    INTEGER, SAVE       :: iflag_radia_omp
    INTEGER, SAVE       :: iflag_rrtm_omp
    INTEGER, SAVE       :: iflag_albedo_omp !albedo SB
    LOGICAL, SAVE       :: ok_chlorophyll_omp ! albedo SB  
    INTEGER, SAVE       :: NSW_omp
    INTEGER, SAVE       :: iflag_cld_th_omp, ip_ebil_phy_omp
    INTEGER, SAVE       :: iflag_ratqs_omp

    REAL, SAVE          :: f_cdrag_ter_omp,f_cdrag_oce_omp
    REAL, SAVE          :: f_rugoro_omp   , z0min_omp
    REAL, SAVE          :: z0m_seaice_omp,z0h_seaice_omp
    REAL, SAVE          :: z0m_landice_omp,ratio_z0hz0m_landice_omp
    REAL, SAVE          :: min_wind_speed_omp,f_gust_wk_omp,f_gust_bl_omp,f_qsat_oce_omp, f_z0qh_oce_omp
    INTEGER, SAVE       :: iflag_gusts_omp,iflag_z0_oce_omp

    REAL :: seuil_inversion
    REAL,SAVE :: seuil_inversion_omp

    INTEGER,SAVE :: iflag_thermals_omp,nsplit_thermals_omp
    REAL,SAVE :: tau_thermals_omp,alp_bl_k_omp
    ! nrlmd le 10/04/2012
    INTEGER,SAVE :: iflag_trig_bl_omp,iflag_clos_bl_omp,iflag_strig_omp
    INTEGER,SAVE :: tau_trig_shallow_omp,tau_trig_deep_omp
    REAL,SAVE    :: s_trig_omp,h_trig_omp
    ! fin nrlmd le 10/04/2012
    REAL :: alp_offset
    REAL, SAVE :: alp_offset_omp
    INTEGER,SAVE :: iflag_coupl_omp,iflag_clos_omp,iflag_wake_omp
    INTEGER,SAVE :: iflag_cvl_sigd_omp
    REAL, SAVE :: coef_clos_ls_omp
    REAL, SAVE :: supcrit1_omp, supcrit2_omp
    INTEGER, SAVE :: iflag_mix_omp
    INTEGER, SAVE :: iflag_mix_adiab_omp
    REAL, SAVE :: scut_omp, qqa1_omp, qqa2_omp, gammas_omp, Fmax_omp, alphas_omp
    REAL, SAVE :: tmax_fonte_cv_omp

    REAL,SAVE :: R_ecc_omp,R_peri_omp,R_incl_omp,solaire_omp
    REAL,SAVE :: solaire_omp_init
    LOGICAL,SAVE :: ok_suntime_rrtm_omp
    REAL,SAVE :: co2_ppm_omp, RCO2_omp, co2_ppm_per_omp, RCO2_per_omp
    REAL,SAVE :: co2_ppm0_omp
    REAL,SAVE :: CH4_ppb_omp, RCH4_omp, CH4_ppb_per_omp, RCH4_per_omp
    REAL,SAVE :: N2O_ppb_omp, RN2O_omp, N2O_ppb_per_omp, RN2O_per_omp
    REAL,SAVE :: CFC11_ppt_omp,RCFC11_omp,CFC11_ppt_per_omp,RCFC11_per_omp
    REAL,SAVE :: CFC12_ppt_omp,RCFC12_omp,CFC12_ppt_per_omp,RCFC12_per_omp
    REAL,SAVE :: epmax_omp
    REAL,SAVE :: coef_epmax_cape_omp
    LOGICAL,SAVE :: ok_adj_ema_omp
    INTEGER,SAVE :: iflag_clw_omp
    INTEGER,SAVE :: iflag_ice_thermo_omp
    LOGICAL,SAVE :: ok_ice_supersat_omp
    LOGICAL,SAVE :: ok_plane_h2o_omp, ok_plane_contrail_omp
    REAL,SAVE :: rad_froid_omp, rad_chau1_omp, rad_chau2_omp
    INTEGER,SAVE :: iflag_sic_omp, iflag_inertie_omp
    REAL,SAVE :: inertie_sol_omp,inertie_sno_omp,inertie_sic_omp
    REAL,SAVE :: inertie_lic_omp
    REAL,SAVE :: qsol0_omp
    REAL,SAVE :: evap0_omp
    REAL,SAVE :: albsno0_omp
    REAL      :: solarlong0
    REAL,SAVE :: solarlong0_omp
    INTEGER,SAVE :: top_height_omp,overlap_omp
    REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp,f_ri_cd_min_omp
    LOGICAL,SAVE :: ok_kzmin_omp
    REAL, SAVE ::  fmagic_omp, pmagic_omp
    INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp
    INTEGER,SAVE :: iflag_pbl_split_omp,iflag_physiq_omp
!FC
    INTEGER,SAVE :: ifl_pbltree_omp
    REAL,SAVE :: Cd_frein_omp
!FC
!AM
    INTEGER,SAVE :: iflag_hetero_surf_omp
    INTEGER,SAVE :: iflag_order2_sollw_omp
    INTEGER, SAVE :: lev_histins_omp, lev_histLES_omp 
    CHARACTER*4, SAVE :: type_run_omp
    LOGICAL, SAVE :: ok_cosp_omp, ok_airs_omp
    LOGICAL, SAVE :: ok_mensuelCOSP_omp,ok_journeCOSP_omp,ok_hfCOSP_omp
    REAL, SAVE    :: lonmin_ins_omp, lonmax_ins_omp, latmin_ins_omp, latmax_ins_omp
    REAL, SAVE    :: ecrit_hf_omp, ecrit_day_omp, ecrit_mth_omp, ecrit_reg_omp
    REAL, SAVE    :: ecrit_ins_omp
    REAL, SAVE    :: ecrit_LES_omp
    REAL, SAVE    :: ecrit_tra_omp
    REAL, SAVE    :: cvl_comp_threshold_omp
    REAL, SAVE    :: cvl_sig2feed_omp
    REAL, SAVE    :: cvl_corr_omp
    LOGICAL, SAVE :: ok_lic_melt_omp
    LOGICAL, SAVE :: ok_lic_cond_omp
    !
    REAL, SAVE    :: nm_oro_t_omp, zstd_orodr_t_omp
    REAL, SAVE    :: zpmm_orodr_t_omp, zpmm_orolf_t_omp
    INTEGER, SAVE :: iflag_cycle_diurne_omp
    LOGICAL, SAVE :: soil_model_omp,liqice_in_radocond_omp
    !GG
    INTEGER,SAVE :: iflag_seaice_omp, iflag_seaice_alb_omp
    INTEGER,SAVE :: iflag_leads_omp
    REAL,SAVE :: sice_cond_omp, sisno_cond_omp
    REAL,SAVE :: sisno_den_omp, sisno_min_omp, sithick_min_omp
    REAL,SAVE :: sisno_wfact_omp, amax_n_omp, amax_s_omp, rn_alb_sdry_omp
    REAL,SAVE :: rn_alb_smlt_omp, rn_alb_idry_omp, rn_alb_imlt_omp
    REAL,SAVE :: si_pen_frac_omp,si_pen_ext_omp
    REAL,SAVE :: fseaN_omp, fseaS_omp
    !GG
    LOGICAL, SAVE :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp
    INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp
    INTEGER, SAVE :: nbapp_cv_omp, nbapp_wk_omp
    INTEGER, SAVE :: iflag_ener_conserv_omp
    LOGICAL, SAVE :: ok_conserv_q_omp
    LOGICAL,SAVE  :: ok_strato_omp
    LOGICAL,SAVE  :: ok_hines_omp, ok_gwd_rando_omp
    REAL, SAVE    :: gwd_rando_ruwmax_omp, gwd_rando_sat_omp
    REAL, SAVE    :: gwd_front_ruwmax_omp, gwd_front_sat_omp
    REAL, SAVE    :: sso_gkdrag_omp,sso_grahil_omp,sso_grcrit_omp
    REAL, SAVE    :: sso_gfrcri_omp,sso_gkwake_omp,sso_gklift_omp
    LOGICAL, SAVE :: ok_qch4_omp
    LOGICAL, SAVE :: carbon_cycle_tr_omp
    LOGICAL, SAVE :: carbon_cycle_cpl_omp
    LOGICAL, SAVE :: carbon_cycle_rad_omp
    LOGICAL, SAVE :: dms_cycle_cpl_omp, n2o_cycle_cpl_omp, ndp_cycle_cpl_omp, nh3_cycle_cpl_omp
    INTEGER, SAVE :: level_coupling_esm_omp
    LOGICAL, SAVE :: read_fco2_ocean_cor_omp
    REAL, SAVE    :: var_fco2_ocean_cor_omp
    LOGICAL, SAVE :: read_fco2_land_cor_omp
    REAL, SAVE    :: var_fco2_land_cor_omp
    LOGICAL, SAVE :: adjust_tropopause_omp
    LOGICAL, SAVE :: ok_daily_climoz_omp
    LOGICAL, SAVE :: ok_new_lscp_omp
    LOGICAL, SAVE :: ok_icefra_lscp_omp
    !rajout de choix_bulk et nit_bulk par Olivier Torres
    INTEGER,SAVE  :: choix_bulk_omp
    INTEGER,SAVE  :: nit_bulk_omp
    INTEGER,SAVE  :: kz0_omp
    LOGICAL, SAVE :: ok_bs_omp, ok_rad_bs_omp
    LOGICAL, SAVE :: ok_advtke_omp
    LOGICAL, SAVE :: ok_mass_dtcon_omp, ok_mass_dqcon_omp, ok_mass_duvcon_omp

    INTEGER, INTENT(OUT):: read_climoz ! read ozone climatology, OpenMP shared
    ! Allowed values are 0, 1 and 2
    ! 0: do not read an ozone climatology
    ! 1: read a single ozone climatology that will be used day and night
    ! 2: read two ozone climatologies, the average day and night
    ! climatology and the daylight climatology

    !-----------------------------------------------------------------

    print*,'CONFPHYS ENTREE'
    !$OMP MASTER 
    !Config Key  = type_ocean 
    !Config Desc = Type d'ocean
    !Config Def  = force
    !Config Help = Type d'ocean utilise: force, slab,couple
    !
    type_ocean_omp = 'force '
    CALL getin('type_ocean', type_ocean_omp)
    !
    !Config Key  = version_ocean 
    !Config Desc = Version d'ocean
    !Config Def  = xxxxxx
    !Config Help = Version d'ocean utilise: opa8/nemo/sicOBS/xxxxxx
    !
    version_ocean_omp = 'xxxxxx'
    CALL getin('version_ocean', version_ocean_omp)

    !Config Key  = OCEAN
    !Config Desc = Old parameter name for type_ocean
    !Config Def  = yyyyyy
    !Config Help = This is only for testing purpose
    !
    ocean_omp = 'yyyyyy'
    CALL getin('OCEAN', ocean_omp)
    IF (ocean_omp /= 'yyyyyy') THEN
       WRITE(lunout,*)'ERROR! Old variable name OCEAN used in parmeter file.'
       WRITE(lunout,*)'Variable OCEAN has been replaced by the variable type_ocean.'
       WRITE(lunout,*)'You have to update your parameter file physiq.def to succed running'
       CALL abort_physic('conf_phys','Variable OCEAN no longer existing, use variable name type_ocean',1)
    ENDIF

    !Config Key  = t_coupl
    !Config Desc = Pas de temps du couplage atm/oce en sec.
    !Config Def  = 86400
    !Config Help = This is only for testing purpose
    !
    t_coupl_omp = 86400.
    CALL getin('t_coupl', t_coupl_omp)
    IF (t_coupl_omp == 0) THEN
       WRITE(lunout,*)'ERROR! Timestep of coupling between atmosphere and ocean'
       WRITE(lunout,*)'cannot be zero.'
       CALL abort_physic('conf_phys','t_coupl = 0.',1)
    ENDIF

    !
    !Config Key  = ok_all_xml 
    !Config Desc = utiliser les xml pourles définitions des champs pour xios
    !Config Def  = .FALSE.
    !Config Help = 
    !
    ok_all_xml_omp = .FALSE.
    CALL getin('ok_all_xml', ok_all_xml_omp)

    !
    !Config Key  = ok_lwoff
    !Config Desc = inhiber l effet radiatif LW des nuages
    !Config Def  = .FALSE.
    !Config Help = 
    !
    ok_lwoff_omp = .FALSE.
    CALL getin('ok_lwoff', ok_lwoff_omp)
    !

    !
    !Config Key  = VEGET 
    !Config Desc = Type de modele de vegetation
    !Config Def  = .FALSE.
    !Config Help = Type de modele de vegetation utilise
    !
    type_veget_omp ='orchidee'
    CALL getin('VEGET', type_veget_omp)
    !

    ! INLANDSIS
    !==================================================================
    ! Martin et Etienne
    !Config Key  = landice_opt
    !Config Desc = which landice snow model (BULK, or INLANDSIS)
    !Config Def  = 0
    landice_opt_omp = 0
    CALL getin('landice_opt', landice_opt_omp)
    ! Martin et Etienne

    !Etienne
    !Config Key  = iflag_temp_inlandsis
    !Config Desc = which method to calculate temp within the soil in INLANDSIS
    !Config Def  = 0
    iflag_temp_inlandsis_omp = 0
    CALL getin('iflag_temp_inlandsis', iflag_temp_inlandsis_omp)

    !Etienne
    !Config Key  = iflag_tsurf_inlandsis
    !Config Desc = which method to calculate tsurf in INLANDSIS
    !Config Def  = 0
    iflag_tsurf_inlandsis_omp = 1
    CALL getin('iflag_tsurf_inlandsis', iflag_tsurf_inlandsis_omp)


    !Etienne
    !Config Key  = iflag_albcalc
    !Config Desc = method to calculate snow albedo in INLANDSIS
    !Config Def  = 0
    iflag_albcalc_omp = 0
    CALL getin('iflag_albcalc', iflag_albcalc_omp)


    !Etienne
    !Config Key  = SnoMod
    !Config Desc = activation of snow modules in inlandsis
    !Config Def  = .TRUE.
    SnoMod_omp = .TRUE.
    CALL getin('SnoMod', SnoMod_omp)

    !Etienne
    !Config Key  = BloMod
    !Config Desc = activation of blowing snow in inlandsis
    !Config Def  = .FALSE.
    BloMod_omp = .FALSE.
    CALL getin('BloMod', BloMod_omp)

    !Etienne
    !Config Key  = ok_outfor
    !Config Desc = activation of output ascii file in inlandsis
    !Config Def  = .FALSE.
    ok_outfor_omp = .FALSE.
    CALL getin('ok_outfor', ok_outfor_omp)


    !Etienne
    !Config Key  = ok_sn_ii
    !Config Desc = activation of ice/snow detection
    !Config Def  = .TRUE.
    ok_zsn_ii_omp = .TRUE.
    CALL getin('ok_zsn_ii', ok_zsn_ii_omp)


    !Etienne
    !Config Key  = discret_xf
    !Config Desc = snow discretization following XF
    !Config Def  = .TRUE.
    discret_xf_omp = .TRUE.
    CALL getin('discret_xf', discret_xf_omp)


    !Etienne
    !Config Key  = is_ok_slush
    !Config Desc = activation of the slush option
    !Config Def  = .TRUE.
    is_ok_slush_omp = .TRUE.
    CALL getin('is_ok_slush', is_ok_slush_omp)

    !Etienne
    !Config Key  = opt_runoff_ac
    !Config Desc = option runoff AC
    !Config Def  = .TRUE.
    opt_runoff_ac_omp = .TRUE.
    CALL getin('opt_runoff_ac', opt_runoff_ac_omp)

    !Etienne
    !Config Key  = is_ok_z0h_rn
    !Config Desc = z0h calculation following RN method
    !Config Def  = .TRUE.
    is_ok_z0h_rn_omp = .TRUE.
    CALL getin('is_ok_z0h_rn', is_ok_z0h_rn_omp)


    !Etienne
    !Config Key  = is_ok_density_kotlyakov
    !Config Desc = snow density calculation following kotlyakov
    !Config Def  = .FALSE.
    is_ok_density_kotlyakov_omp = .FALSE.
    CALL getin('is_ok_density_kotlyakov', is_ok_density_kotlyakov_omp)


    !Etienne
    !Config Key  = prescribed_z0m_snow
    !Config Desc = prescribed snow z0m
    !Config Def  = 0.005
    prescribed_z0m_snow_omp = 0.005
    CALL getin('prescribed_z0m_snow', prescribed_z0m_snow_omp)


    !Etienne
    !Config Key  = iflag_z0m_snow
    !Config Desc = method to calculate snow z0m
    !Config Def  = 0
    iflag_z0m_snow_omp = 0
    CALL getin('iflag_z0m_snow', iflag_z0m_snow_omp)


    !Etienne
    !Config Key  = correc_alb
    !Config Desc = correction term for albedo
    !Config Def  = 1.01
    correc_alb_omp=1.01
    CALL getin('correc_alb', correc_alb_omp)


    !Etienne
    !Config Key  = buf_sph_pol
    !Config Desc = sphericity of buffer layer in polar regions
    !Config Def  = 99.
    buf_sph_pol_omp=99.
    CALL getin('buf_sph_pol', buf_sph_pol_omp)

    !Etienne
    !Config Key  = buf_siz_pol
    !Config Desc = grain size of buffer layer in polar regions in e-4m
    !Config Def  = 4.
    buf_siz_pol_omp=4.
    CALL getin('buf_siz_pol', buf_siz_pol_omp)

    !==================================================================
    
    !Config Key  = OK_journe
    !Config Desc = Pour des sorties journalieres 
    !Config Def  = .FALSE.
    !Config Help = Pour creer le fichier histday contenant les sorties
    !              journalieres 
    !
    ok_journe_omp = .FALSE.
    CALL getin('OK_journe', ok_journe_omp)
    !
    !Config Key  = ok_hf
    !Config Desc = Pour des sorties haute frequence
    !Config Def  = .FALSE.
    !Config Help = Pour creer le fichier histhf contenant les sorties
    !              haute frequence ( 3h ou 6h)
    !
    ok_hf_omp = .FALSE.
    CALL getin('ok_hf', ok_hf_omp)
    !
    !Config Key  = OK_mensuel
    !Config Desc = Pour des sorties mensuelles 
    !Config Def  = .TRUE.
    !Config Help = Pour creer le fichier histmth contenant les sorties
    !              mensuelles 
    !
    ok_mensuel_omp = .TRUE.
    CALL getin('OK_mensuel', ok_mensuel_omp)
    !
    !Config Key  = OK_instan
    !Config Desc = Pour des sorties instantanees 
    !Config Def  = .FALSE.
    !Config Help = Pour creer le fichier histins contenant les sorties
    !              instantanees 
    !
    ok_instan_omp = .FALSE.
    CALL getin('OK_instan', ok_instan_omp)
    !
    !Config Key  = ok_ade
    !Config Desc = Aerosol direct effect or not?
    !Config Def  = .FALSE.
    !Config Help = Used in radlwsw.F
    !
    ok_ade_omp = .FALSE.
    CALL getin('ok_ade', ok_ade_omp)

    !Config Key  = ok_alw
    !Config Desc = Aerosol longwave effect or not?
    !Config Def  = .FALSE.
    !Config Help = Used in radlwsw.F
    !
    ok_alw_omp = .FALSE.
    CALL getin('ok_alw', ok_alw_omp)

    !
    !Config Key  = ok_aie
    !Config Desc = Aerosol indirect effect or not?
    !Config Def  = .FALSE.
    !Config Help = Used in nuage.F and radlwsw.F
    !
    ok_aie_omp = .FALSE.
    CALL getin('ok_aie', ok_aie_omp)

    !
    !Config Key  = ok_cdnc
    !Config Desc = ok cloud droplet number concentration
    !Config Def  = .FALSE.
    !Config Help = Used in newmicro.F
    !
    ok_cdnc_omp = .FALSE.
    CALL getin('ok_cdnc', ok_cdnc_omp)

    !
    !Config Key  = ok_volcan
    !Config Desc = ok to generate volcanic diags
    !Config Def  = .FALSE.
    !Config Help = Used in radlwsw_m.F
    !
    ok_volcan_omp = .FALSE.
    CALL getin('ok_volcan', ok_volcan_omp)

    !
    !Config Key  = flag_volc_surfstrat
    !Config Desc = impose cooling rate at the surface (=1),
    !              heating rate in the strato (=2), or nothing (=0)
    !Config Def  = 0
    !Config Help = Used in radlwsw_m.F
    !
    flag_volc_surfstrat_omp = 0 ! NL: SURFSTRAT
    CALL getin('flag_volc_surfstrat', flag_volc_surfstrat_omp) 

    !
    !Config Key  = aerosol_couple
    !Config Desc = read aerosol in file or calcul by inca
    !Config Def  = .FALSE.
    !Config Help = Used in physiq.F
    !
    aerosol_couple_omp = .FALSE.
    CALL getin('aerosol_couple',aerosol_couple_omp)
    !
    !Config Key  = chemistry_couple
    !Config Desc = read O3 chemistry in file or calcul by inca
    !Config Def  = .FALSE.
    !Config Help = Used in physiq.F
    !
    chemistry_couple_omp = .FALSE.
    CALL getin('chemistry_couple',chemistry_couple_omp)
    !
    !Config Key  = flag_aerosol
    !Config Desc = which aerosol is use for coupled model
    !Config Def  = 1
    !Config Help = Used in physiq.F
    !
    ! - flag_aerosol=0 => no aerosol
    ! - flag_aerosol=1 => so4 only (defaut) 
    ! - flag_aerosol=2 => bc  only 
    ! - flag_aerosol=3 => pom only
    ! - flag_aerosol=4 => seasalt only 
    ! - flag_aerosol=5 => dust only
    ! - flag_aerosol=6 => all aerosol
    ! - flag_aerosol=7 => natural aerosol + MACv2SP
    ! - (in this case aerosols.1980.nc should point to aerosols.nat.nc)

    flag_aerosol_omp = 0
    CALL getin('flag_aerosol',flag_aerosol_omp)

    !
    !Config Key  = flag_bc_internal_mixture
    !Config Desc = state of mixture for BC aerosols
    ! - n = external mixture
    ! - y = internal mixture
    !Config Def  = n
    !Config Help = Used in physiq.F / aeropt
    !
    flag_bc_internal_mixture_omp = .FALSE.
    CALL getin('flag_bc_internal_mixture',flag_bc_internal_mixture_omp)

    ! 
    !Config Key  = aer_type 
    !Config Desc = Use a constant field for the aerosols 
    !Config Def  = scenario 
    !Config Help = Used in readaerosol.F90 
    ! 
    aer_type_omp = 'scenario' 
    CALL getin('aer_type', aer_type_omp) 

    !
    !Config Key  = bl95_b0
    !Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
    !Config Def  = .FALSE.
    !Config Help = Used in nuage.F
    !
    bl95_b0_omp = 2.
    CALL getin('bl95_b0', bl95_b0_omp)

    !Config Key  = bl95_b1
    !Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
    !Config Def  = .FALSE.
    !Config Help = Used in nuage.F
    !
    bl95_b1_omp = 0.2
    CALL getin('bl95_b1', bl95_b1_omp)

    !Config Key  = freq_ISCCP
    !Config Desc = Frequence d'appel du simulateur ISCCP en secondes;
    !              par defaut 10800, i.e. 3 heures 
    !Config Def  = 10800.
    !Config Help = Used in ini_histISCCP.h
    !
    freq_ISCCP_omp = 10800.
    CALL getin('freq_ISCCP', freq_ISCCP_omp)
    !
    !Config Key  = ecrit_ISCCP
    !Config Desc = Frequence d'ecriture des resultats du simulateur ISCCP en nombre de jours;
    !              par defaut 1., i.e. 1 jour
    !Config Def  = 1.
    !Config Help = Used in ini_histISCCP.h
    !
    !
    ecrit_ISCCP_omp = 1.
    CALL getin('ecrit_ISCCP', ecrit_ISCCP_omp)

    !Config Key  = freq_COSP
    !Config Desc = Frequence d'appel du simulateur COSP en secondes;
    !              par defaut 10800, i.e. 3 heures
    !Config Def  = 10800.
    !Config Help = Used in ini_histdayCOSP.h
    !
    freq_COSP_omp = 10800.
    CALL getin('freq_COSP', freq_COSP_omp)

    !Config Key  = freq_AIRS
    !Config Desc = Frequence d'appel du simulateur AIRS en secondes;
    !              par defaut 10800, i.e. 3 heures
    !Config Def  = 10800.
    !Config Help = Used in ini_histdayAIRS.h
    !
    freq_AIRS_omp = 10800.
    CALL getin('freq_AIRS', freq_AIRS_omp)

    !
    !Config Key  = ip_ebil_phy
    !Config Desc = Niveau de sortie pour les diags bilan d'energie 
    !Config Def  = 0
    !Config Help = 
    !               
    ip_ebil_phy_omp = 0
    CALL getin('ip_ebil_phy', ip_ebil_phy_omp)
    IF (ip_ebil_phy_omp/=0) THEN
       CALL abort_physic('conf_phys','ip_ebil_phy_omp doit etre 0 sur cette version',1)
    ENDIF

    !
    !Config Key  = seuil_inversion
    !Config Desc = Seuil ur dTh pour le choix entre les schemas de CL
    !Config Def  = -0.1
    !Config Help = 
    !               
    seuil_inversion_omp = -0.1
    CALL getin('seuil_inversion', seuil_inversion_omp)

    !
    ! Constante solaire & Parametres orbitaux & taux gaz effet de serre BEG
    !
    !Config Key  = R_ecc
    !Config Desc = Excentricite
    !Config Def  = 0.016715
    !Config Help = 
    !               
    !valeur AMIP II
    R_ecc_omp = 0.016715
    CALL getin('R_ecc', R_ecc_omp)
    !
    !Config Key  = R_peri
    !Config Desc = Equinoxe
    !Config Def  = 
    !Config Help = 
    !               
    !
    !valeur AMIP II
    R_peri_omp = 102.7
    CALL getin('R_peri', R_peri_omp)
    !
    !Config Key  = R_incl
    !Config Desc = Inclinaison
    !Config Def  = 
    !Config Help = 
    !               
    !
    !valeur AMIP II
    R_incl_omp = 23.441
    CALL getin('R_incl', R_incl_omp)
    !
    !Config Key  = solaire
    !Config Desc = Constante solaire en W/m2
    !Config Def  = 1365.
    !Config Help = 
    !               
    !
    !valeur AMIP II
    solaire_omp = 1365.
    solaire_omp_init = solaire_omp     !--we keep track of the default value
    CALL getin('solaire', solaire_omp)
    !
    !Config Key  = co2_ppm
    !Config Desc = concentration du CO2 en ppmv
    !Config Def  = 348.
    !Config Help = 
    !               
    !valeur AMIP II
    co2_ppm_omp = 348.
    CALL getin('co2_ppm', co2_ppm_omp)
    !
    !conversion en rapport de mélange massique
    RCO2_omp = co2_ppm_omp * 1.0e-06 * RMCO2 / RMD

    !
    !Config Key  = co2_ppm0
    !Config Desc = concentration initiale du CO2 en ppmv pour la version ESM avec CO2 interactif dans le cas 
    !              où cette concentration de figure pas dans l'état de redémarrage de la physique
    !Config Def  = 284.32
    !Config Help = 
    !               
    co2_ppm0_omp = 284.32
    CALL getin('co2_ppm0', co2_ppm0_omp)
    !
    !Config Key  = RCH4
    !Config Desc = Concentration du CH4
    !Config Def  = 1.65E-06* 16.043/28.97
    !Config Help = 
    !               
    CH4_ppb_omp = 1650.
    CALL getin('CH4_ppb', CH4_ppb_omp)
    !conversion en rapport de mélange massique
    RCH4_omp = CH4_ppb_omp * 1.0E-09 * RMCH4 / RMD
    !
    !Config Key  = RN2O
    !Config Desc = Concentration du N2O
    !Config Def  = 306.E-09* 44.013/28.97
    !Config Help = 
    !               
    N2O_ppb_omp = 306.
    CALL getin('N2O_ppb', N2O_ppb_omp)
    !conversion en rapport de mélange massique
    RN2O_omp = N2O_ppb_omp * 1.0E-09 * RMN2O / RMD
    !
    !Config Key  = RCFC11
    !Config Desc = Concentration du CFC11
    !Config Def  = 280.E-12* 137.3686/28.97
    !Config Help = 
    !               
    CFC11_ppt_omp = 280.
    CALL getin('CFC11_ppt',CFC11_ppt_omp)
    !conversion en rapport de mélange massique
    RCFC11_omp=CFC11_ppt_omp* 1.0E-12 * RMCFC11 / RMD
    !
    !Config Key  = RCFC12
    !Config Desc = Concentration du CFC12
    !Config Def  = 484.E-12* 120.9140/28.97
    !Config Help = 
    !               
    CFC12_ppt_omp = 484.
    CALL getin('CFC12_ppt',CFC12_ppt_omp)
    !conversion en rapport de mélange massique
    RCFC12_omp = CFC12_ppt_omp * 1.0E-12 * RMCFC12 / RMD

    !
    !Config Key  = co2_ppm_per
    !Config Desc = concentration du CO2 perturbé en ppmv (CFMIP)
    !Config Def  = 348.
    !Config Help = 
    !               
    co2_ppm_per_omp = co2_ppm_omp
    CALL getin('co2_ppm_per', co2_ppm_per_omp)
    !conversion en rapport de mélange massique
    RCO2_per_omp = co2_ppm_per_omp * 1.0e-06 * RMCO2 / RMD

    !Config Key  = RCH4_per
    !Config Desc = Concentration du CH4_per
    !Config Def  = 1.65E-06* 16.043/28.97
    !Config Help = 
    !               
    CH4_ppb_per_omp = CH4_ppb_omp
    CALL getin('CH4_ppb_per', CH4_ppb_per_omp)
    !conversion en rapport de mélange massique
    RCH4_per_omp = CH4_ppb_per_omp * 1.0E-09 * RMCH4 / RMD
    !
    !Config Key  = RN2O_per
    !Config Desc = Concentration du N2O_per
    !Config Def  = 306.E-09* 44.013/28.97
    !Config Help = 
    !               
    N2O_ppb_per_omp = N2O_ppb_omp
    CALL getin('N2O_ppb_per', N2O_ppb_per_omp)
    !conversion en rapport de mélange massique
    RN2O_per_omp = N2O_ppb_per_omp * 1.0E-09 * RMN2O / RMD
    !
    !Config Key  = RCFC11_per
    !Config Desc = Concentration du CFC11_per
    !Config Def  = 280.E-12* 137.3686/28.97
    !Config Help = 
    !               
    CFC11_ppt_per_omp = CFC11_ppt_omp
    CALL getin('CFC11_ppt_per',CFC11_ppt_per_omp)
    !conversion en rapport de mélange massique
    RCFC11_per_omp=CFC11_ppt_per_omp* 1.0E-12 * RMCFC11 / RMD
    !
    !Config Key  = RCFC12_per
    !Config Desc = Concentration du CFC12_per
    !Config Def  = 484.E-12* 120.9140/28.97
    !Config Help = 
    !               
    CFC12_ppt_per_omp = CFC12_ppt_omp
    CALL getin('CFC12_ppt_per',CFC12_ppt_per_omp)
    !conversion en rapport de mélange massique
    RCFC12_per_omp = CFC12_ppt_per_omp * 1.0E-12 * RMCFC12 / RMD

    !
    ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
    ! Constantes precedemment dans dyn3d/conf_gcm

    !Config  Key  = iflag_cycle_diurne
    !Config  Desc = Cycle diurne
    !Config  Def  = 1
    !Config  Help = Cette option permet d'eteidre le cycle diurne.
    !Config         Peut etre util pour accelerer le code !
    iflag_cycle_diurne_omp = 1
    CALL getin('iflag_cycle_diurne',iflag_cycle_diurne_omp)

    !Config  Key  = soil_model
    !Config  Desc = Modele de sol
    !Config  Def  = y
    !Config  Help = Choix du modele de sol (Thermique ?)
    !Config         Option qui pourait un string afin de pouvoir
    !Config         plus de choix ! Ou meme une liste d'options !
    soil_model_omp = .TRUE.
    CALL getin('soil_model',soil_model_omp)

    !Config  Key  = liqice_in_radocond
    !Config  Desc = liquid + ice seen by radiation
    !Config  Def  = y
    liqice_in_radocond_omp = .TRUE.
    ! old name of the flag (new_oliq)
    CALL getin('new_oliq',liqice_in_radocond_omp)
    CALL getin('liqice_in_radocond',liqice_in_radocond_omp)

    !GG
    !Config  Key  = iflag_seaice
    !Config  Desc = Flag de sea ice modele
    !Config  Def  = 0
    !Config  Help = Flag  pour sea ice thermo  les options suivantes existent :
    !Config         0 pour defaut,
    !Config         1 pour lu avec limit.nc,
    !Config         2 pour interactive sic
    iflag_seaice_omp = 0
    CALL getin('iflag_seaice',iflag_seaice_omp)

    !Config  Key  = iflag_seaice_alb
    !Config  Desc = Flag de sea ice thickness
    !Config  Def  = 0
    !Config  Help = Flag  pour albedo sea ice les options suivantes existent :
    !Config         0 pour defaut,
    !Config         1 pour new,
    !Config         2 pour LIM3,
    iflag_seaice_alb_omp = 0
    CALL getin('iflag_seaice_alb',iflag_seaice_alb_omp)

    !Config  Key  = iflag_seaice_alb
    !Config  Desc = Flag de sea ice leads
    !Config  Def  = 0
    !Config  Help = Flag  pour les leads les options suivantes existent :
    !Config         0 pour defaut,
    !Config         1 pour correction sur leads,
    iflag_leads_omp = 0
    CALL getin('iflag_leads',iflag_leads_omp)

    !Config key  = sice_cond_omp
    !Config Desc = conductivity of ice
    !Config Def  = 2.17
    !Config Help = pour le modele de glace de mer
    sice_cond_omp = 2.17
    CALL getin('sice_cond', sice_cond_omp)

    !Config key  = sisno_cond_omp
    !Config Desc = conductivity of snow
    !Config Def  = 0.31
    !Config Help = pour le modele de glace de mer
    sisno_cond_omp = 0.31
    CALL getin('sno_cond', sisno_cond_omp)

    !Config key  = sisno_den_omp
    !Config Desc = density of snow
    !Config Def  = 300
    !Config Help = pour le modele de glace de mer
    sisno_den_omp = 300
    CALL getin('sisno_den', sisno_den_omp)

    !Config key  = sisno_min
    !Config Desc = minimum snow thickness over sea ice
    !Config Def  = 0.05
    !Config Help = pour le modele de glace de mer
    sisno_min_omp = 0.05
    CALL getin('sisno_min', sisno_min_omp)

    !Config key  = sithick_min
    !Config Desc = minimum sea ice thickness 
    !Config Def  = 0.10
    !Config Help = pour le modele de glace de mer
    sithick_min_omp = 0.10
    CALL getin('sithick_min', sithick_min_omp)

    !Config key  = sisno_wfact
    !Config Desc = max fraction of falling snow blown into ocean
    !Config Def  = 0.4
    !Config Help = pour le modele de glace de mer
    sisno_wfact_omp = 0.4
    CALL getin('sisno_wfact', sisno_wfact_omp)

    !Config key  = amax_n
    !Config Desc = leads fraction in NH given as a maximum sea ice concentration
    !Config Def  = 0.997
    !Config Help = pour le modele de glace de mer
    amax_n_omp = 0.997
    CALL getin('amax_n', amax_n_omp)

    !Config key  = amax_s
    !Config Desc = leads fraction in SH given as a maximum sea ice concentration
    !Config Def  = 0.95
    !Config Help = pour le modele de glace de mer
    amax_s_omp = 0.95
    CALL getin('amax_s', amax_s_omp)

    !Config key  = rn_alb_sdry
    !Config Desc = dry snow over sea ice albedo
    !Config Def  = 0.85
    !Config Help = pour le modele de glace de mer
    rn_alb_sdry_omp = 0.85
    CALL getin('rn_alb_sdry', rn_alb_sdry_omp)

    !Config key  = rn_alb_smlt
    !Config Desc = wet snow over sea ice albedo
    !Config Def  = 0.55
    !Config Help = pour le modele de glace de mer
    rn_alb_smlt_omp = 0.55
    CALL getin('rn_alb_smlt', rn_alb_smlt_omp)

    !Config key  = rn_alb_idry
    !Config Desc = dry sea ice albedo
    !Config Def  = 0.75
    !Config Help = pour le modele de glace de mer
    rn_alb_idry_omp = 0.75
    CALL getin('rn_alb_idry', rn_alb_idry_omp)

    !Config key  = rn_alb_imlt
    !Config Desc = wet sea ice albedo
    !Config Def  = 0.66
    !Config Help = pour le modele de glace de mer
    rn_alb_imlt_omp = 0.66
    CALL getin('rn_alb_imlt', rn_alb_imlt_omp)

    !Config key  = si_pen_frac
    !Config Desc = fraction of shortwave penetrating into the ice
    !Config Def  = 0.3
    !Config Help = pour le modele de glace de mer
    si_pen_frac_omp = 0.3
    CALL getin('si_pen_frac', si_pen_frac_omp)

    !Config key  = si_pen_ext
    !Config Desc = extinction length of penetrating shortwave (m-1)
    !Config Def  = 1.5
    !Config Help = pour le modele de glace de mer
    si_pen_ext_omp =1.5 
    CALL getin('si_pen_ext', si_pen_ext_omp)

    !Config key  = fseaN
    !Config Desc = HF from ocean below ice Northern Hemisphere
    !Config Def  = 2.0
    !Config Help = pour le modele de glace de mer
    fseaN_omp =2.0
    CALL getin('fseaN', fseaN_omp)

    !Config key  = fseaS
    !Config Desc = HF from ocean below ice Southern Hemisphere
    !Config Def  = 4.0
    !Config Help = pour le modele de glace de mer
    fseaS_omp =4.0
    CALL getin('fseaS', fseaS_omp)

    !GG

    !Config  Key  = ok_orodr
    !Config  Desc = Orodr ???
    !Config  Def  = y
    !Config  Help = Y en a pas comprendre !
    !Config         
    ok_orodr_omp = .TRUE.
    CALL getin('ok_orodr',ok_orodr_omp)

    !Config  Key  =  ok_orolf
    !Config  Desc = Orolf ??
    !Config  Def  = y
    !Config  Help = Connais pas !
    ok_orolf_omp = .TRUE.
    CALL getin('ok_orolf', ok_orolf_omp)


    !Config  Key  =  nm_oro_t
    !Config  Desc = nm_oro_t
    !Config  Def  = -1
    !Config  Help = Connais pas !
    nm_oro_t_omp = -1.
    CALL getin('nm_oro_t', nm_oro_t_omp)

    !Config  Key  =  zstd_orodr_t
    !Config  Desc = zstd_orodr_t
    !Config  Def  = 0.
    !Config  Help = Connais pas !
    zstd_orodr_t_omp = 10.
    CALL getin('zstd_orodr_t', zstd_orodr_t_omp)


    !Config  Key  =  zpmm_orodr_t
    !Config  Desc = zpmm_orodr_t
    !Config  Def  = 0.
    !Config  Help = Connais pas !
    zpmm_orodr_t_omp = 100.
    CALL getin('zpmm_orodr_t', zpmm_orodr_t_omp)


    !Config  Key  =  zpmm_orolf_t
    !Config  Desc = zpmm_orolf_t
    !Config  Def  = 0.
    !Config  Help = Connais pas !
    zpmm_orolf_t_omp = 100.
    CALL getin('zpmm_orolf_t', zpmm_orolf_t_omp)

    !Config  Key  = ok_limitvrai
    !Config  Desc = Force la lecture de la bonne annee
    !Config  Def  = n
    !Config  Help = On peut forcer le modele a lire le
    !Config         fichier SST de la bonne annee. C'est une tres bonne
    !Config         idee, pourquoi ne pas mettre toujours a y ???
    ok_limitvrai_omp = .FALSE.
    CALL getin('ok_limitvrai',ok_limitvrai_omp)

    !Config  Key  = nbapp_rad
    !Config  Desc = Frequence d'appel au rayonnement
    !Config  Def  = 12
    !Config  Help = Nombre  d'appels des routines de rayonnements
    !Config         par jour.
    nbapp_rad_omp = 12
    CALL getin('nbapp_rad',nbapp_rad_omp)

    !rajout Olivier Torres
    !Config  Key  = choix_bulk
    !Config  Desc = choix de la formulation bulk a prendre dans clcdrag au-dessus de l'ocean
    !Config  Def  = 0
    !Config         0 -> originale (lmdz/Louis 79)
    !Config         1 -> COARE
    !Config         2 -> CORE-"pure" (cf. Large)
    !Config         3 -> CORE-"mixte" (avec z_0 et C_T^N donnees par Smith 88)
    choix_bulk_omp = 0
    CALL getin('choix_bulk',choix_bulk_omp)

    !Config  Key  = nit_bulk
    !Config  Desc = choix du nombre d'it de pt fixe dans la bulk
    !Config  Def  = 5
    nit_bulk_omp = 1
    CALL getin('nit_bulk',nit_bulk_omp)

    !Config  Key  = kz0
    !Config  Desc = choix de la formulation z0 pour la bulk ECUME
    !Config  Def  = 1
    !Config         0 -> ARPEGE formulation
    !Config         1 -> Smith Formulation
    !Config         2 -> Direct computation using the stability functions
    kz0_omp = 0
    CALL getin('kz0',kz0_omp)


    !Config  Key  = iflag_con
    !Config  Desc = Flag de convection
    !Config  Def  = 2
    !Config  Help = Flag  pour la convection les options suivantes existent :
    !Config         1 pour LMD,
    !Config         2 pour Tiedtke,
    !Config         3 pour CCM(NCAR)  
    iflag_con_omp = 2
    CALL getin('iflag_con',iflag_con_omp)

    !Config  Key  = nbapp_cv
    !Config  Desc = Frequence d'appel a la convection
    !Config  Def  = 0
    !Config  Help = Nombre  d'appels des routines de convection
    !Config         par jour. Si =0, appel a chaque pas de temps physique.
    nbapp_cv_omp = 0
    CALL getin('nbapp_cv',nbapp_cv_omp)

    !Config  Key  = nbapp_wk
    !Config  Desc = Frequence d'appel aux wakes
    !Config  Def  = 0
    !Config  Help = Nombre  d'appels des routines de wakes
    !Config         par jour. Si =0, appel a chaque pas de temps physique.
    nbapp_wk_omp = 0
    CALL getin('nbapp_wk',nbapp_wk_omp)

    !Config  Key  = iflag_ener_conserv
    !Config  Desc = Flag de convection
    !Config  Def  = 1
    !Config  Help = Flag  pour la convection les options suivantes existent :
    !Config         -1 pour Kinetic energy correction
    !Config         1  conservation kinetic and enthalpy
    iflag_ener_conserv_omp = -1
    CALL getin('iflag_ener_conserv',iflag_ener_conserv_omp)

    !Config  Key  = ok_conserv_q
    !Config  Desc = Switch des corrections de conservation de l'eau
    !Config  Def  = y
    !Config  Help = Switch des corrections de conservation de l'eau
    !Config         y -> corrections activees
    !Config         n -> conformite avec versions anterieures au 1/4/2014
    ok_conserv_q_omp = .FALSE.
    CALL getin('ok_conserv_q',ok_conserv_q_omp)



    !Config  Key  = ok_mass_dtcon
    !Config  Desc = for conservation when calling deep convection every n time steps
    !Config  Def  = y
    !Config  Help = for conservation when calling deep convection every n time steps
    ok_mass_dtcon_omp = .TRUE.
    CALL getin('ok_mass_dtcon',ok_mass_dtcon_omp)

    !Config  Key  = ok_mass_dqcon
    !Config  Desc = for conservation when calling deep convection every n time steps
    !Config  Def  = y
    !Config  Help = for conservation when calling deep convection every n time steps
    ok_mass_dqcon_omp = .TRUE.
    CALL getin('ok_mass_dqcon',ok_mass_dqcon_omp)

    !Config  Key  = ok_mass_duvcon
    !Config  Desc = for conservation when calling deep convection every n time steps
    !Config  Def  = y
    !Config  Help = for conservation when calling deep convection every n time steps
    ok_mass_duvcon_omp = .TRUE.
    CALL getin('ok_mass_duvcon',ok_mass_duvcon_omp)


    !
    !
    !
    ! Constante solaire & Parametres orbitaux & taux gaz effet de serre END
    !
    ! KE
    !

    !Config key  = cvl_comp_threshold
    !Config Desc = maximum fraction of convective points enabling compression
    !Config Def  = 1.00
    !Config Help = fields are compressed when less than a fraction cvl_comp_threshold
    !Config Help = of the points is convective.
    cvl_comp_threshold_omp = 1.00
    CALL getin('cvl_comp_threshold', cvl_comp_threshold_omp)

    !Config key  = cvl_sig2feed
    !Config Desc = sigma coordinate at top of feeding layer
    !Config Def  = 0.97
    !Config Help = deep convection is fed by the layer extending from the surface (pressure ps)
    !Config Help = and cvl_sig2feed*ps.
    cvl_sig2feed_omp = 0.97
    CALL getin('cvl_sig2feed', cvl_sig2feed_omp)

    !Config key  = cvl_corr
    !Config Desc = Facteur multiplication des precip convectives dans KE
    !Config Def  = 1.00
    !Config Help = 1.02 pour un moderne ou un pre-ind. A ajuster pour un glaciaire
    cvl_corr_omp = 1.00
    CALL getin('cvl_corr', cvl_corr_omp)


    !Config Key  = epmax
    !Config Desc = Efficacite precip
    !Config Def  = 0.993
    !Config Help = 
    !
    epmax_omp = .993
    CALL getin('epmax', epmax_omp)

    coef_epmax_cape_omp = 0.0   
    CALL getin('coef_epmax_cape', coef_epmax_cape_omp)        
    !
    !Config Key  = ok_adj_ema
    !Config Desc =  
    !Config Def  = FALSE
    !Config Help = 
    !
    ok_adj_ema_omp = .FALSE.
    CALL getin('ok_adj_ema',ok_adj_ema_omp)
    !
    !Config Key  = iflag_clw
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    iflag_clw_omp = 0
    CALL getin('iflag_clw',iflag_clw_omp)
    

    !Config Key  = iflag_ratqs
    !Config Desc =
    !Config Def  = 1
    !Config Help =
    !
    iflag_ratqs_omp = 1
    CALL getin('iflag_ratqs',iflag_ratqs_omp)

    !
    !Config Key  = iflag_radia 
    !Config Desc =  
    !Config Def  = 1
    !Config Help = 
    !
    iflag_radia_omp = 1
    CALL getin('iflag_radia',iflag_radia_omp)

    !
    !Config Key  = iflag_rrtm 
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    iflag_rrtm_omp = 0
    CALL getin('iflag_rrtm',iflag_rrtm_omp)

    !
    !Config Key  = NSW 
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    NSW_omp = 2
    CALL getin('NSW',NSW_omp)
    !albedo SB >>>
    iflag_albedo_omp = 0
    CALL getin('iflag_albedo',iflag_albedo_omp)

    ok_chlorophyll_omp=.FALSE.
    CALL getin('ok_chlorophyll',ok_chlorophyll_omp)
    !albedo SB <<<
    !
    !Config Key  = ok_sun_time
    !Config Desc = oui ou non variabilite solaire
    !Config Def  = .FALSE.
    !Config Help =
    !
    !
    !valeur AMIP II
    ok_suntime_rrtm_omp = .FALSE.
    IF (iflag_rrtm_omp==1) THEN
      CALL getin('ok_suntime_rrtm',ok_suntime_rrtm_omp)
    ENDIF
    
    !Config Key  = flag_aerosol_strat
    !Config Desc = use stratospheric aerosols 0, 1, 2
    ! - 0 = no stratospheric aerosols 
    ! - 1 = stratospheric aerosols scaled from 550 nm AOD 
    ! - 2 = stratospheric aerosol properties from CMIP6
    !Option 2 is only available with RRTM, this is tested later on 
    !Config Def  = 0
    !Config Help = Used in physiq.F
    !
    flag_aerosol_strat_omp = 0
    CALL getin('flag_aerosol_strat',flag_aerosol_strat_omp)

    !Config Key  = flag_aer_feedback
    !Config Desc = (des)activate aerosol radiative feedback
    ! - F = no aerosol radiative feedback
    ! - T = aerosol radiative feedback
    !Config Def  = T
    !Config Help = Used in physiq.F
    !
    flag_aer_feedback_omp = .TRUE. 
    IF (iflag_rrtm_omp==1) THEN
       CALL getin('flag_aer_feedback',flag_aer_feedback_omp)
    ENDIF

    !Config Key  = iflag_cld_th 
    !Config Desc =  
    !Config Def  = 1
    !Config Help = 
    !
    iflag_cld_th_omp = 1
    ! On lit deux fois avec l'ancien et le nouveau nom 
    ! pour assurer une retrocompatiblite.
    ! A abandonner un jour
    CALL getin('iflag_cldcon',iflag_cld_th_omp)
    CALL getin('iflag_cld_th',iflag_cld_th_omp)
    iflag_cld_cv_omp = 0 
    CALL getin('iflag_cld_cv',iflag_cld_cv_omp)

    !
    !Config Key  = tau_cld_cv
    !Config Desc =
    !Config Def  = 10.
    !Config Help =
    !
    tau_cld_cv_omp = 10.
    CALL getin('tau_cld_cv',tau_cld_cv_omp)

    !
    !Config Key  = coefw_cld_cv
    !Config Desc =
    !Config Def  = 0.1
    !Config Help =
    !
    coefw_cld_cv_omp = 0.1
    CALL getin('coefw_cld_cv',coefw_cld_cv_omp)




    !
    !Config Key  = fact_cldcon
    !Config Desc =  
    !Config Def  = 0.375
    !Config Help = 
    !
    fact_cldcon_omp = 0.375
    CALL getin('fact_cldcon',fact_cldcon_omp)

    !
    !Config Key  = facttemps
    !Config Desc =  
    !Config Def  = 1.e-4
    !Config Help = 
    !
    facttemps_omp = 1.e-4
    CALL getin('facttemps',facttemps_omp)

    !
    !Config Key  = ok_newmicro
    !Config Desc =  
    !Config Def  = .TRUE.
    !Config Help = 
    !
    ok_newmicro_omp = .TRUE.
    CALL getin('ok_newmicro',ok_newmicro_omp)
    !
    !Config Key  = ratqsbas
    !Config Desc =  
    !Config Def  = 0.01
    !Config Help = 
    !
    ratqsbas_omp = 0.01
    CALL getin('ratqsbas',ratqsbas_omp)
    !
    !Config Key  = ratqshaut
    !Config Desc =  
    !Config Def  = 0.3
    !Config Help = 
    !
    ratqshaut_omp = 0.3
    CALL getin('ratqshaut',ratqshaut_omp)

    !Config Key  = tau_ratqs
    !Config Desc =  
    !Config Def  = 1800.
    !Config Help = 
    !
    tau_ratqs_omp = 1800.
    CALL getin('tau_ratqs',tau_ratqs_omp)

    !
    !-----------------------------------------------------------------------
    ! Longitude solaire pour le calcul de l'ensoleillement en degre
    ! si on veut imposer la saison. Sinon, solarlong0=-999.999
    !Config Key  = solarlong0
    !Config Desc =  
    !Config Def  = -999.999 
    !Config Help = 
    !
    solarlong0_omp = -999.999
    CALL getin('solarlong0',solarlong0_omp)
    !
    !-----------------------------------------------------------------------
    !  Valeur imposee pour configuration idealisees
    !Config Key  = qsol0 pour le bucket, evap0 pour aquaplanetes, albsno0
    ! Default value -1 to activate the full computation
    qsol0_omp = -1.
    CALL getin('qsol0',qsol0_omp)
    evap0_omp = -1.
    CALL getin('evap0',evap0_omp)
    albsno0_omp = -1.
    CALL getin('albsno0',albsno0_omp)
    !
    !-----------------------------------------------------------------------
    !
    !Config Key  = iflag_sic
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    iflag_sic_omp = 0
    CALL getin('iflag_sic',iflag_sic_omp)
    !
    !Config Key  = iflag_inertie
    !Config Desc =
    !Config Def  = 0
    !Config Help =
    !
    iflag_inertie_omp = 0
    CALL getin('iflag_inertie',iflag_inertie_omp)
    !
    !Config Key  = inertie_sic
    !Config Desc =  
    !Config Def  = 2000.
    !Config Help = 
    !
    inertie_sic_omp = 2000.
    CALL getin('inertie_sic',inertie_sic_omp)
    !
    !Config Key  = inertie_lic
    !Config Desc =  
    !Config Def  = 2000.
    !Config Help = 
    !
    inertie_lic_omp = 2000.
    CALL getin('inertie_lic',inertie_lic_omp)
    !
    !Config Key  = inertie_sno
    !Config Desc =  
    !Config Def  = 2000.
    !Config Help = 
    !
    inertie_sno_omp = 2000.
    CALL getin('inertie_sno',inertie_sno_omp)
    !
    !Config Key  = inertie_sol
    !Config Desc =  
    !Config Def  = 2000.
    !Config Help = 
    !
    inertie_sol_omp = 2000.
    CALL getin('inertie_sol',inertie_sol_omp)

    !
    !Config Key  = rad_froid
    !Config Desc =  
    !Config Def  = 35.0
    !Config Help = 
    !
    rad_froid_omp = 35.0
    CALL getin('rad_froid',rad_froid_omp)

    !
    !Config Key  = rad_chau1
    !Config Desc =  
    !Config Def  = 13.0
    !Config Help = 
    !
    rad_chau1_omp = 13.0
    CALL getin('rad_chau1',rad_chau1_omp)

    !
    !Config Key  = rad_chau2
    !Config Desc =  
    !Config Def  = 9.0
    !Config Help = 
    !
    rad_chau2_omp = 9.0
    CALL getin('rad_chau2',rad_chau2_omp)


    !
    !Config Key  = iflag_ice_thermo
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    iflag_ice_thermo_omp = 0
    CALL getin('iflag_ice_thermo',iflag_ice_thermo_omp)

    !
    !Config Key  = ok_ice_supersat
    !Config Desc = include ice supersaturation for cold clouds
    !Config Def  = .FALSE.
    !Config Help =
    !
    ok_ice_supersat_omp = .FALSE.
    CALL getin('ok_ice_supersat',ok_ice_supersat_omp)

    !Config Key  = ok_plane_h2o
    !Config Desc = include H2O emissions from aviation
    !Config Def  = .FALSE.
    !Config Help =
    !
    ok_plane_h2o_omp = .FALSE.
    CALL getin('ok_plane_h2o',ok_plane_h2o_omp)

    !Config Key  = ok_plane_contrail
    !Config Desc = include the formation of contrail cirrus clouds
    !Config Def  = .FALSE.
    !Config Help =
    !
    ok_plane_contrail_omp = .FALSE.
    CALL getin('ok_plane_contrail',ok_plane_contrail_omp)

    !
    !Config Key  = top_height
    !Config Desc =
    !Config Def  = 3
    !Config Help =
    !
    top_height_omp = 3
    CALL getin('top_height',top_height_omp)

    !
    !Config Key  = overlap
    !Config Desc =
    !Config Def  = 3
    !Config Help =
    !
    overlap_omp = 3
    CALL getin('overlap',overlap_omp)

    !
    !Config Key  = cdmmax
    !Config Desc =
    !Config Def  = 1.3E-3
    !Config Help =
    !
    cdmmax_omp = 1.3E-3
    CALL getin('cdmmax',cdmmax_omp)

    !
    !Config Key  = cdhmax
    !Config Desc =
    !Config Def  = 1.1E-3
    !Config Help =
    !
    cdhmax_omp = 1.1E-3
    CALL getin('cdhmax',cdhmax_omp)

    !261103
    !
    !Config Key  = ksta
    !Config Desc =
    !Config Def  = 1.0e-10
    !Config Help =
    !
    ksta_omp = 1.0e-10
    CALL getin('ksta',ksta_omp)

    !
    !Config Key  = ksta_ter
    !Config Desc =
    !Config Def  = 1.0e-10
    !Config Help =
    !
    ksta_ter_omp = 1.0e-10
    CALL getin('ksta_ter',ksta_ter_omp)

    !Config Key  = f_ri_cd_min
    !Config Desc =
    !Config Def  = 0.1
    !Config Help =
    !
    f_ri_cd_min_omp = 0.1
    CALL getin('f_ri_cd_min',f_ri_cd_min_omp)

    !
    !Config Key  = ok_kzmin
    !Config Desc =
    !Config Def  = .TRUE.
    !Config Help =
    !
    ok_kzmin_omp = .TRUE.
    CALL getin('ok_kzmin',ok_kzmin_omp)

    !
    !Config Key  = fmagic
    !Config Desc = additionnal multiplicator factor used for albedo
    !Config Def  = 1.
    !Config Help = additionnal multiplicator factor used in albedo.F
    !
    fmagic_omp = 1.
    CALL getin('fmagic',fmagic_omp)

    !
    !Config Key  = pmagic
    !Config Desc = additional factor used for albedo
    !Config Def  = 0.
    !Config Help = additional factor used in albedo.F
    !
    pmagic_omp = 0.
    CALL getin('pmagic',pmagic_omp)


    !Config Key = ok_lic_melt
    !Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau
    !Config Def  = .FALSE.
    !Config Help = mettre a .FALSE. pour assurer la conservation en eau
    ok_lic_melt_omp = .FALSE.
    CALL getin('ok_lic_melt', ok_lic_melt_omp)


    !Config Key = ok_lic_cond
    !Config Desc = Prise en compte depot de vapeur d'eau sur la calotte dans le bilan d'eau
    !Config Def  = .FALSE.
    !Config Help = mettre a .TRUE. pour assurer la conservation en eau
    ok_lic_cond_omp = .FALSE.
    CALL getin('ok_lic_cond', ok_lic_cond_omp)

    !
    ! PARAMETER FOR THE PLANETARY BOUNDARY LAYER
    !

    !Config Key  = iflag_pbl
    !Config Desc =
    !Config Def  = 1
    !Config Help =
    !
    iflag_pbl_omp = 1
    CALL getin('iflag_pbl',iflag_pbl_omp)

    iflag_physiq_omp = 0 ! 0: std, 1: with physiqex output, 2: for physiqex
    CALL getin('iflag_physiq',iflag_physiq_omp)

!FC
    !Config Key  = ifl_pbltree
    !Config Desc = drag from trees 0 no activated
    !Config Def  = 0
    !Config Help =
    !
    ifl_pbltree_omp = 0
    CALL getin('ifl_pbltree',ifl_pbltree_omp)
!FC
    !Config Key  = Cd_frein
    !Config Desc = drag from trees 
    !Config Def  = 7.5E-02 (valeur Masson mais fait planter avec des LAI eleves)
    !Config Help =
    !
    Cd_frein_omp = 7.5E-02
    CALL getin('Cd_frein',Cd_frein_omp)
!AM
    !Config Key  = iflag_hetero_surf
    !Config Desc = type of treatment for heterogeneous continental sub-surfaces
    !Config Def  = 0
    !Config Help = 0: homo. surface; 1: heteo. surface with parameter aggregation; 2: heteo surface with flux aggregation
    !
    iflag_hetero_surf_omp = 0
    CALL getin('iflag_hetero_surf',iflag_hetero_surf_omp)
    !
    !Config Key  = iflag_pbl_split
    !Config Desc = decimal flag: least signif digit = split vdf; next digit = split thermals
    !Config Def  = 0
    !Config Help = 0-> no splitting; 1-> vdf splitting; 10-> thermals splitting; 11-> full splitting
    !
    iflag_pbl_split_omp = 0
    call getin('iflag_pbl_split',iflag_pbl_split_omp)
    !
    !Config Key  = iflag_order2_sollw
    !Config Desc =
    !Config Def  = 0
    !Config Help =
    !
    iflag_order2_sollw_omp = 0
    CALL getin('iflag_order2_sollw',iflag_order2_sollw_omp)
    !
    !Config Key  = iflag_thermals
    !Config Desc =
    !Config Def  = 0
    !Config Help =
    !
    iflag_thermals_omp = 0
    CALL getin('iflag_thermals',iflag_thermals_omp)
    !
    !Config Key  = nsplit_thermals
    !Config Desc =
    !Config Def  = 0
    !Config Help =
    !
    nsplit_thermals_omp = 1
    CALL getin('nsplit_thermals',nsplit_thermals_omp)
    !
    !Config Key  = nsplit_thermals
    !Config Desc =
    !Config Def  = 0
    !Config Help =
    alp_bl_k_omp = 1.
    CALL getin('alp_bl_k',alp_bl_k_omp)

    ! nrlmd le 10/04/2012

    !Config Key  = iflag_trig_bl
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    iflag_trig_bl_omp = 0
    CALL getin('iflag_trig_bl',iflag_trig_bl_omp)

    !Config Key  = iflag_strig
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    iflag_strig_omp = 0
    CALL getin('iflag_strig',iflag_strig_omp)

    !Config Key  = s_trig_bl
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    s_trig_omp = 2e7
    CALL getin('s_trig',s_trig_omp)

    !Config Key  = h_trig
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    h_trig_omp = 6000.
    CALL getin('h_trig',h_trig_omp)

    !Config Key  = tau_trig_shallow
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    tau_trig_shallow_omp = 600
    CALL getin('tau_trig_shallow',tau_trig_shallow_omp)

    !Config Key  = tau_trig_deep
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    tau_trig_deep_omp = 1800
    CALL getin('tau_trig_deep',tau_trig_deep_omp)

    !Config Key  = iflag_clos_bl
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    iflag_clos_bl_omp = 0
    CALL getin('iflag_clos_bl',iflag_clos_bl_omp)

    ! fin nrlmd le 10/04/2012

    !
    !Config Key  = tau_thermals
    !Config Desc =
    !Config Def  = 0.
    !Config Help =
    !
    tau_thermals_omp = 0.
    CALL getin('tau_thermals',tau_thermals_omp)

    !
    !Config Key  = iflag_coupl
    !Config Desc =
    !Config Def  = 0
    !Config Help =
    !
    iflag_coupl_omp = 0
    CALL getin('iflag_coupl',iflag_coupl_omp)

    !
    !Config Key  = iflag_clos
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    iflag_clos_omp = 1
    CALL getin('iflag_clos',iflag_clos_omp)
    !
    !Config Key  = coef_clos_ls
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    coef_clos_ls_omp = 0.
    CALL getin('coef_clos_ls',coef_clos_ls_omp)

    !
    !Config Key  = iflag_cvl_sigd
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    iflag_cvl_sigd_omp = 0
    CALL getin('iflag_cvl_sigd',iflag_cvl_sigd_omp)

    !Config Key  = iflag_wake
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    iflag_wake_omp = 0
    CALL getin('iflag_wake',iflag_wake_omp)

    !Config Key  = alp_offset
    !Config Desc =  
    !Config Def  = 0
    !Config Help = 
    !
    alp_offset_omp = 0.
    CALL getin('alp_offset',alp_offset_omp)

    !
    !Config Key  = lev_histhf
    !Config Desc =
    !Config Def  = 1
    !Config Help =
    !
    lev_histhf_omp = 1
    CALL getin('lev_histhf',lev_histhf_omp)

    !
    !Config Key  = lev_histday
    !Config Desc =
    !Config Def  = 1
    !Config Help =
    !
    lev_histday_omp = 1
    CALL getin('lev_histday',lev_histday_omp)

    !
    !Config Key  = lev_histmth
    !Config Desc =
    !Config Def  = 2
    !Config Help =
    !
    lev_histmth_omp = 2
    CALL getin('lev_histmth',lev_histmth_omp)
    !
    !Config Key  = lev_histins
    !Config Desc =
    !Config Def  = 1
    !Config Help =
    !
    lev_histins_omp = 1
    CALL getin('lev_histins',lev_histins_omp)
    !
    !Config Key  = lev_histLES
    !Config Desc =
    !Config Def  = 1
    !Config Help =
    !
    lev_histLES_omp = 1
    CALL getin('lev_histLES',lev_histLES_omp)
    ! 
    !Config Key  = type_run
    !Config Desc =
    !Config Def  = 'AMIP'/'CFMIP'  ou 'CLIM'/'ENSP'
    !Config Help =
    !
    type_run_omp = 'AMIP'
    CALL getin('type_run',type_run_omp)

    !
    !Config Key  = ok_cosp
    !Config Desc =
    !Config Def  = .FALSE.
    !Config Help =
    !
    ok_cosp_omp = .FALSE.
    CALL getin('ok_cosp',ok_cosp_omp)

    !
    !Config Key  = ok_airs
    !Config Desc =
    !Config Def  = .FALSE.
    !Config Help =
    !
    ok_airs_omp = .FALSE.
    CALL getin('ok_airs',ok_airs_omp)

    !
    !Config Key  = ok_mensuelCOSP
    !Config Desc =
    !Config Def  = .TRUE.
    !Config Help =
    !
    ok_mensuelCOSP_omp = .TRUE.
    CALL getin('ok_mensuelCOSP',ok_mensuelCOSP_omp)

    !
    !Config Key  = ok_journeCOSP
    !Config Desc =
    !Config Def  = .TRUE.
    !Config Help = 
    !
    ok_journeCOSP_omp = .TRUE.
    CALL getin('ok_journeCOSP',ok_journeCOSP_omp)

    !
    !Config Key  = ok_hfCOSP
    !Config Desc =
    !Config Def  = .FALSE.
    !Config Help =
    !
    ok_hfCOSP_omp = .FALSE.
    CALL getin('ok_hfCOSP',ok_hfCOSP_omp)

    !
    ! coordonnees (lonmin_ins, lonmax_ins, latmin_ins, latmax_ins) pour la zone 
    ! avec sorties instantannees tous les pas de temps de la physique => "histbilKP_ins.nc"
    !
    !Config Key  = lonmin_ins
    !Config Desc = 100.  
    !Config Def  = longitude minimale sorties "bilKP_ins"
    !Config Help = 
    !
    lonmin_ins_omp = 100.
    CALL getin('lonmin_ins',lonmin_ins_omp)
    !
    !Config Key  = lonmax_ins
    !Config Desc = 130. 
    !Config Def  = longitude maximale sorties "bilKP_ins"
    !Config Help =
    !
    lonmax_ins_omp = 130.
    CALL getin('lonmax_ins',lonmax_ins_omp)
    !
    !Config Key  = latmin_ins
    !Config Desc = -20.  
    !Config Def  = latitude minimale sorties "bilKP_ins"
    !Config Help = 
    !
    latmin_ins_omp = -20.
    CALL getin('latmin_ins',latmin_ins_omp)
    !
    !Config Key  = latmax_ins
    !Config Desc = 20. 
    !Config Def  = latitude maximale sorties "bilKP_ins"
    !Config Help =
    !
    latmax_ins_omp = 20.
    CALL getin('latmax_ins',latmax_ins_omp)
    !
    !Config Key  = ecrit_hf
    !Config Desc =
    !Config Def  = 1./8. !toutes les 3h
    !Config Help =
    !
    ecrit_hf_omp = 1./8.
    CALL getin('ecrit_hf',ecrit_hf_omp)
    !
    !Config Key  = ecrit_ins
    !Config Desc =
    !Config Def  = 1./48. ! toutes les 1/2 h
    !Config Help =
    !
    ecrit_ins_omp = 1./48.
    CALL getin('ecrit_ins',ecrit_ins_omp)
    !
    !Config Key  = ecrit_day
    !Config Desc =
    !Config Def  = 1.0 !tous les jours
    !Config Help = nombre de jours pour ecriture fichier histday.nc
    !
    ecrit_day_omp = 1.0
    CALL getin('ecrit_day',ecrit_day_omp)
    !
    !Config Key  = ecrit_mth
    !Config Desc =
    !Config Def  = 30. !tous les 30jours (1 fois par mois)
    !Config Help =
    !
    ecrit_mth_omp = 30.
    CALL getin('ecrit_mth',ecrit_mth_omp)
    !
    !Config Key  = ecrit_tra
    !Config Desc =
    !Config Def  = 30. !tous les 30jours (1 fois par mois)
    !Config Help =
    !
    ecrit_tra_omp = 0.
    CALL getin('ecrit_tra',ecrit_tra_omp)
    !
    !Config Key  = ecrit_reg
    !Config Desc =
    !Config Def  = 0.25  !4 fois par jour
    !Config Help =
    !
    ecrit_reg_omp = 0.25   !4 fois par jour
    CALL getin('ecrit_reg',ecrit_reg_omp)
    !
    !
    print*,'CONFPHYS OOK avant drag_ter'
    !
    ! PARAMETRES CDRAG
    !
    f_cdrag_ter_omp = 0.8
    CALL getin('f_cdrag_ter',f_cdrag_ter_omp)
    !
    f_cdrag_oce_omp = 0.8
    CALL getin('f_cdrag_oce',f_cdrag_oce_omp)
    !

    ! Gustiness flags
    f_z0qh_oce_omp = 1.
    CALL getin('f_z0qh_oce',f_z0qh_oce_omp)
    !
    f_qsat_oce_omp = 1.
    CALL getin('f_qsat_oce',f_qsat_oce_omp)
    !
    f_gust_bl_omp = 0.
    CALL getin('f_gust_bl',f_gust_bl_omp)
    !
    f_gust_wk_omp = 0.
    CALL getin('f_gust_wk',f_gust_wk_omp)
    !
    !Config Key  = iflag_z0_oce
    !Config Desc = 0 (z0h=z0m), 1 (diff. equ. for z0h and z0m), -1 (z0m=z0h=z0min)
    !Config Def  = 0   ! z0h = z0m
    !Config Help =
    !
    iflag_z0_oce_omp=0
    CALL getin('iflag_z0_oce',iflag_z0_oce_omp)
    !
    iflag_gusts_omp=0
    CALL getin('iflag_gusts',iflag_gusts_omp)
    !
    min_wind_speed_omp = 1.
    CALL getin('min_wind_speed',min_wind_speed_omp)

    z0m_seaice_omp = 0.002 ; CALL getin('z0m_seaice',z0m_seaice_omp)
    z0h_seaice_omp = 0.002 ; CALL getin('z0h_seaice',z0h_seaice_omp)


    z0m_landice_omp = 0.001 ; CALL getin('z0m_landice',z0m_landice_omp)
    ratio_z0hz0m_landice_omp = 1. ; CALL getin('ratio_z0hz0m_landice',ratio_z0hz0m_landice_omp)

    f_rugoro_omp = 0.
    CALL getin('f_rugoro',f_rugoro_omp)

    z0min_omp = 0.000015
    CALL getin('z0min',z0min_omp)


    ! PARAMETERS FOR CONVECTIVE INHIBITION BY TROPOS. DRYNESS
    !
    !Config Key  = supcrit1
    !Config Desc =
    !Config Def  = .540
    !Config Help =
    !
    supcrit1_omp = .540
    CALL getin('supcrit1',supcrit1_omp)

    !
    !Config Key  = supcrit2
    !Config Desc =
    !Config Def  = .600
    !Config Help =
    !
    supcrit2_omp = .600
    CALL getin('supcrit2',supcrit2_omp)

    !
    ! PARAMETERS FOR THE MIXING DISTRIBUTION
    ! iflag_mix: 0=OLD, 
    !            1=NEW (JYG),            
    !            2=NEW + conv. depth inhib. by tropos. dryness
    ! '2' is NOT operationnal and should not be used.
    !
    !Config Key  = iflag_mix
    !Config Desc =
    !Config Def  = 1
    !Config Help =
    !
    iflag_mix_omp = 1
    CALL getin('iflag_mix',iflag_mix_omp)

!
    ! PARAMETERS FOR THE EROSION OF THE ADIABATIC ASCENTS
    ! iflag_mix_adiab: 0=OLD, 
    !                  1=NEW (CR),            
    !            
    !
    !Config Key  = iflag_mix_adiab
    !Config Desc =
    !Config Def  = 1
    !Config Help =
    !
    iflag_mix_adiab_omp = 0
    CALL getin('iflag_mix_adiab',iflag_mix_adiab_omp)

    !
    !Config Key  = scut
    !Config Desc =
    !Config Def  = 0.95
    !Config Help =
    !
    scut_omp = 0.95
    CALL getin('scut',scut_omp)

    !
    !Config Key  = qqa1
    !Config Desc =
    !Config Def  = 1.0
    !Config Help =
    !
    qqa1_omp = 1.0
    CALL getin('qqa1',qqa1_omp)

    !
    !Config Key  = qqa2
    !Config Desc =
    !Config Def  = 0.0
    !Config Help =
    !
    qqa2_omp = 0.0
    CALL getin('qqa2',qqa2_omp)

    !
    !Config Key  = gammas
    !Config Desc =
    !Config Def  = 0.05
    !Config Help =
    !
    gammas_omp = 0.05
    CALL getin('gammas',gammas_omp)

    !
    !Config Key  = Fmax
    !Config Desc =
    !Config Def  = 0.65
    !Config Help =
    !
    Fmax_omp = 0.65
    CALL getin('Fmax',Fmax_omp)

    !
    !Config Key  = tmax_fonte_cv
    !Config Desc =
    !Config Def  = 275.15
    !Config Help =
    !
    tmax_fonte_cv_omp = 275.15
    CALL getin('tmax_fonte_cv',tmax_fonte_cv_omp)

    !
    !Config Key  = alphas  
    !Config Desc =
    !Config Def  = -5.
    !Config Help =
    !
    alphas_omp = -5.
    CALL getin('alphas',alphas_omp)

    !Config key = ok_strato
    !Config  Desc = activation de la version strato
    !Config  Def  = .FALSE.
    !Config  Help = active la version stratosph\'erique de LMDZ de F. Lott
    !               Et la sponge layer (Runs Stratospheriques)

    ok_strato_omp=.FALSE.
    CALL getin('ok_strato',ok_strato_omp)

    !Config  key = ok_hines
    !Config  Desc = activation de la parametrisation de hines
    !Config  Def  = .FALSE.
    !Config  Help = Clefs controlant la parametrization de Hines

    ok_hines_omp=.FALSE.
    CALL getin('ok_hines',ok_hines_omp)

    !  Parametres pour les ondes de gravite
    !  
    !  Subgrid Scale Orography (Lott Miller (1997), Lott (1999))

    sso_gkdrag_omp = merge(0.1875, 0.2, ok_strato_omp)
    CALL getin('sso_gkdrag', sso_gkdrag_omp)

    sso_grahil_omp=merge(0.1,1.,ok_strato_omp)
    CALL getin('sso_grahil', sso_grahil_omp)

    sso_grcrit_omp =merge(1.,0.01,ok_strato_omp)
    CALL getin('sso_grcrit', sso_grcrit_omp)

    sso_gfrcri_omp = 1.
    CALL getin('sso_gfrcri', sso_gfrcri_omp)

    sso_gkwake_omp = 0.50
    CALL getin('sso_gkwake', sso_gkwake_omp)

    sso_gklift_omp = merge(0.25,0.50,ok_strato_omp)
    CALL getin('sso_gklift', sso_gklift_omp)

    ! Random gravity waves:

    ok_gwd_rando_omp = .FALSE.
    IF ( klon_glo == 1 ) THEN
       print*,'La parametrisation des ondes de gravites non orographiques'
       print*,'ne fonctionne pas en 1D'
    ELSE
       CALL getin('ok_gwd_rando', ok_gwd_rando_omp)
    ENDIF

    gwd_rando_ruwmax_omp = 2.00
    CALL getin('gwd_rando_ruwmax', gwd_rando_ruwmax_omp)

    gwd_rando_sat_omp = 0.25
    CALL getin('gwd_rando_sat', gwd_rando_sat_omp)

    gwd_front_ruwmax_omp = 2.50
    CALL getin('gwd_front_ruwmax', gwd_front_ruwmax_omp)

    gwd_front_sat_omp = 0.60
    CALL getin('gwd_front_sat', gwd_front_sat_omp)


    !Config  key = ok_qch4
    !Config  Desc = activation de la parametrisation du methane
    !Config  Def  = .FALSE.
    !Config  Help = Clef controlant l'activation de la parametrisation
    !               de l'humidite due a oxydation+photolyse du methane strato

    ok_qch4_omp=.FALSE.
    CALL getin('ok_qch4',ok_qch4_omp)

    !Config Key  = OK_LES                                               
    !Config Desc = Pour des sorties LES                                 
    !Config Def  = .FALSE.                                              
    !Config Help = Pour creer le fichier histLES contenant les sorties  
    !              LES                                                  
    !                                                                   
    ok_LES_omp = .FALSE.                                              
    CALL getin('OK_LES', ok_LES_omp)                                  

    !Config Key  = callstats                                               
    !Config Desc = Pour des sorties callstats                                 
    !Config Def  = .FALSE.                                              
    !Config Help = Pour creer le fichier stats contenant les sorties  
    !              stats                                                  
    !                                                                   
    callstats_omp = .FALSE.                                              
    CALL getin('callstats', callstats_omp)                                  
    !
    !Config Key  = ecrit_LES
    !Config Desc = Frequence d'ecriture des resultats du LES en nombre de jours;
    !              par defaut 1., i.e. 1 jour
    !Config Def  = 1./8.
    !Config Help = ... 
    !
    !
    adjust_tropopause = .FALSE.
    CALL getin('adjust_tropopause', adjust_tropopause_omp)
    !
    !Config Key  = adjust_tropopause
    !Config Desc = Adjust the ozone field from the climoz file by stretching its
    !              tropopause so that it matches the one of LMDZ.
    !Config Def  = .FALSE.
    !Config Help = Ensure tropospheric ozone column conservation.
    !
    !
    ok_daily_climoz = .FALSE.
    CALL getin('ok_daily_climoz', ok_daily_climoz_omp)
    !
    !Config Key  = ok_daily_climoz
    !Config Desc = Interpolate in time the ozone forcings within ce0l.
    !              .TRUE. if backward compatibility is needed.
    !Config Def  = .TRUE.
    !Config Help = .FALSE. ensure much fewer (no calendar dependency)
    !  and lighter monthly climoz files, inetrpolated in time at gcm run time.
    
    ok_new_lscp_omp = .FALSE.
    CALL getin('ok_new_lscp', ok_new_lscp_omp)
    !
    !Config Key  = ok_new_lscp_omp
    !Config Desc = new cloud scheme ith ice and mixed phase (Etienne and JB)
    !Config Def  = .FALSE.
    !Config Help = ...



    ok_icefra_lscp_omp = .FALSE.
    CALL getin('ok_icefra_lscp', ok_icefra_lscp_omp)
    !
    !Config Key  = ok_icefra_lscp_omp
    !Config Desc = ice fraction in radiation from lscp
    !Config Def  = .FALSE.
    !Config Help = ...


    ok_advtke_omp = .FALSE.
    CALL getin('ok_advtke', ok_advtke_omp)
    !
    !Config Key  = ok_advtke_omp
    !Config Desc = advect tke
    !Config Def  = .FALSE.
    !Config Help = ...

    ok_bs_omp = .FALSE.
    CALL getin('ok_bs', ok_bs_omp)
    !
    !Config Key  = ok_bs_omp
    !Config Desc = include blowing snow
    !Config Def  = .FALSE.
    !Config Help = ...


    ok_rad_bs_omp = .FALSE.
    CALL getin('ok_rad_bs', ok_rad_bs_omp)
    !
    !Config Key  = ok_rad_bs_omp
    !Config Desc = include blowing snow radiative effect
    !Config Def  = .FALSE.
    !Config Help = ...

    ecrit_LES_omp = 1./8.
    CALL getin('ecrit_LES', ecrit_LES_omp)
    !
    read_climoz = 0 ! default value
    CALL getin('read_climoz', read_climoz)

    carbon_cycle_tr_omp=.FALSE.
    CALL getin('carbon_cycle_tr',carbon_cycle_tr_omp)

    carbon_cycle_cpl_omp=.FALSE.
    CALL getin('carbon_cycle_cpl',carbon_cycle_cpl_omp)

    carbon_cycle_rad_omp=.FALSE.
    CALL getin('carbon_cycle_rad',carbon_cycle_rad_omp)

    read_fco2_ocean_cor_omp=.FALSE.
    CALL getin('read_fco2_ocean_cor',read_fco2_ocean_cor_omp)

    var_fco2_ocean_cor_omp=0. ! default value
    CALL getin('var_fco2_ocean_cor',var_fco2_ocean_cor_omp)

    read_fco2_land_cor_omp=.FALSE.
    CALL getin('read_fco2_land_cor',read_fco2_land_cor_omp)

    var_fco2_land_cor_omp=0. ! default value
    CALL getin('var_fco2_land_cor',var_fco2_land_cor_omp)

    ! level_coupling_esm : level of coupling of the biogeochemical fields between LMDZ, ORCHIDEE and NEMO
    ! Definitions of level_coupling_esm in physiq.def
    ! level_coupling_esm = 0  ! No field exchange between LMDZ and ORCHIDEE models
    !                         ! No field exchange between LMDZ and NEMO
    ! level_coupling_esm = 1  ! Field exchange between LMDZ and ORCHIDEE models
    !                         ! No field exchange between LMDZ and NEMO models
    ! level_coupling_esm = 2  ! No field exchange between LMDZ and ORCHIDEE models
    !                         ! Field exchange between LMDZ and NEMO models
    ! level_coupling_esm = 3  ! Field exchange between LMDZ and ORCHIDEE models
    !                         ! Field exchange between LMDZ and NEMO models
    level_coupling_esm_omp=0 ! default value
    CALL getin('level_coupling_esm',level_coupling_esm_omp)


    dms_cycle_cpl_omp=.FALSE.
    CALL getin('transm_dms_oa',dms_cycle_cpl_omp)
    !
    !Config Key  = dms_cycle_cpl
    !Config Desc = receive dms from pisces via oasis
    !Config Def  = .FALSE.
    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry 

    n2o_cycle_cpl_omp=.FALSE.
    CALL getin('transm_n2o_oa',n2o_cycle_cpl_omp)
    !
    !Config Key  = n2o_cycle_cpl
    !Config Desc = receive and send n2o from and to pisces via oasis
    !Config Def  = .FALSE.
    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry 
   
    ndp_cycle_cpl_omp=.FALSE.
    CALL getin('transm_ndp_ao',ndp_cycle_cpl_omp)
    !
    !Config Key  = ndp_cycle_cpl
    !Config Desc = send ndep to pisces via oasis
    !Config Def  = .FALSE.
    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry

    
    nh3_cycle_cpl_omp=.FALSE.
    CALL getin('transm_nh3_oa',nh3_cycle_cpl_omp)
    !
    !Config Key  = nh3_cycle_cpl
    !Config Desc = send nh3 from and to pisces via oasis
    !Config Def  = .FALSE.
    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry
    
    !$OMP END MASTER
    !$OMP BARRIER

    R_ecc = R_ecc_omp
    R_peri = R_peri_omp
    R_incl = R_incl_omp
    solaire = solaire_omp
    ok_suntime_rrtm = ok_suntime_rrtm_omp
    co2_ppm = co2_ppm_omp
    co2_ppm0 = co2_ppm0_omp
    RCO2 = RCO2_omp
    CH4_ppb = CH4_ppb_omp
    RCH4 = RCH4_omp
    N2O_ppb = N2O_ppb_omp
    RN2O = RN2O_omp
    CFC11_ppt = CFC11_ppt_omp
    RCFC11 = RCFC11_omp
    CFC12_ppt = CFC12_ppt_omp
    RCFC12 = RCFC12_omp
    RCO2_act = RCO2
    RCH4_act = RCH4
    RN2O_act = RN2O
    RCFC11_act = RCFC11
    RCFC12_act = RCFC12
    RCO2_per = RCO2_per_omp
    RCH4_per = RCH4_per_omp
    RN2O_per = RN2O_per_omp
    RCFC11_per = RCFC11_per_omp
    RCFC12_per = RCFC12_per_omp

    iflag_cycle_diurne = iflag_cycle_diurne_omp
    soil_model = soil_model_omp
    liqice_in_radocond = liqice_in_radocond_omp
! GG
    sice_cond = sice_cond_omp
    sisno_cond = sisno_cond_omp
    iflag_seaice = iflag_seaice_omp
    iflag_seaice_alb = iflag_seaice_alb_omp
    iflag_leads = iflag_leads_omp
    sisno_den = sisno_den_omp
    sisno_min = sisno_min_omp
    sithick_min = sithick_min_omp
    sisno_wfact = sisno_wfact_omp
    amax_n = amax_n_omp
    amax_s = amax_s_omp
    rn_alb_sdry = rn_alb_sdry_omp
    rn_alb_smlt = rn_alb_smlt_omp
    rn_alb_idry = rn_alb_idry_omp
    rn_alb_imlt = rn_alb_imlt_omp
    fseaN = fseaN_omp
    fseaS = fseaS_omp
    si_pen_ext = si_pen_ext_omp
    si_pen_frac = si_pen_frac_omp 
! GG

    ok_orodr = ok_orodr_omp
    ok_orolf = ok_orolf_omp
    nm_oro_t=nm_oro_t_omp
    zstd_orodr_t=zstd_orodr_t_omp
    zpmm_orodr_t=zpmm_orodr_t_omp
    zpmm_orolf_t=zpmm_orolf_t_omp
    ok_limitvrai = ok_limitvrai_omp
    nbapp_rad = nbapp_rad_omp
    iflag_con = iflag_con_omp
    nbapp_cv = nbapp_cv_omp
    nbapp_wk = nbapp_wk_omp
    iflag_ener_conserv = iflag_ener_conserv_omp
    ok_mass_dtcon = ok_mass_dtcon_omp
    ok_mass_dqcon = ok_mass_dqcon_omp
    ok_mass_duvcon = ok_mass_duvcon_omp
    ok_conserv_q = ok_conserv_q_omp
    epmax = epmax_omp
    coef_epmax_cape = coef_epmax_cape_omp
    ok_adj_ema = ok_adj_ema_omp
    iflag_clw = iflag_clw_omp
    solarlong0 = solarlong0_omp
    qsol0 = qsol0_omp
    evap0 = evap0_omp
    albsno0 = albsno0_omp
    iflag_sic = iflag_sic_omp
    iflag_inertie = iflag_inertie_omp
    inertie_sol = inertie_sol_omp
    inertie_sic = inertie_sic_omp
    inertie_lic = inertie_lic_omp
    inertie_sno = inertie_sno_omp
    ok_bs = ok_bs_omp
    ok_rad_bs=ok_rad_bs_omp
    ok_advtke=ok_advtke_omp
    rad_froid = rad_froid_omp
    rad_chau1 = rad_chau1_omp
    rad_chau2 = rad_chau2_omp
    iflag_ice_thermo = iflag_ice_thermo_omp
    ok_ice_supersat = ok_ice_supersat_omp
    ok_plane_h2o = ok_plane_h2o_omp
    ok_plane_contrail = ok_plane_contrail_omp
    top_height = top_height_omp
    overlap = overlap_omp
    cdmmax = cdmmax_omp
    cdhmax = cdhmax_omp
    ksta = ksta_omp
    ksta_ter = ksta_ter_omp
    f_ri_cd_min = f_ri_cd_min_omp
    ok_kzmin = ok_kzmin_omp
    fmagic = fmagic_omp
    pmagic = pmagic_omp
    iflag_pbl = iflag_pbl_omp
    iflag_physiq = iflag_physiq_omp
    iflag_pbl_split = iflag_pbl_split_omp
!FC
    ifl_pbltree = ifl_pbltree_omp
    Cd_frein    =Cd_frein_omp
!AM
    iflag_hetero_surf = iflag_hetero_surf_omp
    iflag_order2_sollw = iflag_order2_sollw_omp
    lev_histhf = lev_histhf_omp
    lev_histday = lev_histday_omp
    lev_histmth = lev_histmth_omp
    lev_histins = lev_histins_omp
    lev_histLES = lev_histLES_omp


    type_ocean = type_ocean_omp
    version_ocean = version_ocean_omp
    t_coupl = t_coupl_omp

    ok_veget=.TRUE.
    type_veget=type_veget_omp
    IF (type_veget=='n' .or. type_veget=='bucket' .or. type_veget=='betaclim') THEN
       ok_veget=.FALSE.
    ENDIF
    ! INLANDSIS
    !=================================================
    landice_opt = landice_opt_omp
    iflag_tsurf_inlandsis = iflag_tsurf_inlandsis_omp
    iflag_temp_inlandsis = iflag_temp_inlandsis_omp
    iflag_albcalc = iflag_albcalc_omp
    SnoMod=SnoMod_omp
    BloMod=BloMod_omp
    ok_outfor=ok_outfor_omp
    is_ok_slush=is_ok_slush_omp
    opt_runoff_ac=opt_runoff_ac_omp
    is_ok_z0h_rn=is_ok_z0h_rn_omp
    is_ok_density_kotlyakov=is_ok_density_kotlyakov_omp
    prescribed_z0m_snow=prescribed_z0m_snow_omp
    correc_alb=correc_alb_omp
    iflag_z0m_snow=iflag_z0m_snow_omp
    ok_zsn_ii=ok_zsn_ii_omp
    discret_xf=discret_xf_omp
    buf_sph_pol=buf_sph_pol_omp
    buf_siz_pol=buf_siz_pol_omp
    !=================================================
    ok_all_xml = ok_all_xml_omp
    ok_lwoff = ok_lwoff_omp
    ok_newmicro = ok_newmicro_omp
    ok_journe = ok_journe_omp
    ok_hf = ok_hf_omp
    ok_mensuel = ok_mensuel_omp
    ok_instan = ok_instan_omp
    freq_ISCCP = freq_ISCCP_omp
    ecrit_ISCCP = ecrit_ISCCP_omp
    freq_COSP = freq_COSP_omp
    freq_AIRS = freq_AIRS_omp
    ok_ade = ok_ade_omp
    ok_aie = ok_aie_omp
    ok_alw = ok_alw_omp
    ok_cdnc = ok_cdnc_omp
    ok_volcan = ok_volcan_omp
    flag_volc_surfstrat = flag_volc_surfstrat_omp
    aerosol_couple = aerosol_couple_omp
    chemistry_couple = chemistry_couple_omp
    flag_aerosol = flag_aerosol_omp
    flag_aerosol_strat = flag_aerosol_strat_omp
    flag_aer_feedback = flag_aer_feedback_omp
    flag_bc_internal_mixture=flag_bc_internal_mixture_omp
    aer_type = aer_type_omp
    bl95_b0 = bl95_b0_omp
    bl95_b1 = bl95_b1_omp
    fact_cldcon = fact_cldcon_omp
    facttemps = facttemps_omp
    ratqsbas = ratqsbas_omp
    ratqshaut = ratqshaut_omp
    tau_ratqs = tau_ratqs_omp

    iflag_radia = iflag_radia_omp
    iflag_rrtm = iflag_rrtm_omp
    iflag_albedo = iflag_albedo_omp
    ok_chlorophyll = ok_chlorophyll_omp
    NSW = NSW_omp
    iflag_cld_th = iflag_cld_th_omp
    iflag_cld_cv = iflag_cld_cv_omp
    tau_cld_cv = tau_cld_cv_omp
    coefw_cld_cv = coefw_cld_cv_omp
    iflag_ratqs = iflag_ratqs_omp
    ip_ebil_phy = ip_ebil_phy_omp
    iflag_thermals = iflag_thermals_omp
    nsplit_thermals = nsplit_thermals_omp
    tau_thermals = tau_thermals_omp
    alp_bl_k = alp_bl_k_omp
    ! nrlmd le 10/04/2012
    iflag_trig_bl = iflag_trig_bl_omp
    iflag_strig = iflag_strig_omp
    s_trig = s_trig_omp
    h_trig = h_trig_omp
    tau_trig_shallow = tau_trig_shallow_omp
    tau_trig_deep = tau_trig_deep_omp
    iflag_clos_bl = iflag_clos_bl_omp
    ! fin nrlmd le 10/04/2012
    iflag_coupl = iflag_coupl_omp
    iflag_clos = iflag_clos_omp
    iflag_wake = iflag_wake_omp
    coef_clos_ls = coef_clos_ls_omp
    alp_offset = alp_offset_omp
    iflag_cvl_sigd = iflag_cvl_sigd_omp
    type_run = type_run_omp
    ok_cosp = ok_cosp_omp
    ok_airs = ok_airs_omp

    ok_mensuelCOSP = ok_mensuelCOSP_omp
    ok_journeCOSP = ok_journeCOSP_omp
    ok_hfCOSP = ok_hfCOSP_omp
    seuil_inversion=seuil_inversion_omp
    lonmin_ins = lonmin_ins_omp
    lonmax_ins = lonmax_ins_omp
    latmin_ins = latmin_ins_omp
    latmax_ins = latmax_ins_omp
    ecrit_hf   = ecrit_hf_omp
    ecrit_ins   = ecrit_ins_omp
    ecrit_day = ecrit_day_omp
    ecrit_mth = ecrit_mth_omp
    ecrit_tra = ecrit_tra_omp
    ecrit_reg = ecrit_reg_omp
    cvl_comp_threshold = cvl_comp_threshold_omp
    cvl_sig2feed = cvl_sig2feed_omp
    cvl_corr = cvl_corr_omp
    ok_lic_melt = ok_lic_melt_omp
    ok_lic_cond = ok_lic_cond_omp
    f_cdrag_ter=f_cdrag_ter_omp
    f_cdrag_oce=f_cdrag_oce_omp

    f_gust_wk=f_gust_wk_omp
    f_gust_bl=f_gust_bl_omp
    f_qsat_oce=f_qsat_oce_omp
    f_z0qh_oce=f_z0qh_oce_omp
    min_wind_speed=min_wind_speed_omp
    iflag_gusts=iflag_gusts_omp
    iflag_z0_oce=iflag_z0_oce_omp

    z0m_seaice=z0m_seaice_omp
    z0h_seaice=z0h_seaice_omp
    z0m_landice=z0m_landice_omp
    ratio_z0hz0m_landice=ratio_z0hz0m_landice_omp

    f_rugoro=f_rugoro_omp

    z0min=z0min_omp
    supcrit1 = supcrit1_omp
    supcrit2 = supcrit2_omp
    iflag_mix = iflag_mix_omp
    iflag_mix_adiab = iflag_mix_adiab_omp
    scut = scut_omp
    qqa1 = qqa1_omp
    qqa2 = qqa2_omp
    gammas = gammas_omp
    Fmax = Fmax_omp
    tmax_fonte_cv = tmax_fonte_cv_omp
    alphas = alphas_omp

    gkdrag=sso_gkdrag_omp
    grahilo=sso_grahil_omp
    grcrit=sso_grcrit_omp
    gfrcrit=sso_gfrcri_omp
    gkwake=sso_gkwake_omp 
    gklift=sso_gklift_omp 

    ok_strato = ok_strato_omp
    ok_hines = ok_hines_omp
    ok_gwd_rando = ok_gwd_rando_omp
    gwd_rando_ruwmax = gwd_rando_ruwmax_omp
    gwd_rando_sat = gwd_rando_sat_omp
    gwd_front_ruwmax = gwd_front_ruwmax_omp
    gwd_front_sat = gwd_front_sat_omp
    ok_qch4 = ok_qch4_omp
    ok_LES = ok_LES_omp
    callstats = callstats_omp
    ecrit_LES = ecrit_LES_omp
    adjust_tropopause = adjust_tropopause_omp
    ok_daily_climoz = ok_daily_climoz_omp
    carbon_cycle_tr = carbon_cycle_tr_omp
    carbon_cycle_cpl = carbon_cycle_cpl_omp
    carbon_cycle_rad = carbon_cycle_rad_omp
    level_coupling_esm = level_coupling_esm_omp
    ok_new_lscp = ok_new_lscp_omp
    ok_icefra_lscp=ok_icefra_lscp_omp
    read_fco2_ocean_cor = read_fco2_ocean_cor_omp
    var_fco2_ocean_cor = var_fco2_ocean_cor_omp
    read_fco2_land_cor = read_fco2_land_cor_omp
    var_fco2_land_cor = var_fco2_land_cor_omp
    dms_cycle_cpl = dms_cycle_cpl_omp
    n2o_cycle_cpl = n2o_cycle_cpl_omp
    ndp_cycle_cpl = ndp_cycle_cpl_omp
    nh3_cycle_cpl = nh3_cycle_cpl_omp
    !rajout Olivier Torres
    kz0=kz0_omp
    choix_bulk = choix_bulk_omp
    nit_bulk = nit_bulk_omp

    ! Test of coherence between type_ocean and version_ocean
    IF (type_ocean=='couple' .AND. (version_ocean/='opa8' .AND. version_ocean/='nemo') ) THEN
       WRITE(lunout,*)' ERROR version_ocean=',version_ocean,' not valid in coupled configuration'
       CALL abort_physic('conf_phys','version_ocean not valid',1)
    ENDIF

    IF (type_ocean=='slab' .AND. version_ocean=='xxxxxx') THEN
       version_ocean='sicOBS'
    ELSE IF (type_ocean=='slab' .AND. version_ocean/='sicOBS' &
         .AND. version_ocean/='sicINT' .AND. version_ocean/='sicNO') THEN
       WRITE(lunout,*)' ERROR version_ocean=',version_ocean,' not valid with slab ocean'
       CALL abort_physic('conf_phys','version_ocean not valid',1)
    ENDIF

    !--test on radiative scheme 
    IF (iflag_rrtm .EQ. 0) THEN 
      IF (NSW.NE.2) THEN 
        WRITE(lunout,*) ' ERROR iflag_rrtm=0 and NSW<>2 not possible'
        CALL abort_physic('conf_phys','choice NSW not valid',1)
      ENDIF
    ELSE IF (iflag_rrtm .EQ. 1) THEN
      IF (NSW.NE.2.AND.NSW.NE.4.AND.NSW.NE.6) THEN
        WRITE(lunout,*) ' ERROR iflag_rrtm=1 and NSW<>2,4,6 not possible'
        CALL abort_physic('conf_phys','choice NSW not valid',1)
      ENDIF
   ELSE IF (iflag_rrtm .EQ. 2) THEN
      IF (NSW.NE.2.AND.NSW.NE.4.AND.NSW.NE.6) THEN
        WRITE(lunout,*) ' ERROR iflag_rrtm=1 and NSW<>2,4,6 not possible'
        CALL abort_physic('conf_phys','choice NSW not valid',1)
      ENDIF
    ELSE 
       WRITE(lunout,*) ' ERROR iflag_rrtm<>0,1'
       CALL abort_physic('conf_phys','choice iflag_rrtm not valid',1)
    ENDIF
    !--here we test that solaire has not been changed if ok_suntime_rrtm is activated
!    IF (ok_suntime_rrtm.AND.ABS(solaire-solaire_omp_init).GT.1.E-7) THEN 
!       WRITE(lunout,*) ' ERROR ok_suntime_rrtm=y and solaire is provided in def file'
!       CALL abort_physic('conf_phys','ok_suntime_rrtm=y and solaire is provided',1)
!    ENDIF
IF (CPPKEY_STRATAER) THEN
    IF (iflag_rrtm .NE. 1) THEN
       WRITE(lunout,*) ' ERROR iflag_rrtm<>1 but StratAer activated'
       CALL abort_physic('conf_phys','iflag_rrtm not valid for StratAer',1)
    ENDIF
    IF (NSW .NE. 6) THEN
       WRITE(lunout,*) ' ERROR NSW<>6 but StratAer activated'
       CALL abort_physic('conf_phys','NSW not valid for StratAer',1)
    ENDIF
END IF

    !--test on ocean surface albedo
    IF (iflag_albedo.LT.0.OR.iflag_albedo.GT.2) THEN
       WRITE(lunout,*) ' ERROR iflag_albedo<>0,1'
       CALL abort_physic('conf_phys','choice iflag_albedo not valid',1)
    ENDIF

    ! Flag_aerosol cannot be set to zero if aerosol direct effect (ade) or aerosol indirect effect (aie) are activated
    IF (ok_ade .OR. ok_aie) THEN 
       IF ( flag_aerosol .EQ. 0 ) THEN
          CALL abort_physic('conf_phys','flag_aerosol=0 not compatible avec ok_ade ou ok_aie=.TRUE.',1)
       ENDIF
    ENDIF

    ! Flag_aerosol cannot be set to zero if we are in coupled mode for aerosol
    IF (aerosol_couple .AND. flag_aerosol .EQ. 0 ) THEN
       CALL abort_physic('conf_phys', 'flag_aerosol cannot be to zero if aerosol_couple=y ', 1)
    ENDIF

    ! Read_climoz needs to be set zero if we are in couple mode for chemistry 
    IF (chemistry_couple .AND. read_climoz .ne. 0) THEN 
       CALL abort_physic('conf_phys', 'read_climoz need to be to zero if chemistry_couple=y ', 1) 
    ENDIF

    ! flag_aerosol need to be different to zero if ok_cdnc is activated
    IF (ok_cdnc .AND. flag_aerosol .EQ. 0) THEN
       CALL abort_physic('conf_phys', 'flag_aerosol cannot be to zero if ok_cdnc is activated ', 1)
    ENDIF

    ! ok_cdnc must be set to y if ok_aie is activated
    IF (ok_aie .AND. .NOT. ok_cdnc) THEN
       CALL abort_physic('conf_phys', 'ok_cdnc must be set to y if ok_aie is activated',1)
    ENDIF

    ! flag_aerosol=7 => MACv2SP climatology 
    IF (flag_aerosol.EQ.7.AND. iflag_rrtm.NE.1) THEN
       CALL abort_physic('conf_phys', 'flag_aerosol=7 (MACv2SP) can only be activated with RRTM',1)
    ENDIF
    IF (flag_aerosol.EQ.7.AND. NSW.NE.6) THEN
       CALL abort_physic('conf_phys', 'flag_aerosol=7 (MACv2SP) can only be activated with NSW=6',1)
    ENDIF

    ! BC internal mixture is only possible with RRTM & NSW=6 & flag_aerosol=6 or aerosol_couple
    IF (flag_bc_internal_mixture .AND. NSW.NE.6) THEN 
       CALL abort_physic('conf_phys', 'flag_bc_internal_mixture can only be activated with NSW=6',1)
    ENDIF
    IF (flag_bc_internal_mixture .AND. iflag_rrtm.NE.1) THEN 
       CALL abort_physic('conf_phys', 'flag_bc_internal_mixture can only be activated with RRTM',1)
    ENDIF
    IF (flag_bc_internal_mixture .AND. flag_aerosol.NE.6) THEN 
       CALL abort_physic('conf_phys', 'flag_bc_internal_mixture can only be activated with flag_aerosol=6',1)
    ENDIF

    ! test sur flag_volc_surfstrat
    IF (flag_volc_surfstrat.LT.0.OR.flag_volc_surfstrat.GT.2) THEN
       CALL abort_physic('conf_phys', 'flag_volc_surfstrat can only be 0 1 or 2',1)
    ENDIF 
    IF ((.NOT.ok_volcan.OR..NOT.ok_ade.OR..NOT.ok_aie).AND.flag_volc_surfstrat.GT.0) THEN
       CALL abort_physic('conf_phys', 'ok_ade, ok_aie, ok_volcan need to be activated if flag_volc_surfstrat is 1 or 2',1)
    ENDIF 

    ! Test on carbon cycle
    IF (carbon_cycle_tr .AND. .NOT. carbon_cycle_cpl) THEN
       CALL abort_physic('conf_phys', 'carbon_cycle_cpl has to be TRUE if carbon_cycle_tr is on',1)
    ENDIF
    IF (carbon_cycle_rad .AND. .NOT. carbon_cycle_cpl) THEN
       CALL abort_physic('conf_phys', 'carbon_cycle_cpl has to be TRUE if carbon_cycle_rad is on',1)
    ENDIF


    ! Test on chemistry cycle 
    IF ((type_trac .ne. "inca" .AND. type_trac .ne. "inco") .AND. ( dms_cycle_cpl .OR. n2o_cycle_cpl .OR. ndp_cycle_cpl .OR. nh3_cycle_cpl )  ) THEN 
       CALL abort_physic('conf_phys', 'transm_dms_oa, transm_n2o_oa, transm_ndp_ao or transm_nh3_oa can be TRUE only with INCA coupling model',1)
    ENDIF
    
    ! ORCHIDEE must be activated for ifl_pbltree=1
    IF (.NOT. ok_veget .AND. ifl_pbltree==1) THEN
       WRITE(lunout,*)'Warning: ORCHIDEE must be activated for ifl_pbltree=1'
       WRITE(lunout,*)'ifl_pbltree is now changed to zero'
       ifl_pbltree=0
    ENDIF

    !$OMP MASTER

    WRITE(lunout,*) ' ##############################################'
    WRITE(lunout,*) ' Configuration des parametres de la physique: '
    WRITE(lunout,*) ' Type ocean = ', type_ocean
    WRITE(lunout,*) ' Version ocean = ', version_ocean
    WRITE(lunout,*) ' Config veget = ', ok_veget,type_veget
    WRITE(lunout,*) ' Snow model landice : landice_opt = ', landice_opt
    WRITE(lunout,*) ' Config xml pour XIOS : ok_all_xml = ', ok_all_xml
    WRITE(lunout,*) ' Sortie journaliere = ', ok_journe
    WRITE(lunout,*) ' Sortie haute frequence = ', ok_hf
    WRITE(lunout,*) ' Sortie mensuelle = ', ok_mensuel
    WRITE(lunout,*) ' Sortie instantanee = ', ok_instan
    WRITE(lunout,*) ' Frequence appel simulateur ISCCP, freq_ISCCP =', freq_ISCCP
    WRITE(lunout,*) ' Frequence appel simulateur ISCCP, ecrit_ISCCP =', ecrit_ISCCP
    WRITE(lunout,*) ' Frequence appel simulateur COSP, freq_COSP =', freq_COSP
    WRITE(lunout,*) ' Frequence appel simulateur AIRS, freq_AIRS =', freq_AIRS
    WRITE(lunout,*) ' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy
    WRITE(lunout,*) ' Excentricite = ',R_ecc
    WRITE(lunout,*) ' Equinoxe = ',R_peri
    WRITE(lunout,*) ' Inclinaison =',R_incl
    WRITE(lunout,*) ' Constante solaire =',solaire
    WRITE(lunout,*) ' ok_suntime_rrtm =',ok_suntime_rrtm
    WRITE(lunout,*) ' co2_ppm =',co2_ppm
    WRITE(lunout,*) ' co2_ppm0 =',co2_ppm0
    WRITE(lunout,*) ' RCO2_act = ',RCO2_act
    WRITE(lunout,*) ' CH4_ppb =',CH4_ppb,' RCH4_act = ',RCH4_act
    WRITE(lunout,*) ' N2O_ppb =',N2O_ppb,' RN2O_act=  ',RN2O_act
    WRITE(lunout,*) ' CFC11_ppt=',CFC11_ppt,' RCFC11_act=  ',RCFC11_act
    WRITE(lunout,*) ' CFC12_ppt=',CFC12_ppt,' RCFC12_act=  ',RCFC12_act
    WRITE(lunout,*) ' RCO2_per = ',RCO2_per,' RCH4_per = ', RCH4_per
    WRITE(lunout,*) ' RN2O_per = ',RN2O_per,' RCFC11_per = ', RCFC11_per
    WRITE(lunout,*) ' RCFC12_per = ',RCFC12_per
    WRITE(lunout,*) ' cvl_comp_threshold=', cvl_comp_threshold
    WRITE(lunout,*) ' cvl_sig2feed=', cvl_sig2feed
    WRITE(lunout,*) ' cvl_corr=', cvl_corr
    WRITE(lunout,*) ' ok_lic_melt=', ok_lic_melt
    WRITE(lunout,*) ' ok_lic_cond=', ok_lic_cond
    WRITE(lunout,*) ' iflag_cycle_diurne=',iflag_cycle_diurne
    WRITE(lunout,*) ' soil_model=',soil_model
    WRITE(lunout,*) ' liqice_in_radocond=',liqice_in_radocond
    WRITE(lunout,*) ' ok_orodr=',ok_orodr
    WRITE(lunout,*) ' ok_orolf=',ok_orolf
    WRITE(lunout,*) ' nm_oro_t=',nm_oro_t
    WRITE(lunout,*) ' zstd_orodr_t=',zstd_orodr_t
    WRITE(lunout,*) ' zpmm_orodr_t=',zpmm_orodr_t
    WRITE(lunout,*) ' zpmm_orolf_t=',zpmm_orolf_t
    WRITE(lunout,*) ' ok_limitvrai=',ok_limitvrai
    WRITE(lunout,*) ' nbapp_rad=',nbapp_rad
    WRITE(lunout,*) ' iflag_con=',iflag_con
    WRITE(lunout,*) ' nbapp_cv=',nbapp_cv
    WRITE(lunout,*) ' nbapp_wk=',nbapp_wk
    WRITE(lunout,*) ' iflag_ener_conserv=',iflag_ener_conserv
    WRITE(lunout,*) ' ok_conserv_q=',ok_conserv_q
    WRITE(lunout,*) ' ok_mass_dtcon=',ok_mass_dtcon
    WRITE(lunout,*) ' ok_mass_dqcon=',ok_mass_dqcon
    WRITE(lunout,*) ' ok_mass_duvcon=',ok_mass_duvcon
    WRITE(lunout,*) ' epmax = ', epmax
    WRITE(lunout,*) ' coef_epmax_cape = ', coef_epmax_cape
    WRITE(lunout,*) ' ok_adj_ema = ', ok_adj_ema
    WRITE(lunout,*) ' iflag_clw = ', iflag_clw
    WRITE(lunout,*) ' iflag_cld_th = ', iflag_cld_th
    WRITE(lunout,*) ' iflag_cld_cv = ', iflag_cld_cv
    WRITE(lunout,*) ' tau_cld_cv = ', tau_cld_cv
    WRITE(lunout,*) ' coefw_cld_cv = ', coefw_cld_cv
    WRITE(lunout,*) ' iflag_radia = ', iflag_radia
    WRITE(lunout,*) ' iflag_rrtm = ', iflag_rrtm
    WRITE(lunout,*) ' NSW = ', NSW
    WRITE(lunout,*) ' iflag_albedo = ', iflag_albedo !albedo SB
    WRITE(lunout,*) ' ok_chlorophyll =',ok_chlorophyll ! albedo SB
    WRITE(lunout,*) ' iflag_ratqs = ', iflag_ratqs
    WRITE(lunout,*) ' seuil_inversion = ', seuil_inversion
    WRITE(lunout,*) ' fact_cldcon = ', fact_cldcon
    WRITE(lunout,*) ' facttemps = ', facttemps
    WRITE(lunout,*) ' ok_newmicro = ',ok_newmicro 
    WRITE(lunout,*) ' ratqsbas = ',ratqsbas 
    WRITE(lunout,*) ' ratqshaut = ',ratqshaut 
    WRITE(lunout,*) ' tau_ratqs = ',tau_ratqs 
    WRITE(lunout,*) ' top_height = ',top_height 
    WRITE(lunout,*) ' rad_froid = ',rad_froid
    WRITE(lunout,*) ' rad_chau1 = ',rad_chau1
    WRITE(lunout,*) ' rad_chau2 = ',rad_chau2
    WRITE(lunout,*) ' iflag_ice_thermo = ',iflag_ice_thermo
    WRITE(lunout,*) ' ok_ice_supersat = ',ok_ice_supersat
    WRITE(lunout,*) ' ok_plane_h2o = ',ok_plane_h2o
    WRITE(lunout,*) ' ok_plane_contrail = ',ok_plane_contrail
    WRITE(lunout,*) ' overlap = ',overlap 
    WRITE(lunout,*) ' cdmmax = ',cdmmax 
    WRITE(lunout,*) ' cdhmax = ',cdhmax 
    WRITE(lunout,*) ' ksta = ',ksta 
    WRITE(lunout,*) ' ksta_ter = ',ksta_ter 
    WRITE(lunout,*) ' f_ri_cd_min = ',f_ri_cd_min 
    WRITE(lunout,*) ' ok_kzmin = ',ok_kzmin 
    WRITE(lunout,*) ' fmagic = ',fmagic
    WRITE(lunout,*) ' pmagic = ',pmagic
    WRITE(lunout,*) ' ok_ade = ',ok_ade
    WRITE(lunout,*) ' ok_volcan = ',ok_volcan
    WRITE(lunout,*) ' flag_volc_surfstrat = ',flag_volc_surfstrat
    WRITE(lunout,*) ' ok_aie = ',ok_aie
    WRITE(lunout,*) ' ok_alw = ',ok_alw
    WRITE(lunout,*) ' aerosol_couple = ', aerosol_couple
    WRITE(lunout,*) ' chemistry_couple = ', chemistry_couple
    WRITE(lunout,*) ' flag_aerosol = ', flag_aerosol
    WRITE(lunout,*) ' flag_aerosol_strat= ', flag_aerosol_strat
    WRITE(lunout,*) ' flag_aer_feedback= ', flag_aer_feedback
    WRITE(lunout,*) ' aer_type = ',aer_type
    WRITE(lunout,*) ' bl95_b0 = ',bl95_b0
    WRITE(lunout,*) ' bl95_b1 = ',bl95_b1
    WRITE(lunout,*) ' lev_histhf = ',lev_histhf 
    WRITE(lunout,*) ' lev_histday = ',lev_histday 
    WRITE(lunout,*) ' lev_histmth = ',lev_histmth 
    WRITE(lunout,*) ' lev_histins = ',lev_histins
    WRITE(lunout,*) ' lev_histLES = ',lev_histLES
    WRITE(lunout,*) ' iflag_pbl = ', iflag_pbl
    WRITE(lunout,*) ' iflag_physiq = ', iflag_physiq
!FC
    WRITE(lunout,*) ' ifl_pbltree = ', ifl_pbltree
    WRITE(lunout,*) ' Cd_frein = ', Cd_frein
!AM
    WRITE(lunout,*) ' iflag_hetero_surf = ', iflag_hetero_surf
    WRITE(lunout,*) ' iflag_pbl_split = ', iflag_pbl_split
    WRITE(lunout,*) ' iflag_order2_sollw = ', iflag_order2_sollw
    WRITE(lunout,*) ' iflag_thermals = ', iflag_thermals
    WRITE(lunout,*) ' iflag_clos = ', iflag_clos
    WRITE(lunout,*) ' coef_clos_ls = ', coef_clos_ls
    WRITE(lunout,*) ' type_run = ',type_run 
    WRITE(lunout,*) ' ok_cosp = ',ok_cosp
    WRITE(lunout,*) ' ok_airs = ',ok_airs

    WRITE(lunout,*) ' ok_mensuelCOSP = ',ok_mensuelCOSP
    WRITE(lunout,*) ' ok_journeCOSP = ',ok_journeCOSP
    WRITE(lunout,*) ' ok_hfCOSP =',ok_hfCOSP
    WRITE(lunout,*) ' solarlong0 = ', solarlong0
    WRITE(lunout,*) ' qsol0 = ', qsol0
    WRITE(lunout,*) ' evap0 = ', evap0
    WRITE(lunout,*) ' albsno0 = ', albsno0
    WRITE(lunout,*) ' iflag_sic = ', iflag_sic
    WRITE(lunout,*) ' iflag_inertie = ', iflag_inertie
    WRITE(lunout,*) ' inertie_sol = ', inertie_sol
    WRITE(lunout,*) ' inertie_sic = ', inertie_sic
    WRITE(lunout,*) ' inertie_lic = ', inertie_lic
    WRITE(lunout,*) ' inertie_sno = ', inertie_sno
    WRITE(lunout,*) ' ok_advtke = ', ok_advtke
    WRITE(lunout,*) ' ok_bs = ', ok_bs
    WRITE(lunout,*) ' ok_rad_bs = ', ok_rad_bs
    WRITE(lunout,*) ' f_cdrag_ter = ',f_cdrag_ter
    WRITE(lunout,*) ' f_cdrag_oce = ',f_cdrag_oce
    WRITE(lunout,*) ' f_rugoro = ',f_rugoro
    WRITE(lunout,*) ' z0min = ',z0min
    WRITE(lunout,*) ' supcrit1 = ', supcrit1
    WRITE(lunout,*) ' supcrit2 = ', supcrit2
    WRITE(lunout,*) ' iflag_mix = ', iflag_mix
    WRITE(lunout,*) ' iflag_mix_adiab = ', iflag_mix_adiab
    WRITE(lunout,*) ' scut = ', scut
    WRITE(lunout,*) ' qqa1 = ', qqa1
    WRITE(lunout,*) ' qqa2 = ', qqa2
    WRITE(lunout,*) ' gammas = ', gammas
    WRITE(lunout,*) ' Fmax = ', Fmax
    WRITE(lunout,*) ' tmax_fonte_cv = ', tmax_fonte_cv
    WRITE(lunout,*) ' alphas = ', alphas
    WRITE(lunout,*) ' iflag_wake = ', iflag_wake
    WRITE(lunout,*) ' alp_offset = ', alp_offset
    ! nrlmd le 10/04/2012
    WRITE(lunout,*) ' iflag_trig_bl = ', iflag_trig_bl
    WRITE(lunout,*) ' iflag_strig = ', iflag_strig
    WRITE(lunout,*) ' s_trig = ', s_trig
    WRITE(lunout,*) ' h_trig = ', h_trig
    WRITE(lunout,*) ' tau_trig_shallow = ', tau_trig_shallow
    WRITE(lunout,*) ' tau_trig_deep = ', tau_trig_deep
    WRITE(lunout,*) ' iflag_clos_bl = ', iflag_clos_bl
    ! fin nrlmd le 10/04/2012

    WRITE(lunout,*) ' lonmin lonmax latmin latmax bilKP_ins =',&
         lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
    WRITE(lunout,*) ' ecrit_ hf, ins, day, mth, reg, tra, ISCCP, LES',&
         ecrit_hf, ecrit_ins, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP, ecrit_LES

    WRITE(lunout,*) ' ok_strato = ', ok_strato
    WRITE(lunout,*) ' ok_hines = ',  ok_hines
    WRITE(lunout,*) ' ok_gwd_rando = ',  ok_gwd_rando
    WRITE(lunout,*) ' ok_qch4 = ',  ok_qch4
    WRITE(lunout,*) ' gwd_rando_ruwmax = ', gwd_rando_ruwmax
    WRITE(lunout,*) ' gwd_rando_sat = ', gwd_rando_sat
    WRITE(lunout,*) ' gwd_front_ruwmax = ', gwd_front_ruwmax
    WRITE(lunout,*) ' gwd_front_sat = ', gwd_front_sat
    WRITE(lunout,*) ' SSO gkdrag =',gkdrag
    WRITE(lunout,*) ' SSO grahilo=',grahilo
    WRITE(lunout,*) ' SSO grcrit=',grcrit
    WRITE(lunout,*) ' SSO gfrcrit=',gfrcrit
    WRITE(lunout,*) ' SSO gkwake=',gkwake
    WRITE(lunout,*) ' SSO gklift=',gklift
    WRITE(lunout,*) ' adjust_tropopause = ', adjust_tropopause
    WRITE(lunout,*) ' ok_daily_climoz = ',ok_daily_climoz
    WRITE(lunout,*) ' ok_new_lscp = ', ok_new_lscp
    WRITE(lunout,*) ' ok_icefra_lscp = ', ok_icefra_lscp
    WRITE(lunout,*) ' read_climoz = ', read_climoz
    WRITE(lunout,*) ' carbon_cycle_tr = ', carbon_cycle_tr
    WRITE(lunout,*) ' carbon_cycle_cpl = ', carbon_cycle_cpl
    WRITE(lunout,*) ' carbon_cycle_rad = ', carbon_cycle_rad
    WRITE(lunout,*) ' level_coupling_esm = ', level_coupling_esm
    WRITE(lunout,*) ' read_fco2_ocean_cor = ', read_fco2_ocean_cor
    WRITE(lunout,*) ' var_fco2_ocean_cor = ', var_fco2_ocean_cor
    WRITE(lunout,*) ' read_fco2_land_cor = ', read_fco2_land_cor
    WRITE(lunout,*) ' var_fco2_land_cor = ', var_fco2_land_cor
    WRITE(lunout,*) ' dms_cycle_cpl = ', dms_cycle_cpl
    !GG
    WRITE(lunout,*) ' iflag_seaice = ', iflag_seaice
    WRITE(lunout,*) ' iflag_seaice_alb = ', iflag_seaice_alb
    WRITE(lunout,*) ' iflag_leads = ', iflag_leads
    WRITE(lunout,*) ' sice_cond = ', sice_cond 
    WRITE(lunout,*) ' sisno_cond = ', sisno_cond 
    WRITE(lunout,*) ' sisno_den = ', sisno_den
    WRITE(lunout,*) ' sisno_min = ', sisno_min
    WRITE(lunout,*) ' sithick_min = ', sithick_min
    WRITE(lunout,*) ' sisno_wfact = ', sisno_wfact
    WRITE(lunout,*) ' amax_n = ', amax_n
    WRITE(lunout,*) ' amax_s = ', amax_s
    WRITE(lunout,*) ' rn_alb_sdry = ', rn_alb_sdry
    WRITE(lunout,*) ' rn_alb_smlt = ', rn_alb_smlt
    WRITE(lunout,*) ' rn_alb_idry = ', rn_alb_idry
    WRITE(lunout,*) ' rn_alb_imlt = ', rn_alb_imlt
    WRITE(lunout,*) ' si_pen_frac = ', si_pen_frac
    WRITE(lunout,*) ' si_pen_ext = ', si_pen_ext
    WRITE(lunout,*) ' fseaN = ', fseaN
    WRITE(lunout,*) ' fseaS = ', fseaS
!GG
    WRITE(lunout,*) ' n2o_cycle_cpl = ', n2o_cycle_cpl
    WRITE(lunout,*) ' ndp_cycle_cpl = ', ndp_cycle_cpl
    WRITE(lunout,*) ' nh3_cycle_cpl = ', nh3_cycle_cpl
    WRITE(lunout,*) ' iflag_tsurf_inlandsis = ', iflag_tsurf_inlandsis
    WRITE(lunout,*) ' iflag_temp_inlandsis = ', iflag_temp_inlandsis
    WRITE(lunout,*) ' iflag_albcalc = ', iflag_albcalc
    WRITE(lunout,*) ' SnoMod = ', SnoMod
    WRITE(lunout,*) ' BloMod = ', BloMod
    WRITE(lunout,*) ' ok_outfor = ', ok_outfor
    WRITE(lunout,*) ' is_ok_slush = ', is_ok_slush
    WRITE(lunout,*) ' opt_runoff_ac = ', opt_runoff_ac
    WRITE(lunout,*) ' is_ok_z0h_rn = ', is_ok_z0h_rn
    WRITE(lunout,*) ' is_ok_density_kotlyakov = ', is_ok_density_kotlyakov
    WRITE(lunout,*) ' prescribed_z0m_snow = ', prescribed_z0m_snow
    WRITE(lunout,*) ' iflag_z0m_snow = ', iflag_z0m_snow
    WRITE(lunout,*) ' ok_zsn_ii = ', ok_zsn_ii
    WRITE(lunout,*) ' discret_xf = ', discret_xf
    WRITE(lunout,*) ' correc_alb= ', correc_alb
    WRITE(lunout,*) ' buf_sph_pol = ', buf_sph_pol
    WRITE(lunout,*) ' buf_siz_pol= ', buf_siz_pol
    !rajout Olivier Torres
    write(lunout,*) 'choix_bulk = ', choix_bulk
    write(lunout,*) 'nit_bulk = ', nit_bulk
    write(lunout,*) 'kz0 = ', kz0

    !$OMP END MASTER
    call config_ocean_skin

  END SUBROUTINE conf_phys

END MODULE conf_phys_m
!
!#################################################################
!

SUBROUTINE conf_interface(tau_calv)

  USE IOIPSL
  USE print_control_mod, ONLY: lunout
  IMPLICIT NONE
  ! Configuration de l'interace atm/surf
  !
  ! tau_calv:    temps de relaxation pour la fonte des glaciers
  !
  REAL          :: tau_calv
  REAL, SAVE    :: tau_calv_omp
  !
  !Config Key  = tau_calv
  !Config Desc = temps de relaxation pour fonte des glaciers en jours
  !Config Def  = 1 an 
  !Config Help = 
  !
  tau_calv_omp = 360.*10.
  !$OMP MASTER
  CALL getin('tau_calv',tau_calv_omp)
  !$OMP END MASTER
  !$OMP BARRIER
  !
  tau_calv=tau_calv_omp
  !
  !$OMP MASTER
  WRITE(lunout,*)' ##############################################'
  WRITE(lunout,*)' Configuration de l''interface atm/surfaces  : '
  WRITE(lunout,*)' tau_calv = ',tau_calv
  !$OMP END MASTER
  !
  RETURN

END SUBROUTINE conf_interface
