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

Last change on this file since 2057 was 2057, checked in by Ehouarn Millour, 10 years ago

Preparatory stuff to fix and improve the slab ocean model.
FC

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