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

Last change on this file since 2242 was 2240, checked in by fhourdin, 9 years ago

Revisite de la formule des flux de surface
(en priorité sur l'océan) en tenant compte des bourrasques de
vent et de la différence entre les hauteurs de rugosités pour
la quantité de mouvement, l'enthalpie et éventuellement l'humidité.

Etape 1 :
Introduction d'un calcul de gustiness dans la physique
gustiness(:)=f_gust_bl * ale_bl + f_gust_wk * ame_wk
Cette variable est passée ensuite jusqu'au fin fond de la couche limite.
L'étape 1 est prête à commettre, ne nécessite pas de nouvelles
variables dans les startphy et assure la convergence numérique.

Introduction of gustiness in the surface flux computation.
Gustiness is computed from as
gustiness(:)=f_gust_bl * ale_bl + f_gust_wk * ame_wk
and pass through pbl_surface down to the routines that compute
surface fluxes.

  • 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: 66.4 KB
Line 
1!
2! $Id: conf_phys.F90 1668 2012-10-12 10:47:37Z idelkadi $
3!
4!
5!
6module conf_phys_m
7
8  implicit none
9
10contains
11
12  subroutine conf_phys(ok_journe, ok_mensuel, ok_instan, ok_hf, &
13       ok_LES,&
14       callstats,&
15       solarlong0,seuil_inversion, &
16       fact_cldcon, facttemps,ok_newmicro,iflag_radia,&
17       iflag_cld_th, &
18       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    USE mod_grid_phy_lmdz, only: klon_glo
31
32
33
34    include "conema3.h"
35    include "fisrtilp.h"
36    include "nuage.h"
37    include "YOMCST.h"
38    include "YOMCST2.h"
39
40    include "thermcell.h"
41    include "iniprint.h"
42
43    !IM : on inclut/initialise les taux de CH4, N2O, CFC11 et CFC12
44    include "clesphys.h"
45    include "compbl.h"
46    include "comsoil.h"
47    include "YOEGWD.h"
48    !
49    ! Configuration de la "physique" de LMDZ a l'aide de la fonction
50    ! GETIN de IOIPSL
51    !
52    ! LF 05/2001
53    !
54
55    !
56    ! type_ocean:      type d'ocean (force, slab, couple)
57    ! version_ocean:   version d'ocean (opa8/nemo pour type_ocean=couple ou
58    !                                   sicOBS,sicINT,sicNO pour type_ocean=slab)
59    ! ok_veget:   type de modele de vegetation
60    ! ok_journe:  sorties journalieres
61    ! ok_hf:  sorties haute frequence
62    ! ok_mensuel: sorties mensuelles
63    ! ok_instan:  sorties instantanees
64    ! ok_ade, ok_aie: apply or not aerosol direct and indirect effects
65    ! ok_cdnc, ok cloud droplet number concentration
66    ! flag_aerosol_strat : flag pour les aerosols stratos
67    ! bl95_b*: parameters in the formula to link CDNC to aerosol mass conc
68    !
69
70
71    ! Sortie:
72    logical              :: ok_newmicro
73    integer              :: iflag_radia
74    logical              :: ok_journe, ok_mensuel, ok_instan, ok_hf
75    logical              :: ok_LES
76    LOGICAL              :: callstats
77    LOGICAL              :: ok_ade, ok_aie, ok_cdnc, aerosol_couple
78    INTEGER              :: flag_aerosol
79    LOGICAL              :: flag_aerosol_strat
80    LOGICAL              :: new_aod
81    REAL                 :: bl95_b0, bl95_b1
82    real                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut,tau_ratqs
83    integer              :: iflag_cld_th
84    integer              :: iflag_ratqs
85
86    character (len = 6),SAVE  :: type_ocean_omp, version_ocean_omp, ocean_omp
87    character (len = 10),SAVE  :: type_veget_omp
88    CHARACTER(len = 8),SAVE   :: aer_type_omp
89    logical,SAVE              :: ok_snow_omp
90    logical,SAVE              :: ok_newmicro_omp
91    logical,SAVE              :: ok_all_xml_omp
92    logical,SAVE        :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp       
93    logical,SAVE        :: ok_LES_omp   
94    LOGICAL,SAVE        :: callstats_omp
95    LOGICAL,SAVE        :: ok_ade_omp, ok_aie_omp, ok_cdnc_omp, aerosol_couple_omp
96    INTEGER, SAVE       :: flag_aerosol_omp
97    LOGICAL, SAVE       :: flag_aerosol_strat_omp
98    LOGICAL, SAVE       :: new_aod_omp
99    REAL,SAVE           :: bl95_b0_omp, bl95_b1_omp
100    REAL,SAVE           :: freq_ISCCP_omp, ecrit_ISCCP_omp
101    REAL,SAVE           :: freq_COSP_omp
102    real,SAVE           :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp
103    real,SAVE           :: tau_cld_cv_omp, coefw_cld_cv_omp
104    integer,SAVE        :: iflag_cld_cv_omp
105
106
107    real,SAVE           :: ratqshaut_omp
108    real,SAVE           :: tau_ratqs_omp
109    REAL, SAVE          :: t_coupl_omp
110    integer,SAVE        :: iflag_radia_omp
111    integer,SAVE        :: iflag_rrtm_omp
112    integer,SAVE        :: iflag_albedo_omp !albedo SB
113    logical,save        :: ok_chlorophyll_omp ! albedo SB 
114    integer,SAVE        :: NSW_omp
115    integer,SAVE        :: iflag_cld_th_omp, ip_ebil_phy_omp
116    integer,SAVE        :: iflag_ratqs_omp
117
118    Real,SAVE           :: f_cdrag_ter_omp,f_cdrag_oce_omp
119    Real,SAVE           :: f_rugoro_omp   
120    REAL,SAVE           :: min_wind_speed_omp,f_gust_wk_omp,f_gust_bl_omp,f_qsat_oce_omp
121    INTEGER,SAVE        :: iflag_gusts_omp
122
123    ! Local
124    real                 :: zzz
125
126    real :: seuil_inversion
127    real,save :: seuil_inversion_omp
128
129    integer,SAVE :: iflag_thermals_ed_omp,iflag_thermals_optflux_omp,iflag_thermals_closure_omp
130    real, SAVE :: fact_thermals_ed_dz_omp
131    integer,SAVE :: iflag_thermals_omp,nsplit_thermals_omp
132    real,save :: tau_thermals_omp,alp_bl_k_omp
133    ! nrlmd le 10/04/2012
134    integer,SAVE :: iflag_trig_bl_omp,iflag_clos_bl_omp
135    integer,SAVE :: tau_trig_shallow_omp,tau_trig_deep_omp
136    real,SAVE    :: s_trig_omp
137    ! fin nrlmd le 10/04/2012
138    real :: alp_offset
139    REAL, SAVE :: alp_offset_omp
140    integer,SAVE :: iflag_coupl_omp,iflag_clos_omp,iflag_wake_omp
141    integer,SAVE :: iflag_cvl_sigd_omp
142    REAL, SAVE :: coef_clos_ls_omp
143    REAL, SAVE :: supcrit1_omp, supcrit2_omp
144    INTEGER, SAVE :: iflag_mix_omp
145    real, save :: scut_omp, qqa1_omp, qqa2_omp, gammas_omp, Fmax_omp, alphas_omp
146
147    REAL,SAVE :: R_ecc_omp,R_peri_omp,R_incl_omp,solaire_omp
148    REAL,SAVE :: co2_ppm_omp, RCO2_omp, co2_ppm_per_omp, RCO2_per_omp
149    REAL,SAVE :: CH4_ppb_omp, RCH4_omp, CH4_ppb_per_omp, RCH4_per_omp
150    REAL,SAVE :: N2O_ppb_omp, RN2O_omp, N2O_ppb_per_omp, RN2O_per_omp
151    REAL,SAVE :: CFC11_ppt_omp,RCFC11_omp,CFC11_ppt_per_omp,RCFC11_per_omp
152    REAL,SAVE :: CFC12_ppt_omp,RCFC12_omp,CFC12_ppt_per_omp,RCFC12_per_omp
153    LOGICAL,SAVE :: ok_4xCO2atm_omp
154    REAL,SAVE :: epmax_omp
155    LOGICAL,SAVE :: ok_adj_ema_omp
156    INTEGER,SAVE :: iflag_clw_omp
157    REAL,SAVE :: cld_lc_lsc_omp,cld_lc_con_omp,cld_tau_lsc_omp,cld_tau_con_omp
158    REAL,SAVE :: ffallv_lsc_omp, ffallv_con_omp,coef_eva_omp
159    LOGICAL,SAVE :: reevap_ice_omp
160    INTEGER,SAVE :: iflag_pdf_omp
161    INTEGER,SAVE :: iflag_ice_thermo_omp
162    INTEGER,SAVE :: iflag_t_glace_omp
163    REAL,SAVE :: rad_froid_omp, rad_chau1_omp, rad_chau2_omp
164    REAL,SAVE :: t_glace_min_omp, t_glace_max_omp
165    REAL,SAVE :: exposant_glace_omp
166    REAL,SAVE :: rei_min_omp, rei_max_omp
167    REAL,SAVE :: inertie_sol_omp,inertie_sno_omp,inertie_ice_omp
168    REAL,SAVE :: qsol0_omp
169    REAL,SAVE :: evap0_omp
170    REAL,SAVE :: albsno0_omp
171    REAL      :: solarlong0
172    REAL,SAVE :: solarlong0_omp
173    INTEGER,SAVE :: top_height_omp,overlap_omp
174    REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp,f_ri_cd_min_omp
175    LOGICAL,SAVE :: ok_kzmin_omp
176    REAL, SAVE ::  fmagic_omp, pmagic_omp
177    INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp
178    INTEGER,SAVE :: iflag_pbl_split_omp
179    Integer, save :: lev_histins_omp, lev_histLES_omp
180    INTEGER, SAVE :: lev_histdayNMC_omp
181    INTEGER, SAVE :: levout_histNMC_omp(3)
182    LOGICAL, SAVE :: ok_histNMC_omp(3)
183    REAL, SAVE :: freq_outNMC_omp(3), freq_calNMC_omp(3)
184    CHARACTER*4, SAVE :: type_run_omp
185    LOGICAL,SAVE :: ok_cosp_omp
186    LOGICAL,SAVE :: ok_mensuelCOSP_omp,ok_journeCOSP_omp,ok_hfCOSP_omp
187    REAL,SAVE :: lonmin_ins_omp, lonmax_ins_omp, latmin_ins_omp, latmax_ins_omp
188    REAL,SAVE :: ecrit_hf_omp, ecrit_day_omp, ecrit_mth_omp, ecrit_reg_omp
189    REAL,SAVE :: ecrit_ins_omp
190    REAL,SAVE :: ecrit_LES_omp
191    REAL,SAVE :: ecrit_tra_omp
192    REAL,SAVE :: cvl_corr_omp
193    LOGICAL,SAVE :: ok_lic_melt_omp
194    !
195    LOGICAL,SAVE :: cycle_diurne_omp,soil_model_omp,new_oliq_omp
196    LOGICAL,SAVE :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp
197    INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp
198    INTEGER, SAVE :: iflag_ener_conserv_omp
199    LOGICAL, SAVE :: ok_conserv_q_omp
200    INTEGER, SAVE :: iflag_fisrtilp_qsat_omp
201    LOGICAL,SAVE :: ok_strato_omp
202    LOGICAL,SAVE :: ok_hines_omp, ok_gwd_rando_omp
203    real, SAVE:: GWD_RANDO_RUWMAX_omp, gwd_rando_sat_omp
204    LOGICAL,SAVE :: ok_qch4_omp
205    LOGICAL,SAVE      :: carbon_cycle_tr_omp
206    LOGICAL,SAVE      :: carbon_cycle_cpl_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_gcm('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_gcm('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  = pasphys
1514    !Config Help =
1515    !
1516    freq_calNMC_omp(1) = pasphys
1517    freq_calNMC_omp(2) = pasphys
1518    freq_calNMC_omp(3) = pasphys
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    print*,'CONFPHYS OOK avant gust'
1672    iflag_gusts_omp=0
1673    call getin('iflag_gusts',iflag_gusts_omp)
1674    !
1675    min_wind_speed_omp = 1.
1676    call getin('min_wind_speed',min_wind_speed_omp)
1677
1678    !
1679    ! RUGORO
1680    !Config Key  = f_rugoro
1681    !Config Desc =
1682    !Config Def  = 0.
1683    !Config Help =
1684    !
1685    f_rugoro_omp = 0.
1686    call getin('f_rugoro',f_rugoro_omp)
1687
1688    ! PARAMETERS FOR CONVECTIVE INHIBITION BY TROPOS. DRYNESS
1689    !
1690    !Config Key  = supcrit1
1691    !Config Desc =
1692    !Config Def  = .540
1693    !Config Help =
1694    !
1695    supcrit1_omp = .540
1696    call getin('supcrit1',supcrit1_omp)
1697
1698    !
1699    !Config Key  = supcrit2
1700    !Config Desc =
1701    !Config Def  = .600
1702    !Config Help =
1703    !
1704    supcrit2_omp = .600
1705    call getin('supcrit2',supcrit2_omp)
1706
1707    !
1708    ! PARAMETERS FOR THE MIXING DISTRIBUTION
1709    ! iflag_mix: 0=OLD,
1710    !            1=NEW (JYG),           
1711    !            2=NEW + conv. depth inhib. by tropos. dryness
1712    ! '2' is NOT operationnal and should not be used.
1713    !
1714    !Config Key  = iflag_mix
1715    !Config Desc =
1716    !Config Def  = 1
1717    !Config Help =
1718    !
1719    iflag_mix_omp = 1
1720    call getin('iflag_mix',iflag_mix_omp)
1721
1722    !
1723    !Config Key  = scut
1724    !Config Desc =
1725    !Config Def  = 0.95
1726    !Config Help =
1727    !
1728    scut_omp = 0.95
1729    call getin('scut',scut_omp)
1730
1731    !
1732    !Config Key  = qqa1
1733    !Config Desc =
1734    !Config Def  = 1.0
1735    !Config Help =
1736    !
1737    qqa1_omp = 1.0
1738    call getin('qqa1',qqa1_omp)
1739
1740    !
1741    !Config Key  = qqa2
1742    !Config Desc =
1743    !Config Def  = 0.0
1744    !Config Help =
1745    !
1746    qqa2_omp = 0.0
1747    call getin('qqa2',qqa2_omp)
1748
1749    !
1750    !Config Key  = gammas
1751    !Config Desc =
1752    !Config Def  = 0.05
1753    !Config Help =
1754    !
1755    gammas_omp = 0.05
1756    call getin('gammas',gammas_omp)
1757
1758    !
1759    !Config Key  = Fmax
1760    !Config Desc =
1761    !Config Def  = 0.65
1762    !Config Help =
1763    !
1764    Fmax_omp = 0.65
1765    call getin('Fmax',Fmax_omp)
1766
1767    !
1768    !Config Key  = alphas 
1769    !Config Desc =
1770    !Config Def  = -5.
1771    !Config Help =
1772    !
1773    alphas_omp = -5.
1774    call getin('alphas',alphas_omp)
1775
1776    !Config key = ok_strato
1777    !Config  Desc = activation de la version strato
1778    !Config  Def  = .FALSE.
1779    !Config  Help = active la version stratosph\'erique de LMDZ de F. Lott
1780
1781    ok_strato_omp=.FALSE.
1782    CALL getin('ok_strato',ok_strato_omp)
1783
1784    !Config  key = ok_hines
1785    !Config  Desc = activation de la parametrisation de hines
1786    !Config  Def  = .FALSE.
1787    !Config  Help = Clefs controlant la parametrization de Hines
1788    !               Et la sponge layer (Runs Stratospheriques)
1789
1790    ok_hines_omp=.FALSE.
1791    CALL getin('ok_hines',ok_hines_omp)
1792
1793    ! Random gravity waves:
1794
1795    ok_gwd_rando_omp = .FALSE.
1796    IF ( klon_glo == 1 ) THEN
1797       print*,'La parametrisation des ondes de gravites non orographiques'
1798       print*,'ne fonctionne pas en 1D'
1799    ELSE
1800       CALL getin('ok_gwd_rando', ok_gwd_rando_omp)
1801    ENDIF
1802
1803    GWD_RANDO_RUWMAX_omp = 0.01
1804    CALL getin('gwd_rando_ruwmax', GWD_RANDO_RUWMAX_omp)
1805
1806    gwd_rando_sat_omp = 0.25
1807    CALL getin('gwd_rando_sat', gwd_rando_sat_omp)
1808
1809    !Config  key = ok_qch4
1810    !Config  Desc = activation de la parametrisation du methane
1811    !Config  Def  = .FALSE.
1812    !Config  Help = Clef controlant l'activation de la parametrisation
1813    !               de l'humidite due a oxydation+photolyse du methane strato
1814
1815    ok_qch4_omp=.FALSE.
1816    CALL getin('ok_qch4',ok_qch4_omp)
1817
1818    !Config Key  = OK_LES                                               
1819    !Config Desc = Pour des sorties LES                                 
1820    !Config Def  = .false.                                             
1821    !Config Help = Pour creer le fichier histLES contenant les sorties 
1822    !              LES                                                 
1823    !                                                                   
1824    ok_LES_omp = .false.                                             
1825    call getin('OK_LES', ok_LES_omp)                                 
1826
1827    !Config Key  = callstats                                               
1828    !Config Desc = Pour des sorties callstats                                 
1829    !Config Def  = .false.                                             
1830    !Config Help = Pour creer le fichier stats contenant les sorties 
1831    !              stats                                                 
1832    !                                                                   
1833    callstats_omp = .false.                                             
1834    call getin('callstats', callstats_omp)                                 
1835    !
1836    !Config Key  = ecrit_LES
1837    !Config Desc = Frequence d'ecriture des resultats du LES en nombre de jours;
1838    !              par defaut 1., i.e. 1 jour
1839    !Config Def  = 1./8.
1840    !Config Help = ...
1841    !
1842    !
1843    ecrit_LES_omp = 1./8.
1844    call getin('ecrit_LES', ecrit_LES_omp)
1845    !
1846    read_climoz = 0 ! default value
1847    call getin('read_climoz', read_climoz)
1848
1849    carbon_cycle_tr_omp=.FALSE.
1850    CALL getin('carbon_cycle_tr',carbon_cycle_tr_omp)
1851
1852    carbon_cycle_cpl_omp=.FALSE.
1853    CALL getin('carbon_cycle_cpl',carbon_cycle_cpl_omp)
1854
1855    !$OMP END MASTER
1856    !$OMP BARRIER
1857
1858    R_ecc = R_ecc_omp
1859    R_peri = R_peri_omp
1860    R_incl = R_incl_omp
1861    solaire = solaire_omp
1862    co2_ppm = co2_ppm_omp
1863    RCO2 = RCO2_omp
1864    CH4_ppb = CH4_ppb_omp
1865    RCH4 = RCH4_omp
1866    N2O_ppb = N2O_ppb_omp
1867    RN2O = RN2O_omp
1868    CFC11_ppt = CFC11_ppt_omp
1869    RCFC11 = RCFC11_omp
1870    CFC12_ppt = CFC12_ppt_omp
1871    RCFC12 = RCFC12_omp
1872    RCO2_act = RCO2
1873    RCH4_act = RCH4
1874    RN2O_act = RN2O
1875    RCFC11_act = RCFC11
1876    RCFC12_act = RCFC12
1877    ok_4xCO2atm = ok_4xCO2atm_omp
1878    RCO2_per = RCO2_per_omp
1879    RCH4_per = RCH4_per_omp
1880    RN2O_per = RN2O_per_omp
1881    RCFC11_per = RCFC11_per_omp
1882    RCFC12_per = RCFC12_per_omp
1883
1884    cycle_diurne = cycle_diurne_omp
1885    soil_model = soil_model_omp
1886    new_oliq = new_oliq_omp
1887    ok_orodr = ok_orodr_omp
1888    ok_orolf = ok_orolf_omp
1889    ok_limitvrai = ok_limitvrai_omp
1890    nbapp_rad = nbapp_rad_omp
1891    iflag_con = iflag_con_omp
1892    iflag_ener_conserv = iflag_ener_conserv_omp
1893    ok_conserv_q = ok_conserv_q_omp
1894    iflag_fisrtilp_qsat = iflag_fisrtilp_qsat_omp
1895
1896    epmax = epmax_omp
1897    ok_adj_ema = ok_adj_ema_omp
1898    iflag_clw = iflag_clw_omp
1899    cld_lc_lsc = cld_lc_lsc_omp
1900    cld_lc_con = cld_lc_con_omp
1901    cld_tau_lsc = cld_tau_lsc_omp
1902    cld_tau_con = cld_tau_con_omp
1903    ffallv_lsc = ffallv_lsc_omp
1904    ffallv_con = ffallv_con_omp
1905    coef_eva = coef_eva_omp
1906    reevap_ice = reevap_ice_omp
1907    iflag_pdf = iflag_pdf_omp
1908    solarlong0 = solarlong0_omp
1909    qsol0 = qsol0_omp
1910    evap0 = evap0_omp
1911    albsno0 = albsno0_omp
1912    inertie_sol = inertie_sol_omp
1913    inertie_ice = inertie_ice_omp
1914    inertie_sno = inertie_sno_omp
1915    rad_froid = rad_froid_omp
1916    rad_chau1 = rad_chau1_omp
1917    rad_chau2 = rad_chau2_omp
1918    t_glace_min = t_glace_min_omp
1919    t_glace_max = t_glace_max_omp
1920    exposant_glace = exposant_glace_omp
1921    iflag_t_glace = iflag_t_glace_omp
1922    iflag_ice_thermo = iflag_ice_thermo_omp
1923    rei_min = rei_min_omp
1924    rei_max = rei_max_omp
1925    top_height = top_height_omp
1926    overlap = overlap_omp
1927    cdmmax = cdmmax_omp
1928    cdhmax = cdhmax_omp
1929    ksta = ksta_omp
1930    ksta_ter = ksta_ter_omp
1931    f_ri_cd_min = f_ri_cd_min_omp
1932    ok_kzmin = ok_kzmin_omp
1933    fmagic = fmagic_omp
1934    pmagic = pmagic_omp
1935    iflag_pbl = iflag_pbl_omp
1936    iflag_pbl_split = iflag_pbl_split_omp
1937    lev_histhf = lev_histhf_omp
1938    lev_histday = lev_histday_omp
1939    lev_histmth = lev_histmth_omp
1940    lev_histins = lev_histins_omp
1941    lev_histLES = lev_histLES_omp
1942    lev_histdayNMC = lev_histdayNMC_omp
1943    levout_histNMC = levout_histNMC_omp
1944    ok_histNMC(:) = ok_histNMC_omp(:)
1945    freq_outNMC(:) = freq_outNMC_omp(:)
1946    freq_calNMC(:) = freq_calNMC_omp(:)
1947
1948    type_ocean = type_ocean_omp
1949    version_ocean = version_ocean_omp
1950    t_coupl = t_coupl_omp
1951
1952    ok_veget=.true.
1953    type_veget=type_veget_omp
1954    if (type_veget=='n' .or. type_veget=='bucket' .or. type_veget=='betaclim') &
1955         then
1956       ok_veget=.false.
1957    endif
1958    ! Martin
1959    ok_snow = ok_snow_omp
1960    ! Martin
1961
1962    ok_all_xml = ok_all_xml_omp
1963    ok_newmicro = ok_newmicro_omp
1964    ok_journe = ok_journe_omp
1965    ok_hf = ok_hf_omp
1966    ok_mensuel = ok_mensuel_omp
1967    ok_instan = ok_instan_omp
1968    freq_ISCCP = freq_ISCCP_omp
1969    ecrit_ISCCP = ecrit_ISCCP_omp
1970    freq_COSP = freq_COSP_omp
1971    ok_ade = ok_ade_omp
1972    ok_aie = ok_aie_omp
1973    ok_cdnc = ok_cdnc_omp
1974    aerosol_couple = aerosol_couple_omp
1975    flag_aerosol=flag_aerosol_omp
1976    flag_aerosol_strat=flag_aerosol_strat_omp
1977    new_aod=new_aod_omp
1978    aer_type = aer_type_omp
1979    bl95_b0 = bl95_b0_omp
1980    bl95_b1 = bl95_b1_omp
1981    fact_cldcon = fact_cldcon_omp
1982    facttemps = facttemps_omp
1983    ratqsbas = ratqsbas_omp
1984    ratqshaut = ratqshaut_omp
1985    tau_ratqs = tau_ratqs_omp
1986
1987    iflag_radia = iflag_radia_omp
1988    iflag_rrtm = iflag_rrtm_omp
1989    NSW = NSW_omp
1990    iflag_cld_th = iflag_cld_th_omp
1991    iflag_cld_cv = iflag_cld_cv_omp
1992    tau_cld_cv = tau_cld_cv_omp
1993    coefw_cld_cv = coefw_cld_cv_omp
1994    iflag_ratqs = iflag_ratqs_omp
1995    ip_ebil_phy = ip_ebil_phy_omp
1996    iflag_thermals = iflag_thermals_omp
1997    iflag_thermals_ed = iflag_thermals_ed_omp
1998    fact_thermals_ed_dz = fact_thermals_ed_dz_omp
1999    iflag_thermals_optflux = iflag_thermals_optflux_omp
2000    iflag_thermals_closure = iflag_thermals_closure_omp
2001    nsplit_thermals = nsplit_thermals_omp
2002    tau_thermals = tau_thermals_omp
2003    alp_bl_k = alp_bl_k_omp
2004    ! nrlmd le 10/04/2012
2005    iflag_trig_bl = iflag_trig_bl_omp
2006    s_trig = s_trig_omp
2007    tau_trig_shallow = tau_trig_shallow_omp
2008    tau_trig_deep = tau_trig_deep_omp
2009    iflag_clos_bl = iflag_clos_bl_omp
2010    ! fin nrlmd le 10/04/2012
2011    iflag_coupl = iflag_coupl_omp
2012    iflag_clos = iflag_clos_omp
2013    iflag_wake = iflag_wake_omp
2014    coef_clos_ls = coef_clos_ls_omp
2015    alp_offset = alp_offset_omp
2016    iflag_cvl_sigd = iflag_cvl_sigd_omp
2017    type_run = type_run_omp
2018    ok_cosp = ok_cosp_omp
2019    ok_mensuelCOSP = ok_mensuelCOSP_omp
2020    ok_journeCOSP = ok_journeCOSP_omp
2021    ok_hfCOSP = ok_hfCOSP_omp
2022    seuil_inversion=seuil_inversion_omp
2023    lonmin_ins = lonmin_ins_omp
2024    lonmax_ins = lonmax_ins_omp
2025    latmin_ins = latmin_ins_omp
2026    latmax_ins = latmax_ins_omp
2027    ecrit_hf   = ecrit_hf_omp
2028    ecrit_ins   = ecrit_ins_omp
2029    ecrit_day = ecrit_day_omp
2030    ecrit_mth = ecrit_mth_omp
2031    ecrit_tra = ecrit_tra_omp
2032    ecrit_reg = ecrit_reg_omp
2033    cvl_corr = cvl_corr_omp
2034    ok_lic_melt = ok_lic_melt_omp
2035    f_cdrag_ter=f_cdrag_ter_omp
2036    f_cdrag_oce=f_cdrag_oce_omp
2037
2038    f_gust_wk=f_gust_wk_omp
2039    f_gust_bl=f_gust_bl_omp
2040    f_qsat_oce=f_qsat_oce_omp
2041    min_wind_speed=min_wind_speed_omp
2042    iflag_gusts=iflag_gusts_omp
2043
2044    f_rugoro=f_rugoro_omp
2045    supcrit1 = supcrit1_omp
2046    supcrit2 = supcrit2_omp
2047    iflag_mix = iflag_mix_omp
2048    scut = scut_omp
2049    qqa1 = qqa1_omp
2050    qqa2 = qqa2_omp
2051    gammas = gammas_omp
2052    Fmax = Fmax_omp
2053    alphas = alphas_omp
2054    ok_strato = ok_strato_omp
2055    ok_hines = ok_hines_omp
2056    ok_gwd_rando = ok_gwd_rando_omp
2057    GWD_RANDO_RUWMAX = GWD_RANDO_RUWMAX_omp
2058    gwd_rando_sat = gwd_rando_sat_omp
2059    ok_qch4 = ok_qch4_omp
2060    ok_LES = ok_LES_omp
2061    callstats = callstats_omp
2062    ecrit_LES = ecrit_LES_omp
2063    carbon_cycle_tr = carbon_cycle_tr_omp
2064    carbon_cycle_cpl = carbon_cycle_cpl_omp
2065
2066    ! Test of coherence between type_ocean and version_ocean
2067    IF (type_ocean=='couple' .AND. (version_ocean/='opa8' .AND. version_ocean/='nemo') ) THEN
2068       WRITE(lunout,*)' ERROR version_ocean=',version_ocean,' not valid in coupled configuration'
2069       CALL abort_gcm('conf_phys','version_ocean not valid',1)
2070    END IF
2071
2072    IF (type_ocean=='slab' .AND. version_ocean=='xxxxxx') THEN
2073       version_ocean='sicOBS'
2074    ELSE IF (type_ocean=='slab' .AND. version_ocean/='sicOBS' &
2075             .AND. version_ocean/='sicINT' .AND. version_ocean/='sicNO') THEN
2076       WRITE(lunout,*)' ERROR version_ocean=',version_ocean,' not valid with slab ocean'
2077       CALL abort_gcm('conf_phys','version_ocean not valid',1)
2078    END IF
2079
2080    ! Test sur new_aod. Ce flag permet de retrouver les resultats de l'AR4
2081    ! il n'est utilisable que lors du couplage avec le SO4 seul
2082    IF (ok_ade .OR. ok_aie) THEN
2083       IF ( flag_aerosol .EQ. 0 ) THEN
2084          CALL abort_gcm('conf_phys','flag_aerosol=0 not compatible avec ok_ade ou ok_aie=.TRUE.',1)
2085       END IF
2086       IF ( .NOT. new_aod .AND.  flag_aerosol .NE. 1) THEN
2087          CALL abort_gcm('conf_phys','new_aod=.FALSE. not compatible avec flag_aerosol=1',1)
2088       END IF
2089    END IF
2090
2091    ! ok_cdnc must be set to y if ok_aie is activated
2092    IF (ok_aie .AND. .NOT. ok_cdnc) THEN
2093       CALL abort_gcm('conf_phys', 'ok_cdnc must be set to y if ok_aie is activated',1)
2094    ENDIF
2095
2096    !$OMP MASTER
2097
2098    write(lunout,*)' ##############################################'
2099    write(lunout,*)' Configuration des parametres de la physique: '
2100    write(lunout,*)' Type ocean = ', type_ocean
2101    write(lunout,*)' Version ocean = ', version_ocean
2102    write(lunout,*)' Config veget = ', ok_veget,type_veget
2103    write(lunout,*)' Snow model SISVAT : ok_snow = ', ok_snow
2104    write(lunout,*)' Config xml pour XIOS : ok_all_xml = ', ok_all_xml
2105    write(lunout,*)' Sortie journaliere = ', ok_journe
2106    write(lunout,*)' Sortie haute frequence = ', ok_hf
2107    write(lunout,*)' Sortie mensuelle = ', ok_mensuel
2108    write(lunout,*)' Sortie instantanee = ', ok_instan
2109    write(lunout,*)' Frequence appel simulateur ISCCP, freq_ISCCP =', freq_ISCCP
2110    write(lunout,*)' Frequence appel simulateur ISCCP, ecrit_ISCCP =', ecrit_ISCCP
2111    write(lunout,*)' Frequence appel simulateur COSP, freq_COSP =', freq_COSP
2112    write(lunout,*)' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy
2113    write(lunout,*)' Excentricite = ',R_ecc
2114    write(lunout,*)' Equinoxe = ',R_peri
2115    write(lunout,*)' Inclinaison =',R_incl
2116    write(lunout,*)' Constante solaire =',solaire
2117    write(lunout,*)' co2_ppm =',co2_ppm
2118    write(lunout,*)' RCO2_act = ',RCO2_act
2119    write(lunout,*)' CH4_ppb =',CH4_ppb,' RCH4_act = ',RCH4_act
2120    write(lunout,*)' N2O_ppb =',N2O_ppb,' RN2O_act=  ',RN2O_act
2121    write(lunout,*)' CFC11_ppt=',CFC11_ppt,' RCFC11_act=  ',RCFC11_act
2122    write(lunout,*)' CFC12_ppt=',CFC12_ppt,' RCFC12_act=  ',RCFC12_act
2123    write(lunout,*)' ok_4xCO2atm=',ok_4xCO2atm
2124    write(lunout,*)' RCO2_per = ',RCO2_per,' RCH4_per = ', RCH4_per
2125    write(lunout,*)' RN2O_per = ',RN2O_per,' RCFC11_per = ', RCFC11_per
2126    write(lunout,*)' RCFC12_per = ',RCFC12_per
2127    write(lunout,*)' cvl_corr=', cvl_corr
2128    write(lunout,*)'ok_lic_melt=', ok_lic_melt
2129    write(lunout,*)'cycle_diurne=',cycle_diurne
2130    write(lunout,*)'soil_model=',soil_model
2131    write(lunout,*)'new_oliq=',new_oliq
2132    write(lunout,*)'ok_orodr=',ok_orodr
2133    write(lunout,*)'ok_orolf=',ok_orolf
2134    write(lunout,*)'ok_limitvrai=',ok_limitvrai
2135    write(lunout,*)'nbapp_rad=',nbapp_rad
2136    write(lunout,*)'iflag_con=',iflag_con
2137    write(lunout,*)'iflag_ener_conserv=',iflag_ener_conserv
2138    write(lunout,*)'ok_conserv_q=',ok_conserv_q
2139    write(lunout,*)'iflag_fisrtilp_qsat=',iflag_fisrtilp_qsat
2140    write(lunout,*)' epmax = ', epmax
2141    write(lunout,*)' ok_adj_ema = ', ok_adj_ema
2142    write(lunout,*)' iflag_clw = ', iflag_clw
2143    write(lunout,*)' cld_lc_lsc = ', cld_lc_lsc
2144    write(lunout,*)' cld_lc_con = ', cld_lc_con
2145    write(lunout,*)' cld_tau_lsc = ', cld_tau_lsc
2146    write(lunout,*)' cld_tau_con = ', cld_tau_con
2147    write(lunout,*)' ffallv_lsc = ', ffallv_lsc
2148    write(lunout,*)' ffallv_con = ', ffallv_con
2149    write(lunout,*)' coef_eva = ', coef_eva
2150    write(lunout,*)' reevap_ice = ', reevap_ice
2151    write(lunout,*)' iflag_pdf = ', iflag_pdf
2152    write(lunout,*)' iflag_cld_th = ', iflag_cld_th
2153    write(lunout,*)' iflag_cld_cv = ', iflag_cld_cv
2154    write(lunout,*)' tau_cld_cv = ', tau_cld_cv
2155    write(lunout,*)' coefw_cld_cv = ', coefw_cld_cv
2156    write(lunout,*)' iflag_radia = ', iflag_radia
2157    write(lunout,*)' iflag_rrtm = ', iflag_rrtm
2158    write(lunout,*)' NSW = ', NSW
2159    write(lunout,*)' iflag_albedo = ', iflag_albedo !albedo SB
2160    write(lunout,*)' ok_chlorophyll =',ok_chlorophyll ! albedo SB
2161    write(lunout,*)' iflag_ratqs = ', iflag_ratqs
2162    write(lunout,*)' seuil_inversion = ', seuil_inversion
2163    write(lunout,*)' fact_cldcon = ', fact_cldcon
2164    write(lunout,*)' facttemps = ', facttemps
2165    write(lunout,*)' ok_newmicro = ',ok_newmicro
2166    write(lunout,*)' ratqsbas = ',ratqsbas
2167    write(lunout,*)' ratqshaut = ',ratqshaut
2168    write(lunout,*)' tau_ratqs = ',tau_ratqs
2169    write(lunout,*)' top_height = ',top_height
2170    write(lunout,*)' rad_froid = ',rad_froid
2171    write(lunout,*)' rad_chau1 = ',rad_chau1
2172    write(lunout,*)' rad_chau2 = ',rad_chau2
2173    write(lunout,*)' t_glace_min = ',t_glace_min
2174    write(lunout,*)' t_glace_max = ',t_glace_max
2175    write(lunout,*)' exposant_glace = ',exposant_glace
2176    write(lunout,*)' iflag_t_glace = ',iflag_t_glace
2177    write(lunout,*)' iflag_ice_thermo = ',iflag_ice_thermo
2178    write(lunout,*)' rei_min = ',rei_min
2179    write(lunout,*)' rei_max = ',rei_max
2180    write(lunout,*)' overlap = ',overlap
2181    write(lunout,*)' cdmmax = ',cdmmax
2182    write(lunout,*)' cdhmax = ',cdhmax
2183    write(lunout,*)' ksta = ',ksta
2184    write(lunout,*)' ksta_ter = ',ksta_ter
2185    write(lunout,*)' f_ri_cd_min = ',f_ri_cd_min
2186    write(lunout,*)' ok_kzmin = ',ok_kzmin
2187    write(lunout,*)' fmagic = ',fmagic
2188    write(lunout,*)' pmagic = ',pmagic
2189    write(lunout,*)' ok_ade = ',ok_ade
2190    write(lunout,*)' ok_aie = ',ok_aie
2191    write(lunout,*)' aerosol_couple = ', aerosol_couple
2192    write(lunout,*)' flag_aerosol = ', flag_aerosol
2193    write(lunout,*)' flag_aerosol_strat = ', flag_aerosol_strat
2194    write(lunout,*)' new_aod = ', new_aod
2195    write(lunout,*)' aer_type = ',aer_type
2196    write(lunout,*)' bl95_b0 = ',bl95_b0
2197    write(lunout,*)' bl95_b1 = ',bl95_b1
2198    write(lunout,*)' lev_histhf = ',lev_histhf
2199    write(lunout,*)' lev_histday = ',lev_histday
2200    write(lunout,*)' lev_histmth = ',lev_histmth
2201    write(lunout,*)' lev_histins = ',lev_histins
2202    write(lunout,*)' lev_histLES = ',lev_histLES
2203    write(lunout,*)' lev_histdayNMC = ',lev_histdayNMC
2204    write(lunout,*)' levout_histNMC = ',levout_histNMC
2205    write(lunout,*)' ok_histNMC = ',ok_histNMC
2206    write(lunout,*)' freq_outNMC = ',freq_outNMC
2207    write(lunout,*)' freq_calNMC = ',freq_calNMC
2208    write(lunout,*)' iflag_pbl = ', iflag_pbl
2209    write(lunout,*)' iflag_pbl_split = ', iflag_pbl_split
2210    write(lunout,*)' iflag_thermals = ', iflag_thermals
2211    write(lunout,*)' iflag_thermals_ed = ', iflag_thermals_ed
2212    write(lunout,*)' fact_thermals_ed_dz = ', fact_thermals_ed_dz
2213    write(lunout,*)' iflag_thermals_optflux = ', iflag_thermals_optflux
2214    write(lunout,*)' iflag_thermals_closure = ', iflag_thermals_closure
2215    write(lunout,*)' iflag_clos = ', iflag_clos
2216    write(lunout,*)' coef_clos_ls = ', coef_clos_ls
2217    write(lunout,*)' type_run = ',type_run
2218    write(lunout,*)' ok_cosp = ',ok_cosp
2219    write(lunout,*)' ok_mensuelCOSP = ',ok_mensuelCOSP
2220    write(lunout,*)' ok_journeCOSP = ',ok_journeCOSP
2221    write(lunout,*)' ok_hfCOSP =',ok_hfCOSP
2222    write(lunout,*)' solarlong0 = ', solarlong0
2223    write(lunout,*)' qsol0 = ', qsol0
2224    write(lunout,*)' evap0 = ', evap0
2225    write(lunout,*)' albsno0 = ', albsno0
2226    write(lunout,*)' inertie_sol = ', inertie_sol
2227    write(lunout,*)' inertie_ice = ', inertie_ice
2228    write(lunout,*)' inertie_sno = ', inertie_sno
2229    write(lunout,*)' f_cdrag_ter = ',f_cdrag_ter
2230    write(lunout,*)' f_cdrag_oce = ',f_cdrag_oce
2231    write(lunout,*)' f_rugoro = ',f_rugoro
2232    write(lunout,*)' supcrit1 = ', supcrit1
2233    write(lunout,*)' supcrit2 = ', supcrit2
2234    write(lunout,*)' iflag_mix = ', iflag_mix
2235    write(lunout,*)' scut = ', scut
2236    write(lunout,*)' qqa1 = ', qqa1
2237    write(lunout,*)' qqa2 = ', qqa2
2238    write(lunout,*)' gammas = ', gammas
2239    write(lunout,*)' Fmax = ', Fmax
2240    write(lunout,*)' alphas = ', alphas
2241    write(lunout,*)' iflag_wake = ', iflag_wake
2242    write(lunout,*)' alp_offset = ', alp_offset
2243    ! nrlmd le 10/04/2012
2244    write(lunout,*)' iflag_trig_bl = ', iflag_trig_bl
2245    write(lunout,*)' s_trig = ', s_trig
2246    write(lunout,*)' tau_trig_shallow = ', tau_trig_shallow
2247    write(lunout,*)' tau_trig_deep = ', tau_trig_deep
2248    write(lunout,*)' iflag_clos_bl = ', iflag_clos_bl
2249    ! fin nrlmd le 10/04/2012
2250
2251    write(lunout,*)' lonmin lonmax latmin latmax bilKP_ins =',&
2252         lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
2253    write(lunout,*)' ecrit_ hf, ins, day, mth, reg, tra, ISCCP, LES',&
2254         ecrit_hf, ecrit_ins, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP, ecrit_LES
2255
2256    write(lunout,*) 'ok_strato = ', ok_strato
2257    write(lunout,*) 'ok_hines = ',  ok_hines
2258    write(lunout,*) 'ok_gwd_rando = ',  ok_gwd_rando
2259    write(lunout,*) 'ok_qch4 = ',  ok_qch4
2260    write(lunout,*) 'GWD_RANDO_RUWMAX = ', GWD_RANDO_RUWMAX
2261    write(lunout,*) 'gwd_rando_sat = ', gwd_rando_sat
2262    write(lunout,*) 'read_climoz = ', read_climoz
2263    write(lunout,*) 'carbon_cycle_tr = ', carbon_cycle_tr
2264    write(lunout,*) 'carbon_cycle_cpl = ', carbon_cycle_cpl
2265
2266    !$OMP END MASTER
2267
2268    return
2269
2270  end subroutine conf_phys
2271
2272end module conf_phys_m
2273!
2274!#################################################################
2275!
2276
2277subroutine conf_interface(tau_calv)
2278
2279  use IOIPSL
2280  implicit none
2281  include "iniprint.h"
2282  ! Configuration de l'interace atm/surf
2283  !
2284  ! tau_calv:    temps de relaxation pour la fonte des glaciers
2285
2286  REAL          :: tau_calv
2287  REAL,SAVE     :: tau_calv_omp
2288
2289  !
2290  !Config Key  = tau_calv
2291  !Config Desc = temps de relaxation pour fonte des glaciers en jours
2292  !Config Def  = 1 an
2293  !Config Help =
2294  !
2295  tau_calv_omp = 360.*10.
2296  !$OMP MASTER
2297  call getin('tau_calv',tau_calv_omp)
2298  !$OMP END MASTER
2299  !$OMP BARRIER
2300
2301  tau_calv=tau_calv_omp
2302
2303  !$OMP MASTER
2304  write(lunout,*)' ##############################################'
2305  WRITE(lunout,*)' Configuration de l''interface atm/surfaces  : '
2306  WRITE(lunout,*)' tau_calv = ',tau_calv
2307  !$OMP END MASTER
2308
2309  return
2310
2311end subroutine conf_interface
Note: See TracBrowser for help on using the repository browser.