source: trunk/libf/phylmd/conf_phys.F90 @ 1

Last change on this file since 1 was 1, checked in by emillour, 14 years ago

Import initial LMDZ5

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