source: LMDZ4/branches/LMDZ4_AR5/libf/phylmd/conf_phys.F90 @ 1500

Last change on this file since 1500 was 1500, checked in by Laurent Fairhead, 13 years ago

Modification to take into account precipitation over ice.
The ok_precip_fonte parameter needs to be put to .false. in one of
the *.def files to ensure that the model will give comparable results to
already submitted AR5 simulations


Modification pour prendre en compte les précipitations sur la glace.
Pour assurer la continuité avec les simulations AR5 déjà 'soumises', le
paramètre ok_precip_fonte doit être à .false.

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