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

Last change on this file since 2245 was 2243, checked in by fhourdin, 10 years ago

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

Etape 2 :

  • Séparation des z0 pour la quantité de mouvement et l'enthalpie.

rugs (ou frugs, rugos, yrugos ...) disparait au profit de z0m, z0h.
Les variables qui étaient à la fois dans pbl_surface_init et

  • dans l'interface de pbl_surface sont suprimées de pbl_surface_init.

On travaille directement pour ces variables (evap, z0, qsol, agesno)
avec les versions de phys_state_var_mod (qui étaient
précédemment dans phys_local_var_mod

  • Nouveaux paramètres de contrôle :
    • iflag_z0_oce (par défaut 0, et seule option active jusque là)
    • z0m_seaice_omp, z0h_seaice_omp, comme leur nom l'indique (utilisées dans surf_landice
    • z0min appliqué sur z0m et z0h dans pbl_surface
  • Introduction des fonction phyeta0_get et phyetat0_srf pour lire

les conditions de initiales dans startphy.
Du coup une seule ligne suffit pour lire et contrôler d'éventuels
problèmes.

  • Pour la variable fxrugs, elle est remplacée par z0m(:,nbsrf+1)

Ce choix déjà utilisé pour d'autres variables pourrait être
systématiser pour alléger l'interface de pbl_surface_mod.

  • Dans les sorties, les variables rugs* ont été remplacées par

des z0m* et z0h*

  • Nettoyage des anciens alb1/alb2 dans les lectures/écritures

des états de redémarrage (et dans pbl_surface_mod.F90).

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