source: dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/conf_phys_m.F90 @ 3895

Last change on this file since 3895 was 3895, checked in by ymipsl, 9 years ago

Make LMDZ5 be compliant to generate initiale state and compute in openMP mode suing unstructured grid.

YM

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