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

Last change on this file since 1352 was 1352, checked in by musat, 14 years ago

Add 3 output files for standard pressure levels AR5 exercice and flags
to manage their computation and output frequencies
histhfNMC.nc with 3 standard pressure levels
histdayNMC.nc with 8 (or may have 17) standard pressure levels
histmthNMC.nc with 17 standard pressure levels
Add 3 flags in the physiq.def file: freq_calNMC(3), freq_outNMC(3) and lev_histdayNMC
freq_calNMC(3) : computation frequency of variables on standard pressure levels

and by default has fallowing values (in fact physics' time step dtime)

freq_calNMC(1)=900.
freq_calNMC(2)=900.
freq_calNMC(3)=900.
freq_outNMC(3) : output frequency of variables on standard pressure levels

with following default values

freq_out(1) = 2592000. (30 days)
freq_out(2) = 86400. (1 day)
freq_out(3) = 21600. (6 hours)
lev_histdayNMC is 8 by default but may be switched to 17 (if we need more levels for a particular run)
IM

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