source: LMDZ4/branches/LMDZ4-dev-20091210/libf/phylmd/conf_phys.F90 @ 1905

Last change on this file since 1905 was 1263, checked in by lguez, 15 years ago

1) Reactivated ability to read ozone (that was deactivated because of
dependency on version of IOIPSL). Added ability to read a pressure
coordinate in Pa in "regr_lat_time_climoz".

2) Added the ability to read a second ozone climatology, corresponding to
daylight ozone:

-- "read_climoz" is now an integer variable, instead of a logical
variable.

-- Added argument "read_climoz" to "phys_state_var_init",
"phys_output_open" and "regr_lat_time_climoz".

-- Created new variable "ozone_daylight" for "hist*.nc" output files.

-- Added a third dimension to variable "wo" in module
"phys_state_var_mod" and variable "POZON" in "radlwsw": index 1 for
average day-night ozone, index 2 for daylight ozone.

-- Added a fourth dimension to variables "o3_in", "o3_regr_lat" and
"o3_out" in "regr_lat_time_climoz": index 1 for average day-night
ozone, index 2 for daylight ozone.

-- In "physiq", moved call to "conf_phys" before call to
"phys_state_var_init". Thus, "conf_phys" is now inside the block "if
(first)" instead of "IF (debut)". There were definitions of "bl95_b0"
and "bl95_b1" that were useless because the variables were overwritten
by "conf_phys". Removed those definitions.

-- In "radlwsw", we pass the average day-night ozone to "LW_LMDAR4"
and the daylight ozone, if we have it, to "SW_LMDAR4" or
"SW_AEROAR4". If we do not have a specific field for daylight ozone
then "SW_LMDAR4" or "SW_AEROAR4" just get the average day-night ozone.

-- "regr_lat_time_climoz" now manages latitudes where the input ozone
field is missing at all levels (polar night).

-- Encapsulated "radlwsw" in a module.

3) Modifications to make sequential and parallel versions of
"create_etat0_limit" almost identical:

-- In "dyn3dpar/create_etat0_limit.F". No need to call
"phys_state_var_init", removed "use phys_state_var_mod" statement. No
need for "clesphys.h", removed "include" statement.

-- In "dyn3dpar/etat0_netcdf.F". Added argument "tau_ratqs" in call to
"conf_phys" (this bug was already corrected in "dyn3d"). Moved call to
"inifilr" after call to "infotrac_init" (as in "dyn3d").

4) Other peripheral modifications:

-- Added procedures "nf95_get_att" and "nf95_def_var_scalar" in
NetCDF95 interface. Overloaded "nf95_put_var" with three more
procedures: "nf95_put_var_FourByteReal", "nf95_put_var_FourByteInt",
"nf95_put_var_1D_FourByteInt".

-- Overloaded "regr1_step_av" with one more procedure:
"regr14_step_av". Overloaded "regr3_lint" with one more procedure:
"regr34_lint".

-- Corrected call to "Init_Phys_lmdz" in "dyn3d/create_etat0_limit.F":
the last argument should be an array, not a scalar.

-- Encapsulated "conf_phys" in a module.

-- Splitted module "regr_pr" into "regr_pr_av_m" and "regr_pr_int_m".

5) Tests:

This revision was compared to revision 1259, with optimization options
"debug" and "dev", parallelization options "none", "mpi", "omp" and
"mpi_omp", 1 and 2 MPI processes, 1 and 2 OpenMP threads, with the
compiler "FORTRAN90/SX Version 2.0 for SX-8". Both programs
"create_etat0_limit" and "gcm" were tested. In all cases,
parallelization does not change the results. With "read_climoz = 0" in
the ".def" files, the results of revision 1259 and of this revision
are the same.

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