source: LMDZ5/branches/Cold_pool_death/libf/phylmd/conf_phys_m.F90 @ 5423

Last change on this file since 5423 was 2870, checked in by Laurent Fairhead, 8 years ago

Merged trunk changes r2842:2865 into testing branch

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