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

Last change on this file since 2255 was 2254, checked in by fhourdin, 10 years ago

Modification du calcul des flux air/mer
1) Introduction d'un facteur f_qsat_oce=0.98 devant qsat dans le calcul
de l'évaporation sur océan pour tenir compte de la moindre évaporation
de l'eau salée.
2) Introduction d'une différentiation entre z0 pour le sensible, z0h,
et le latent, z0q, imposé constant z0q=f_z0qh_oce*z0h

Modification of air/sea fluxes computation
1) Introduction of a correcting factor f_qsat_oce=0.98 on qsat
to account for the weaker evaporation of salty water.
2) Introduction of z0q=f_z0qh_oce*z0h

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