source: LMDZ5/trunk/libf/phylmd/conf_phys.F90 @ 1492

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

Merge of development branch LMDZ5V2.0-dev r1455:r1491 into the trunk.
Validation made locally: restart files are strictly equal between the HEAD of the trunk
and r1491 of LMDZ5V2.0-dev


Synchro de la branche de développement LMDZ5V2.0-dev r1455:r1491 et de la trunk
Validation faite en local: les fichiers restart sont équivalents entre la HEAD de la trunk
et la révision r1491 de LMDZ5V2.0-dev

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