source: LMDZ4/branches/LMDZ4V5.0-LF/libf/phylmd/conf_phys.F90 @ 5427

Last change on this file since 5427 was 1299, checked in by Laurent Fairhead, 15 years ago

Nettoyage general pour se rapprocher des normes et éviter des erreurs a la
compilation:

  • tous les FLOAT() sont remplacés par des REAL()
  • tous les STOP dans phylmd sont remplacés par des appels à abort_gcm
  • le common control défini dans le fichier control.h est remplacé par le module control_mod pour éviter des messages sur l'alignement des variables dans les déclarations
  • des $Header$ remplacés par des $Id$ pour svn

Quelques remplacements à faire ont pu m'échapper


General cleanup of the code to try and adhere to norms and to prevent some
compilation errors:

  • all FLOAT() instructions have been replaced by REAL() instructions
  • all STOP instructions in phylmd have been replaced by calls to abort_gcm
  • the common block control defined in the control.h file has been replaced by the control_mod to prevent compilation warnings on the alignement of declared variables
  • $Header$ replaced by $Id$ for svn

Some changes which should have been made might have escaped me

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