source: LMDZ5/trunk/libf/phylmd/conf_phys_m.F90 @ 2159

Last change on this file since 2159 was 2159, checked in by jyg, 10 years ago

1/ Splitting of the boundary layer : the climbing down and up of Pbl_surface is
split between the off-wake and wake regions ; the thermal scheme is applied
only to the off-wake region.
2/ Elimination of wake_scal and calwake_scal.

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