source: LMDZ4/trunk/libf/phylmd/conf_phys.F90 @ 956

Last change on this file since 956 was 956, checked in by lmdzadmin, 16 years ago

Nettoyage du controle des parametres physiques. FH

Les parametres cycle_diurne, soil_model, new_oliq, ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad et iflag_con
sont maintenant geres par la physique uniquement.
ecritphy est elimine.
dimphy.F90 et clesphys.h ne sont plus utilises par le code dynamique.
Le test academique obtenu en compilant avec
makegcm -p nophys gcm
fonctionne. FH
IM

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 30.6 KB
Line 
1!
2! $Header$
3!
4!
5!
6
7  subroutine conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, ok_hf, &
8 &                     solarlong0,seuil_inversion, &
9 &                     fact_cldcon, facttemps,ok_newmicro,iflag_radia,&
10 &                     iflag_cldcon, &
11 &                     iflag_ratqs,ratqsbas,ratqshaut, &
12 &                     ok_ade, ok_aie, aerosol_couple, &
13 &                     bl95_b0, bl95_b1,&
14 &                     iflag_thermals,nsplit_thermals, &
15 &                     iflag_coupl,iflag_clos,iflag_wake )
16
17   use IOIPSL
18   implicit none
19
20 include "conema3.h"
21 include "fisrtilp.h"
22 include "nuage.h"
23 include "YOMCST.h"
24!IM : on inclut/initialise les taux de CH4, N2O, CFC11 et CFC12
25include "clesphys.h"
26include "compbl.h"
27include "control.h"
28include "comsoil.h"
29!
30! Configuration de la "physique" de LMDZ a l'aide de la fonction
31! GETIN de IOIPSL
32!
33! LF 05/2001
34!
35
36!
37! ocean:      type d'ocean (force, slab, couple)
38! ok_veget:   type de modele de vegetation
39! ok_journe:  sorties journalieres
40! ok_hf:  sorties haute frequence
41! ok_mensuel: sorties mensuelles
42! ok_instan:  sorties instantanees
43! ok_ade, ok_aie: apply or not aerosol direct and indirect effects
44! bl95_b*: parameters in the formula to link CDNC to aerosol mass conc
45!
46
47
48! Sortie:
49  character (len = 6)  :: ocean
50  logical              :: ok_veget, ok_newmicro
51  integer              :: iflag_radia
52  logical              :: ok_journe, ok_mensuel, ok_instan, ok_hf
53  LOGICAL              :: ok_ade, ok_aie, aerosol_couple
54  REAL                 :: bl95_b0, bl95_b1
55  real                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut
56  integer              :: iflag_cldcon
57  integer              :: iflag_ratqs
58
59  character (len = 6),SAVE  :: ocean_omp
60  logical,SAVE              :: ok_veget_omp, ok_newmicro_omp
61  logical,SAVE        :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp       
62  LOGICAL,SAVE        :: ok_ade_omp, ok_aie_omp, aerosol_couple_omp
63  REAL,SAVE           :: bl95_b0_omp, bl95_b1_omp
64  REAL,SAVE           :: freq_ISCCP_omp, ecrit_ISCCP_omp
65  real,SAVE           :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp
66  real,SAVE           :: ratqshaut_omp
67  integer,SAVE        :: iflag_radia_omp
68  integer,SAVE        :: iflag_cldcon_omp, ip_ebil_phy_omp
69  integer,SAVE        :: iflag_ratqs_omp
70
71! Local
72  integer              :: numout = 6
73  real                 :: zzz
74
75  real :: seuil_inversion
76  real,save :: seuil_inversion_omp
77
78  integer :: iflag_thermals,nsplit_thermals
79  integer,SAVE :: iflag_thermals_omp,nsplit_thermals_omp
80  integer :: iflag_coupl
81  integer :: iflag_clos
82  integer :: iflag_wake
83  integer,SAVE :: iflag_coupl_omp,iflag_clos_omp,iflag_wake_omp
84  integer,SAVE :: iflag_cvl_sigd_omp
85
86  REAL,SAVE :: R_ecc_omp,R_peri_omp,R_incl_omp,solaire_omp,co2_ppm_omp
87  REAL,SAVE :: RCO2_omp,CH4_ppb_omp,RCH4_omp,N2O_ppb_omp,RN2O_omp,CFC11_ppt_omp
88  REAL,SAVE :: RCFC11_omp,CFC12_ppt_omp,RCFC12_omp,epmax_omp
89  LOGICAL,SAVE :: ok_adj_ema_omp
90  INTEGER,SAVE :: iflag_clw_omp
91  REAL,SAVE :: cld_lc_lsc_omp,cld_lc_con_omp,cld_tau_lsc_omp,cld_tau_con_omp
92  REAL,SAVE :: ffallv_lsc_omp, ffallv_con_omp,coef_eva_omp
93  LOGICAL,SAVE :: reevap_ice_omp
94  INTEGER,SAVE :: iflag_pdf_omp
95  REAL,SAVE :: rad_froid_omp, rad_chau1_omp, rad_chau2_omp
96  REAL,SAVE :: inertie_sol_omp,inertie_sno_omp,inertie_ice_omp
97  REAL,SAVE :: qsol0_omp
98  REAL      :: solarlong0
99  REAL,SAVE :: solarlong0_omp
100  INTEGER,SAVE :: top_height_omp,overlap_omp
101  REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp
102  LOGICAL,SAVE :: ok_kzmin_omp
103  REAL, SAVE ::  fmagic_omp, pmagic_omp
104  INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp
105  CHARACTER*4, SAVE :: type_run_omp
106  LOGICAL,SAVE :: ok_isccp_omp
107  REAL,SAVE :: lonmin_ins_omp, lonmax_ins_omp, latmin_ins_omp, latmax_ins_omp
108  REAL,SAVE :: ecrit_hf_omp, ecrit_day_omp, ecrit_mth_omp, ecrit_reg_omp
109  REAL,SAVE :: ecrit_tra_omp
110  LOGICAL, SAVE :: ok_slab_sicOBS_omp
111  REAL,SAVE :: cvl_corr_omp
112  LOGICAL,SAVE :: ok_lic_melt_omp
113!
114!
115    LOGICAL,SAVE :: cycle_diurne_omp,soil_model_omp,new_oliq_omp
116    LOGICAL,SAVE :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp
117    INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp
118!
119
120!$OMP MASTER
121!Config Key  = OCEAN
122!Config Desc = Type d'ocean
123!Config Def  = force
124!Config Help = Type d'ocean utilise: force, slab,couple
125!
126  ocean_omp = 'force '
127  call getin('OCEAN', ocean_omp)
128!
129!Config Key  = VEGET
130!Config Desc = Type de modele de vegetation
131!Config Def  = .false.
132!Config Help = Type de modele de vegetation utilise
133!
134  ok_veget_omp = .false.
135  call getin('VEGET', ok_veget_omp)
136!
137!Config Key  = OK_journe
138!Config Desc = Pour des sorties journalieres
139!Config Def  = .false.
140!Config Help = Pour creer le fichier histday contenant les sorties
141!              journalieres
142!
143  ok_journe_omp = .false.
144  call getin('OK_journe', ok_journe_omp)
145!
146!Config Key  = ok_hf
147!Config Desc = Pour des sorties haute frequence
148!Config Def  = .false.
149!Config Help = Pour creer le fichier histhf contenant les sorties
150!              haute frequence ( 3h ou 6h)
151!
152  ok_hf_omp = .false.
153  call getin('ok_hf', ok_hf_omp)
154!
155!Config Key  = OK_mensuel
156!Config Desc = Pour des sorties mensuelles
157!Config Def  = .true.
158!Config Help = Pour creer le fichier histmth contenant les sorties
159!              mensuelles
160!
161  ok_mensuel_omp = .true.
162  call getin('OK_mensuel', ok_mensuel_omp)
163!
164!Config Key  = OK_instan
165!Config Desc = Pour des sorties instantanees
166!Config Def  = .false.
167!Config Help = Pour creer le fichier histins contenant les sorties
168!              instantanees
169!
170  ok_instan_omp = .false.
171  call getin('OK_instan', ok_instan_omp)
172!
173!Config Key  = ok_ade
174!Config Desc = Aerosol direct effect or not?
175!Config Def  = .false.
176!Config Help = Used in radlwsw.F
177!
178  ok_ade_omp = .false.
179  call getin('ok_ade', ok_ade_omp)
180
181!
182!Config Key  = ok_aie
183!Config Desc = Aerosol indirect effect or not?
184!Config Def  = .false.
185!Config Help = Used in nuage.F and radlwsw.F
186!
187  ok_aie_omp = .false.
188  call getin('ok_aie', ok_aie_omp)
189
190!
191!Config Key  = aerosol_couple
192!Config Desc = read aerosol in file or calcul by inca
193!Config Def  = .false.
194!Config Help = Used in physiq.F
195!
196  aerosol_couple_omp = .false.
197  CALL getin('aerosol_couple',aerosol_couple_omp)
198
199!
200!Config Key  = bl95_b0
201!Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
202!Config Def  = .false.
203!Config Help = Used in nuage.F
204!
205  bl95_b0_omp = 2.
206  call getin('bl95_b0', bl95_b0_omp)
207
208!Config Key  = bl95_b1
209!Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
210!Config Def  = .false.
211!Config Help = Used in nuage.F
212!
213  bl95_b1_omp = 0.2
214  call getin('bl95_b1', bl95_b1_omp)
215
216!Config Key  = freq_ISCCP
217!Config Desc = Frequence d'appel du simulateur ISCCP en secondes;
218!              par defaut 10800, i.e. 3 heures
219!Config Def  = 10800.
220!Config Help = Used in ini_histISCCP.h
221!
222  freq_ISCCP_omp = 10800.
223  call getin('freq_ISCCP', freq_ISCCP_omp)
224!
225!Config Key  = ecrit_ISCCP
226!Config Desc = Frequence d'ecriture des resultats du simulateur ISCCP en nombre de jours;
227!              par defaut 1., i.e. 1 jour
228!Config Def  = 1.
229!Config Help = Used in ini_histISCCP.h
230!
231!
232  ecrit_ISCCP_omp = 1.
233  call getin('ecrit_ISCCP', ecrit_ISCCP_omp)
234!
235!Config Key  = ip_ebil_phy
236!Config Desc = Niveau de sortie pour les diags bilan d'energie
237!Config Def  = 0
238!Config Help =
239!               
240  ip_ebil_phy_omp = 0
241  call getin('ip_ebil_phy', ip_ebil_phy_omp)
242!
243!Config Key  = seuil_inversion
244!Config Desc = Seuil ur dTh pour le choix entre les schemas de CL
245!Config Def  = -0.1
246!Config Help =
247!               
248  seuil_inversion_omp = -0.1
249  call getin('seuil_inversion', seuil_inversion_omp)
250
251!!
252!! Constante solaire & Parametres orbitaux & taux gaz effet de serre BEG
253!!
254!Config Key  = R_ecc
255!Config Desc = Excentricite
256!Config Def  = 0.016715
257!Config Help =
258!               
259!valeur AMIP II
260  R_ecc_omp = 0.016715
261  call getin('R_ecc', R_ecc_omp)
262!!
263!Config Key  = R_peri
264!Config Desc = Equinoxe
265!Config Def  =
266!Config Help =
267!               
268!
269!valeur AMIP II
270  R_peri_omp = 102.7
271  call getin('R_peri', R_peri_omp)
272!!
273!Config Key  = R_incl
274!Config Desc = Inclinaison
275!Config Def  =
276!Config Help =
277!               
278!
279!valeur AMIP II
280  R_incl_omp = 23.441
281  call getin('R_incl', R_incl_omp)
282!!
283!Config Key  = solaire
284!Config Desc = Constante solaire en W/m2
285!Config Def  = 1365.
286!Config Help =
287!               
288!
289!valeur AMIP II
290  solaire_omp = 1365.
291  call getin('solaire', solaire_omp)
292!!
293!Config Key  = co2_ppm
294!Config Desc = concentration du gaz carbonique en ppmv
295!Config Def  = 348.
296!Config Help =
297!               
298!
299!valeur AMIP II
300  co2_ppm_omp = 348.
301  call getin('co2_ppm', co2_ppm_omp)
302!!
303!Config Key  = RCO2
304!Config Desc = Concentration du CO2
305!Config Def  = co2_ppm * 1.0e-06  * 44.011/28.97
306!Config Def  = 348. * 1.0e-06  * 44.011/28.97
307!Config Help =
308!               
309! RCO2 = 5.286789092164308E-04
310!ancienne valeur
311  RCO2_omp = co2_ppm_omp * 1.0e-06  * 44.011/28.97 ! pour co2_ppm=348.
312
313!!  call getin('RCO2', RCO2)
314!!
315!Config Key  = RCH4
316!Config Desc = Concentration du CH4
317!Config Def  = 1.65E-06* 16.043/28.97
318!Config Help =
319!               
320!
321!valeur AMIP II
322!OK  RCH4 = 1.65E-06* 16.043/28.97
323! RCH4 = 9.137366240938903E-07
324!
325!ancienne valeur
326! RCH4 = 1.72E-06* 16.043/28.97
327!OK call getin('RCH4', RCH4)
328  zzz = 1650.
329  call getin('CH4_ppb', zzz)
330  CH4_ppb_omp = zzz
331  RCH4_omp = CH4_ppb_omp * 1.0E-09 * 16.043/28.97
332!!
333!Config Key  = RN2O
334!Config Desc = Concentration du N2O
335!Config Def  = 306.E-09* 44.013/28.97
336!Config Help =
337!               
338!
339!valeur AMIP II
340!OK  RN2O = 306.E-09* 44.013/28.97
341! RN2O = 4.648939592682085E-07
342!
343!ancienne valeur
344! RN2O = 310.E-09* 44.013/28.97
345!OK  call getin('RN2O', RN2O)
346  zzz=306.
347  call getin('N2O_ppb', zzz)
348  N2O_ppb_omp = zzz
349  RN2O_omp = N2O_ppb_omp * 1.0E-09 * 44.013/28.97
350!!
351!Config Key  = RCFC11
352!Config Desc = Concentration du CFC11
353!Config Def  = 280.E-12* 137.3686/28.97
354!Config Help =
355!               
356!
357!OK RCFC11 = 280.E-12* 137.3686/28.97
358  zzz = 280.
359  call getin('CFC11_ppt',zzz)
360  CFC11_ppt_omp = zzz
361  RCFC11_omp=CFC11_ppt_omp* 1.0E-12 * 137.3686/28.97
362! RCFC11 = 1.327690990680013E-09
363!OK call getin('RCFC11', RCFC11)
364!!
365!Config Key  = RCFC12
366!Config Desc = Concentration du CFC12
367!Config Def  = 484.E-12* 120.9140/28.97
368!Config Help =
369!               
370!
371!OK RCFC12 = 484.E-12* 120.9140/28.97
372  zzz = 484.
373  call getin('CFC12_ppt',zzz)
374  CFC12_ppt_omp = zzz
375  RCFC12_omp = CFC12_ppt_omp * 1.0E-12 * 120.9140/28.97
376! RCFC12 = 2.020102726958923E-09
377!OK call getin('RCFC12', RCFC12)
378
379
380
381!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
382! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
383! Constantes precedemment dans dyn3d/conf_gcm
384
385!Config  Key  = cycle_diurne
386!Config  Desc = Cycle ddiurne
387!Config  Def  = y
388!Config  Help = Cette option permet d'eteidre le cycle diurne.
389!Config         Peut etre util pour accelerer le code !
390       cycle_diurne_omp = .TRUE.
391       CALL getin('cycle_diurne',cycle_diurne_omp)
392
393!Config  Key  = soil_model
394!Config  Desc = Modele de sol
395!Config  Def  = y
396!Config  Help = Choix du modele de sol (Thermique ?)
397!Config         Option qui pourait un string afin de pouvoir
398!Config         plus de choix ! Ou meme une liste d'options !
399       soil_model_omp = .TRUE.
400       CALL getin('soil_model',soil_model_omp)
401
402!Config  Key  = new_oliq
403!Config  Desc = Nouvelle eau liquide
404!Config  Def  = y
405!Config  Help = Permet de mettre en route la
406!Config         nouvelle parametrisation de l'eau liquide !
407       new_oliq_omp = .TRUE.
408       CALL getin('new_oliq',new_oliq_omp)
409
410!Config  Key  = ok_orodr
411!Config  Desc = Orodr ???
412!Config  Def  = y
413!Config  Help = Y en a pas comprendre !
414!Config         
415       ok_orodr_omp = .TRUE.
416       CALL getin('ok_orodr',ok_orodr_omp)
417
418!Config  Key  =  ok_orolf
419!Config  Desc = Orolf ??
420!Config  Def  = y
421!Config  Help = Connais pas !
422       ok_orolf_omp = .TRUE.
423       CALL getin('ok_orolf_omp', ok_orolf_omp)
424
425!Config  Key  = ok_limitvrai
426!Config  Desc = Force la lecture de la bonne annee
427!Config  Def  = n
428!Config  Help = On peut forcer le modele a lire le
429!Config         fichier SST de la bonne annee. C'est une tres bonne
430!Config         idee, pourquoi ne pas mettre toujours a y ???
431       ok_limitvrai_omp = .FALSE.
432       CALL getin('ok_limitvrai',ok_limitvrai_omp)
433
434!Config  Key  = nbapp_rad
435!Config  Desc = Frequence d'appel au rayonnement
436!Config  Def  = 12
437!Config  Help = Nombre  d'appels des routines de rayonnements
438!Config         par jour.
439       nbapp_rad_omp = 12
440       CALL getin('nbapp_rad',nbapp_rad_omp)
441
442!Config  Key  = iflag_con
443!Config  Desc = Flag de convection
444!Config  Def  = 2
445!Config  Help = Flag  pour la convection les options suivantes existent :
446!Config         1 pour LMD,
447!Config         2 pour Tiedtke,
448!Config         3 pour CCM(NCAR) 
449       iflag_con_omp = 2
450       CALL getin('iflag_con',iflag_con_omp)
451
452!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
453!!
454!! Constante solaire & Parametres orbitaux & taux gaz effet de serre END
455!!
456!! KE
457!
458
459!Config key  = cvl_corr
460!Config Desc = Facteur multiplication des precip convectives dans KE
461!Config Def  = 1.00
462!Config Help = 1.02 pour un moderne ou un pre-ind. A ajuster pour un glaciaire
463  cvl_corr_omp = 1.00
464  CALL getin('cvl_corr', cvl_corr_omp)
465
466
467!Config Key  = epmax
468!Config Desc = Efficacite precip
469!Config Def  = 0.993
470!Config Help =
471!
472  epmax_omp = .993
473  call getin('epmax', epmax_omp)
474!
475!Config Key  = ok_adj_ema
476!Config Desc = 
477!Config Def  = false
478!Config Help =
479!
480  ok_adj_ema_omp = .false.
481  call getin('ok_adj_ema',ok_adj_ema_omp)
482!
483!Config Key  = iflag_clw
484!Config Desc = 
485!Config Def  = 0
486!Config Help =
487!
488  iflag_clw_omp = 0
489  call getin('iflag_clw',iflag_clw_omp)
490!
491!Config Key  = cld_lc_lsc
492!Config Desc = 
493!Config Def  = 2.6e-4
494!Config Help =
495!
496  cld_lc_lsc_omp = 2.6e-4
497  call getin('cld_lc_lsc',cld_lc_lsc_omp)
498!
499!Config Key  = cld_lc_con
500!Config Desc = 
501!Config Def  = 2.6e-4
502!Config Help =
503!
504  cld_lc_con_omp = 2.6e-4
505  call getin('cld_lc_con',cld_lc_con_omp)
506!
507!Config Key  = cld_tau_lsc
508!Config Desc = 
509!Config Def  = 3600.
510!Config Help =
511!
512  cld_tau_lsc_omp = 3600.
513  call getin('cld_tau_lsc',cld_tau_lsc_omp)
514!
515!Config Key  = cld_tau_con
516!Config Desc = 
517!Config Def  = 3600.
518!Config Help =
519!
520  cld_tau_con_omp = 3600.
521  call getin('cld_tau_con',cld_tau_con_omp)
522!
523!Config Key  = ffallv_lsc
524!Config Desc = 
525!Config Def  = 1.
526!Config Help =
527!
528  ffallv_lsc_omp = 1.
529  call getin('ffallv_lsc',ffallv_lsc_omp)
530!
531!Config Key  = ffallv_con
532!Config Desc = 
533!Config Def  = 1.
534!Config Help =
535!
536  ffallv_con_omp = 1.
537  call getin('ffallv_con',ffallv_con_omp)
538!
539!Config Key  = coef_eva
540!Config Desc = 
541!Config Def  = 2.e-5
542!Config Help =
543!
544  coef_eva_omp = 2.e-5
545  call getin('coef_eva',coef_eva_omp)
546!
547!Config Key  = reevap_ice
548!Config Desc = 
549!Config Def  = .false.
550!Config Help =
551!
552  reevap_ice_omp = .false.
553  call getin('reevap_ice',reevap_ice_omp)
554
555!Config Key  = iflag_ratqs
556!Config Desc =
557!Config Def  = 1
558!Config Help =
559!
560  iflag_ratqs_omp = 1
561  call getin('iflag_ratqs',iflag_ratqs_omp)
562
563!
564!Config Key  = iflag_radia
565!Config Desc = 
566!Config Def  = 1
567!Config Help =
568!
569  iflag_radia_omp = 1
570  call getin('iflag_radia',iflag_radia_omp)
571
572!Config Key  = iflag_cldcon
573!Config Desc = 
574!Config Def  = 1
575!Config Help =
576!
577  iflag_cldcon_omp = 1
578  call getin('iflag_cldcon',iflag_cldcon_omp)
579
580!
581!Config Key  = iflag_pdf
582!Config Desc = 
583!Config Def  = 0
584!Config Help =
585!
586  iflag_pdf_omp = 0
587  call getin('iflag_pdf',iflag_pdf_omp)
588!
589!Config Key  = fact_cldcon
590!Config Desc = 
591!Config Def  = 0.375
592!Config Help =
593!
594  fact_cldcon_omp = 0.375
595  call getin('fact_cldcon',fact_cldcon_omp)
596
597!
598!Config Key  = facttemps
599!Config Desc = 
600!Config Def  = 1.e-4
601!Config Help =
602!
603  facttemps_omp = 1.e-4
604  call getin('facttemps',facttemps_omp)
605
606!
607!Config Key  = ok_newmicro
608!Config Desc = 
609!Config Def  = .true.
610!Config Help =
611!
612  ok_newmicro_omp = .true.
613  call getin('ok_newmicro',ok_newmicro_omp)
614!
615!Config Key  = ratqsbas
616!Config Desc = 
617!Config Def  = 0.01
618!Config Help =
619!
620  ratqsbas_omp = 0.01
621  call getin('ratqsbas',ratqsbas_omp)
622!
623!Config Key  = ratqshaut
624!Config Desc = 
625!Config Def  = 0.3
626!Config Help =
627!
628  ratqshaut_omp = 0.3
629  call getin('ratqshaut',ratqshaut_omp)
630
631!
632!-----------------------------------------------------------------------
633! Longitude solaire pour le calcul de l'ensoleillement en degre
634! si on veut imposer la saison. Sinon, solarlong0=-999.999
635!Config Key  = solarlong0
636!Config Desc = 
637!Config Def  = -999.999
638!Config Help =
639!
640  solarlong0_omp = -999.999
641  call getin('solarlong0',solarlong0_omp)
642!
643!-----------------------------------------------------------------------
644!  Valeur imposee de l'humidite du sol pour le modele bucket.
645!Config Key  = qsol0
646!Config Desc = 
647!Config Def  = -1.
648!Config Help =
649!
650  qsol0_omp = -1.
651  call getin('qsol0',qsol0_omp)
652!
653!-----------------------------------------------------------------------
654!
655!Config Key  = inertie_ice
656!Config Desc = 
657!Config Def  = 2000.
658!Config Help =
659!
660  inertie_ice_omp = 2000.
661  call getin('inertie_ice',inertie_ice_omp)
662!
663!Config Key  = inertie_sno
664!Config Desc = 
665!Config Def  = 2000.
666!Config Help =
667!
668  inertie_sno_omp = 2000.
669  call getin('inertie_sno',inertie_sno_omp)
670!
671!Config Key  = inertie_sol
672!Config Desc = 
673!Config Def  = 2000.
674!Config Help =
675!
676  inertie_sol_omp = 2000.
677  call getin('inertie_sol',inertie_sol_omp)
678
679!
680!Config Key  = rad_froid
681!Config Desc = 
682!Config Def  = 35.0
683!Config Help =
684!
685  rad_froid_omp = 35.0
686  call getin('rad_froid',rad_froid_omp)
687
688!
689!Config Key  = rad_chau1
690!Config Desc = 
691!Config Def  = 13.0
692!Config Help =
693!
694  rad_chau1_omp = 13.0
695  call getin('rad_chau1',rad_chau1_omp)
696
697!
698!Config Key  = rad_chau2
699!Config Desc = 
700!Config Def  = 9.0
701!Config Help =
702!
703  rad_chau2_omp = 9.0
704  call getin('rad_chau2',rad_chau2_omp)
705
706!
707!Config Key  = top_height
708!Config Desc =
709!Config Def  = 3
710!Config Help =
711!
712  top_height_omp = 3
713  call getin('top_height',top_height_omp)
714
715!
716!Config Key  = overlap
717!Config Desc =
718!Config Def  = 3
719!Config Help =
720!
721  overlap_omp = 3
722  call getin('overlap',overlap_omp)
723
724
725!
726!
727!Config Key  = cdmmax
728!Config Desc =
729!Config Def  = 1.3E-3
730!Config Help =
731!
732  cdmmax_omp = 1.3E-3
733  call getin('cdmmax',cdmmax_omp)
734
735!
736!Config Key  = cdhmax
737!Config Desc =
738!Config Def  = 1.1E-3
739!Config Help =
740!
741  cdhmax_omp = 1.1E-3
742  call getin('cdhmax',cdhmax_omp)
743
744!261103
745!
746!Config Key  = ksta
747!Config Desc =
748!Config Def  = 1.0e-10
749!Config Help =
750!
751  ksta_omp = 1.0e-10
752  call getin('ksta',ksta_omp)
753
754!
755!Config Key  = ksta_ter
756!Config Desc =
757!Config Def  = 1.0e-10
758!Config Help =
759!
760  ksta_ter_omp = 1.0e-10
761  call getin('ksta_ter',ksta_ter_omp)
762
763!
764!Config Key  = ok_kzmin
765!Config Desc =
766!Config Def  = .true.
767!Config Help =
768!
769  ok_kzmin_omp = .true.
770  call getin('ok_kzmin',ok_kzmin_omp)
771
772!
773!Config Key  = fmagic
774!Config Desc = additionnal multiplicator factor used for albedo
775!Config Def  = 1.
776!Config Help = additionnal multiplicator factor used in albedo.F
777!
778  fmagic_omp = 1.
779  call getin('fmagic',fmagic_omp)
780
781!
782!Config Key  = pmagic
783!Config Desc = additional factor used for albedo
784!Config Def  = 0.
785!Config Help = additional factor used in albedo.F
786!
787  pmagic_omp = 0.
788  call getin('pmagic',pmagic_omp)
789
790
791!Config Key = ok_lic_melt
792!Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau
793!Config Def  = .false.
794!Config Help = mettre a .false. pour assurer la conservation en eau
795  ok_lic_melt_omp = .false.
796  call getin('ok_lic_melt', ok_lic_melt_omp)
797
798!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
799! PARAMETER FOR THE PLANETARY BOUNDARY LAYER
800!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
801
802!Config Key  = iflag_pbl
803!Config Desc =
804!Config Def  = 1
805!Config Help =
806!
807  iflag_pbl_omp = 1
808  call getin('iflag_pbl',iflag_pbl_omp)
809!
810!Config Key  = iflag_thermals
811!Config Desc =
812!Config Def  = 0
813!Config Help =
814!
815  iflag_thermals_omp = 0
816  call getin('iflag_thermals',iflag_thermals_omp)
817!
818!
819!Config Key  = nsplit_thermals
820!Config Desc =
821!Config Def  = 1
822!Config Help =
823!
824  nsplit_thermals_omp = 1
825  call getin('nsplit_thermals',nsplit_thermals_omp)
826
827!
828!Config Key  = iflag_coupl
829!Config Desc =
830!Config Def  = 0
831!Config Help =
832!
833  iflag_coupl = 0
834  call getin('iflag_coupl',iflag_coupl_omp)
835
836!
837!Config Key  = iflag_clos
838!Config Desc = 
839!Config Def  = 0
840!Config Help =
841!
842  iflag_clos = 1
843  call getin('iflag_clos',iflag_clos_omp)
844!
845!Config Key  = iflag_cvl_sigd
846!Config Desc = 
847!Config Def  = 0
848!Config Help =
849!
850  iflag_cvl_sigd = 0
851  call getin('iflag_cvl_sigd',iflag_cvl_sigd_omp)
852
853!Config Key  = iflag_wake
854!Config Desc = 
855!Config Def  = 0
856!Config Help =
857!
858  iflag_wake = 0
859  call getin('iflag_wake',iflag_wake_omp)
860
861!
862!Config Key  = lev_histhf
863!Config Desc =
864!Config Def  = 1
865!Config Help =
866!
867  lev_histhf_omp = 1
868  call getin('lev_histhf',lev_histhf_omp)
869
870!
871!Config Key  = lev_histday
872!Config Desc =
873!Config Def  = 1
874!Config Help =
875!
876  lev_histday_omp = 1
877  call getin('lev_histday',lev_histday_omp)
878
879!
880!Config Key  = lev_histmth
881!Config Desc =
882!Config Def  = 2
883!Config Help =
884!
885  lev_histmth_omp = 2
886  call getin('lev_histmth',lev_histmth_omp)
887
888  !
889!Config Key  = type_run
890!Config Desc =
891!Config Def  = 'AMIP'/'CFMIP'  ou 'CLIM'/'ENSP'
892!Config Help =
893!
894  type_run_omp = 'AMIP'
895  call getin('type_run',type_run_omp)
896
897!
898!Config Key  = ok_isccp
899!Config Desc =
900!Config Def  = .true.
901!Config Help =
902!
903! ok_isccp = .true.
904  ok_isccp_omp = .false.
905  call getin('ok_isccp',ok_isccp_omp)
906
907!
908! coordonnees (lonmin_ins, lonmax_ins, latmin_ins, latmax_ins) pour la zone
909! avec sorties instantannees tous les pas de temps de la physique => "histbilKP_ins.nc"
910!
911!Config Key  = lonmin_ins
912!Config Desc = 100. 
913!Config Def  = longitude minimale sorties "bilKP_ins"
914!Config Help =
915!
916   lonmin_ins_omp = 100.
917   call getin('lonmin_ins',lonmin_ins_omp)
918!
919!Config Key  = lonmax_ins
920!Config Desc = 130.
921!Config Def  = longitude maximale sorties "bilKP_ins"
922!Config Help =
923!
924   lonmax_ins = 130.
925   call getin('lonmax_ins',lonmax_ins_omp)
926!
927!Config Key  = latmin_ins
928!Config Desc = -20. 
929!Config Def  = latitude minimale sorties "bilKP_ins"
930!Config Help =
931!
932   latmin_ins_omp = -20.
933   call getin('latmin_ins',latmin_ins_omp)
934!
935!Config Key  = latmax_ins
936!Config Desc = 20.
937!Config Def  = latitude maximale sorties "bilKP_ins"
938!Config Help =
939!
940   latmax_ins_omp = 20.
941   call getin('latmax_ins',latmax_ins_omp)
942!
943!Config Key  = ecrit_hf
944!Config Desc =
945!Config Def  = 1./8. !toutes les 3h
946!Config Help =
947!
948  ecrit_hf_omp = 1./8.
949  call getin('ecrit_hf',ecrit_hf_omp)
950!
951!Config Key  = ecrit_day
952!Config Desc =
953!Config Def  = 1.0 !tous les jours
954!Config Help = nombre de jours pour ecriture fichier histday.nc
955!
956  ecrit_day_omp = 1.0
957  call getin('ecrit_day',ecrit_day_omp)
958!
959!Config Key  = ecrit_mth
960!Config Desc =
961!Config Def  = 30. !tous les 30jours (1 fois par mois)
962!Config Help =
963!
964  ecrit_mth_omp = 30.
965  call getin('ecrit_mth',ecrit_mth_omp)
966!
967!Config Key  = ecrit_tra
968!Config Desc =
969!Config Def  = 30. !tous les 30jours (1 fois par mois)
970!Config Help =
971!
972  ecrit_tra_omp = 30.
973  call getin('ecrit_tra',ecrit_tra_omp)
974!
975!Config Key  = ecrit_reg
976!Config Desc =
977!Config Def  = 0.25  !4 fois par jour
978!Config Help =
979!
980  ecrit_reg_omp = 0.25   !4 fois par jour
981  call getin('ecrit_reg',ecrit_reg_omp)
982!
983!
984!
985!Config Key  = ok_slab_sicOBS
986!Config Desc =
987!Config Def  = .true.
988!Config Help = Pour faire tourner le slab avec fraction
989!              de glace de mer Observee
990!
991  ok_slab_sicOBS_omp = .true.
992  call getin('ok_slab_sicOBS', ok_slab_sicOBS_omp)
993
994
995!$OMP END MASTER
996!$OMP BARRIER
997
998    R_ecc = R_ecc_omp
999    R_peri = R_peri_omp
1000    R_incl = R_incl_omp
1001    solaire = solaire_omp
1002    co2_ppm = co2_ppm_omp
1003    RCO2 = RCO2_omp
1004    CH4_ppb = CH4_ppb_omp
1005    RCH4 = RCH4_omp
1006    N2O_ppb = N2O_ppb_omp
1007    RN2O = RN2O_omp
1008    CFC11_ppt = CFC11_ppt_omp
1009    RCFC11 = RCFC11_omp
1010    CFC12_ppt = CFC12_ppt_omp
1011    RCFC12 = RCFC12_omp
1012
1013    cycle_diurne = cycle_diurne_omp
1014    soil_model = soil_model_omp
1015    new_oliq = new_oliq_omp
1016    ok_orodr = ok_orodr_omp
1017    ok_orolf = ok_orolf_omp
1018    ok_limitvrai = ok_limitvrai_omp
1019    nbapp_rad = nbapp_rad_omp
1020    iflag_con = iflag_con_omp
1021
1022    epmax = epmax_omp
1023    ok_adj_ema = ok_adj_ema_omp
1024    iflag_clw = iflag_clw_omp
1025    cld_lc_lsc = cld_lc_lsc_omp
1026    cld_lc_con = cld_lc_con_omp
1027    cld_tau_lsc = cld_tau_lsc_omp
1028    cld_tau_con = cld_tau_con_omp
1029    ffallv_lsc = ffallv_lsc_omp
1030    ffallv_con = ffallv_con_omp
1031    coef_eva = coef_eva_omp
1032    reevap_ice = reevap_ice_omp
1033    iflag_pdf = iflag_pdf_omp
1034    solarlong0 = solarlong0_omp
1035    qsol0 = qsol0_omp
1036    inertie_sol = inertie_sol_omp
1037    inertie_ice = inertie_ice_omp
1038    inertie_sno = inertie_sno_omp
1039    rad_froid = rad_froid_omp
1040    rad_chau1 = rad_chau1_omp
1041    rad_chau2 = rad_chau2_omp
1042    top_height = top_height_omp
1043    overlap = overlap_omp
1044    cdmmax = cdmmax_omp
1045    cdhmax = cdhmax_omp
1046    ksta = ksta_omp
1047    ksta_ter = ksta_ter_omp
1048    ok_kzmin = ok_kzmin_omp
1049    fmagic = fmagic_omp
1050    pmagic = pmagic_omp
1051    iflag_pbl = iflag_pbl_omp
1052    lev_histhf = lev_histhf_omp
1053    lev_histday = lev_histday_omp
1054    lev_histmth = lev_histmth_omp
1055
1056    ocean = ocean_omp
1057    ok_veget = ok_veget_omp
1058    ok_newmicro = ok_newmicro_omp
1059    ok_journe = ok_journe_omp
1060    ok_hf = ok_hf_omp
1061    ok_mensuel = ok_mensuel_omp
1062    ok_instan = ok_instan_omp
1063    freq_ISCCP = freq_ISCCP_omp
1064    ecrit_ISCCP = ecrit_ISCCP_omp
1065    ok_ade = ok_ade_omp
1066    ok_aie = ok_aie_omp
1067    aerosol_couple = aerosol_couple_omp
1068    bl95_b0 = bl95_b0_omp
1069    bl95_b1 = bl95_b1_omp
1070    fact_cldcon = fact_cldcon_omp
1071    facttemps = facttemps_omp
1072    ratqsbas = ratqsbas_omp
1073    ratqshaut = ratqshaut_omp
1074    iflag_radia = iflag_radia_omp
1075    iflag_cldcon = iflag_cldcon_omp
1076    iflag_ratqs = iflag_ratqs_omp
1077    ip_ebil_phy = ip_ebil_phy_omp
1078    iflag_thermals = iflag_thermals_omp
1079    nsplit_thermals = nsplit_thermals_omp
1080    iflag_coupl = iflag_coupl_omp
1081    iflag_clos = iflag_clos_omp
1082    iflag_wake = iflag_wake_omp
1083    iflag_cvl_sigd = iflag_cvl_sigd_omp
1084    type_run = type_run_omp
1085    ok_isccp = ok_isccp_omp
1086    seuil_inversion=seuil_inversion_omp
1087    lonmin_ins = lonmin_ins_omp
1088    lonmax_ins = lonmax_ins_omp
1089    latmin_ins = latmin_ins_omp
1090    latmax_ins = latmax_ins_omp
1091    ecrit_hf   = ecrit_hf_omp
1092    ecrit_day = ecrit_day_omp
1093    ecrit_mth = ecrit_mth_omp
1094    ecrit_tra = ecrit_tra_omp
1095    ecrit_reg = ecrit_reg_omp
1096    ok_slab_sicOBS = ok_slab_sicOBS_omp
1097    cvl_corr = cvl_corr_omp
1098    ok_lic_melt = ok_lic_melt_omp
1099
1100!$OMP MASTER
1101
1102  write(numout,*)' ##############################################'
1103  write(numout,*)' Configuration des parametres de la physique: '
1104  write(numout,*)' Config ocean = ', ocean
1105  write(numout,*)' Config veget = ', ok_veget
1106  write(numout,*)' Sortie journaliere = ', ok_journe
1107  write(numout,*)' Sortie haute frequence = ', ok_hf
1108  write(numout,*)' Sortie mensuelle = ', ok_mensuel
1109  write(numout,*)' Sortie instantanee = ', ok_instan
1110  write(numout,*)' Frequence appel simulateur ISCCP, freq_ISCCP =', freq_ISCCP
1111  write(numout,*)' Frequence appel simulateur ISCCP, ecrit_ISCCP =', ecrit_ISCCP
1112  write(numout,*)' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy
1113  write(numout,*)' Excentricite = ',R_ecc
1114  write(numout,*)' Equinoxe = ',R_peri
1115  write(numout,*)' Inclinaison =',R_incl
1116  write(numout,*)' Constante solaire =',solaire
1117  write(numout,*)' co2_ppm =',co2_ppm
1118  write(numout,*)' RCO2 = ',RCO2
1119  write(numout,*)' CH4_ppb =',CH4_ppb,' RCH4 = ',RCH4
1120  write(numout,*)' N2O_ppb =',N2O_ppb,' RN2O =  ',RN2O
1121  write(numout,*)' CFC11_ppt=',CFC11_ppt,' RCFC11 =  ',RCFC11
1122  write(numout,*)' CFC12_ppt=',CFC12_ppt,' RCFC12 =  ',RCFC12
1123  write(numout,*)' cvl_corr=', cvl_corr
1124  write(numout,*)'ok_lic_melt=', ok_lic_melt
1125  write(numout,*)'cycle_diurne=',cycle_diurne
1126  write(numout,*)'soil_model=',soil_model
1127  write(numout,*)'new_oliq=',new_oliq
1128  write(numout,*)'ok_orodr=',ok_orodr
1129  write(numout,*)'ok_orolf=',ok_orolf
1130  write(numout,*)'ok_limitvrai=',ok_limitvrai
1131  write(numout,*)'nbapp_rad=',nbapp_rad
1132  write(numout,*)'iflag_con=',iflag_con
1133  write(numout,*)' epmax = ', epmax
1134  write(numout,*)' ok_adj_ema = ', ok_adj_ema
1135  write(numout,*)' iflag_clw = ', iflag_clw
1136  write(numout,*)' cld_lc_lsc = ', cld_lc_lsc
1137  write(numout,*)' cld_lc_con = ', cld_lc_con
1138  write(numout,*)' cld_tau_lsc = ', cld_tau_lsc
1139  write(numout,*)' cld_tau_con = ', cld_tau_con
1140  write(numout,*)' ffallv_lsc = ', ffallv_lsc
1141  write(numout,*)' ffallv_con = ', ffallv_con
1142  write(numout,*)' coef_eva = ', coef_eva
1143  write(numout,*)' reevap_ice = ', reevap_ice
1144  write(numout,*)' iflag_pdf = ', iflag_pdf
1145  write(numout,*)' iflag_cldcon = ', iflag_cldcon
1146  write(numout,*)' iflag_radia = ', iflag_radia
1147  write(numout,*)' iflag_ratqs = ', iflag_ratqs
1148  write(numout,*)' seuil_inversion = ', seuil_inversion
1149  write(numout,*)' fact_cldcon = ', fact_cldcon
1150  write(numout,*)' facttemps = ', facttemps
1151  write(numout,*)' ok_newmicro = ',ok_newmicro
1152  write(numout,*)' ratqsbas = ',ratqsbas
1153  write(numout,*)' ratqshaut = ',ratqshaut
1154  write(numout,*)' top_height = ',top_height
1155  write(numout,*)' overlap = ',overlap
1156  write(numout,*)' cdmmax = ',cdmmax
1157  write(numout,*)' cdhmax = ',cdhmax
1158  write(numout,*)' ksta = ',ksta
1159  write(numout,*)' ksta_ter = ',ksta_ter
1160  write(numout,*)' ok_kzmin = ',ok_kzmin
1161  write(numout,*)' fmagic = ',fmagic
1162  write(numout,*)' pmagic = ',pmagic
1163  write(numout,*)' ok_ade = ',ok_ade
1164  write(numout,*)' ok_aie = ',ok_aie
1165  write(numout,*)' aerosol_couple = ', aerosol_couple
1166  write(numout,*)' bl95_b0 = ',bl95_b0
1167  write(numout,*)' bl95_b1 = ',bl95_b1
1168  write(numout,*)' lev_histhf = ',lev_histhf
1169  write(numout,*)' lev_histday = ',lev_histday
1170  write(numout,*)' lev_histmth = ',lev_histmth
1171  write(numout,*)' iflag_pbl = ', iflag_pbl
1172  write(numout,*)' iflag_thermals = ', iflag_thermals
1173  write(numout,*)' type_run = ',type_run
1174  write(numout,*)' ok_isccp = ',ok_isccp
1175  WRITE(numout,*)' solarlong0 = ', solarlong0
1176  write(numout,*)' qsol0 = ', qsol0
1177  write(numout,*)' inertie_sol = ', inertie_sol
1178  write(numout,*)' inertie_ice = ', inertie_ice
1179  write(numout,*)' inertie_sno = ', inertie_sno
1180
1181  write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',&
1182 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
1183  write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP',&
1184 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP
1185
1186!$OMP END MASTER
1187
1188  return
1189 
1190  end subroutine conf_phys
1191
1192!
1193!#################################################################
1194!
1195
1196   subroutine conf_interface(tau_calv)
1197
1198   use IOIPSL
1199   implicit none
1200
1201! Configuration de l'interace atm/surf
1202!
1203! tau_calv:    temps de relaxation pour la fonte des glaciers
1204
1205  REAL          :: tau_calv
1206  REAL,SAVE     :: tau_calv_omp
1207
1208! Local
1209  integer              :: numout = 6
1210!
1211!Config Key  = tau_calv
1212!Config Desc = temps de relaxation pour fonte des glaciers en jours
1213!Config Def  = 1 an
1214!Config Help =
1215!
1216  tau_calv_omp = 360.*10.
1217!$OMP MASTER
1218  call getin('tau_calv',tau_calv_omp)
1219!$OMP END MASTER
1220!$OMP BARRIER
1221
1222  tau_calv=tau_calv_omp
1223 
1224!$OMP MASTER
1225  write(numout,*)' ##############################################'
1226  WRITE(numout,*)' Configuration de l''interface atm/surfaces  : '
1227  WRITE(numout,*)' tau_calv = ',tau_calv
1228!$OMP END MASTER
1229
1230  return
1231
1232  end subroutine conf_interface
Note: See TracBrowser for help on using the repository browser.