source: LMDZ4/trunk/libf/phylmd/conf_phys.F90 @ 1403

Last change on this file since 1403 was 1403, checked in by Laurent Fairhead, 14 years ago

Merged LMDZ4V5.0-dev branch changes r1292:r1399 to trunk.

Validation:
Validation consisted in compiling the HEAD revision of the trunk,
LMDZ4V5.0-dev branch and the merged sources and running different
configurations on local and SX8 machines comparing results.

Local machine: bench configuration, 32x24x11, gfortran

  • IPSLCM5A configuration (comparison between trunk and merged sources):
    • numerical convergence on dynamical fields over 3 days
    • start files are equivalent (except for RN and PB fields)
    • daily history files equivalent
  • MH07 configuration, new physics package (comparison between LMDZ4V5.0-dev branch and merged sources):
    • numerical convergence on dynamical fields over 3 days
    • start files are equivalent (except for RN and PB fields)
    • daily history files equivalent

SX8 machine (brodie), 96x95x39 on 4 processors:

  • IPSLCM5A configuration:
    • start files are equivalent (except for RN and PB fields)
    • monthly history files equivalent
  • MH07 configuration:
    • start files are equivalent (except for RN and PB fields)
    • monthly history files equivalent

Changes to the makegcm and create_make_gcm scripts to take into account
main programs in F90 files


Fusion de la branche LMDZ4V5.0-dev (r1292:r1399) au tronc principal

Validation:
La validation a consisté à compiler la HEAD de le trunk et de la banche
LMDZ4V5.0-dev et les sources fusionnées et de faire tourner le modéle selon
différentes configurations en local et sur SX8 et de comparer les résultats

En local: 32x24x11, config bench/gfortran

  • pour une config IPSLCM5A (comparaison tronc/fusion):
    • convergence numérique sur les champs dynamiques après 3 jours
    • restart et restartphy égaux (à part sur RN et Pb)
    • fichiers histoire égaux
  • pour une config nlle physique (MH07) (comparaison LMDZ4v5.0-dev/fusion):
    • convergence numérique sur les champs dynamiques après 3 jours
    • restart et restartphy égaux
    • fichiers histoire équivalents

Sur brodie, 96x95x39 sur 4 proc:

  • pour une config IPSLCM5A:
    • restart et restartphy égaux (à part sur RN et PB)
    • pas de différence dans les fichiers histmth.nc
  • pour une config MH07
    • restart et restartphy égaux (à part sur RN et PB)
    • pas de différence dans les fichiers histmth.nc

Changement sur makegcm et create_make-gcm pour pouvoir prendre en compte des
programmes principaux en *F90

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