source: LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/conf_phys.F90 @ 1596

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

Mise a jour de la branche par rapport au depot CVS
JG/LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 24.9 KB
Line 
1!
2!
3!
4
5  subroutine conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, ok_hf, &
6 &                     fact_cldcon, facttemps,ok_newmicro,iflag_cldcon, &
7!IM&                   ratqsbas,ratqshaut,ip_ebil_phy, &
8 &                     ratqsbas,ratqshaut, &
9 &                     ok_ade, ok_aie, aerosol_couple, &
10 &                     bl95_b0, bl95_b1,&
11 &                     iflag_thermals,nsplit_thermals)
12
13   use IOIPSL
14   use surface_data, ONLY : version_ocean
15   implicit none
16
17 include "conema3.h"
18 include "fisrtilp.h"
19 include "nuage.h"
20 include "YOMCST.h"
21!IM : on inclut/initialise les taux de CH4, N2O, CFC11 et CFC12
22include "clesphys.h"
23include "compbl.h"
24include "control.h"
25!
26! Configuration de la "physique" de LMDZ a l'aide de la fonction
27! GETIN de IOIPSL
28!
29! LF 05/2001
30!
31
32!
33! ocean:      type d'ocean (force, slab, couple)
34! version_ocean:   version d'ocean (opa8/nemo pour ocean=couple)
35! ok_veget:   type de modele de vegetation
36! ok_journe:  sorties journalieres
37! ok_hf:  sorties haute frequence
38! ok_mensuel: sorties mensuelles
39! ok_instan:  sorties instantanees
40! ok_ade, ok_aie: apply or not aerosol direct and indirect effects
41! bl95_b*: parameters in the formula to link CDNC to aerosol mass conc
42!
43
44
45! Sortie:
46  character (len = 6)  :: ocean
47  logical              :: ok_veget, ok_newmicro
48  logical              :: ok_journe, ok_mensuel, ok_instan, ok_hf
49  LOGICAL              :: ok_ade, ok_aie, aerosol_couple
50  REAL                 :: bl95_b0, bl95_b1
51  real                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut
52  integer              :: iflag_cldcon
53
54  character (len = 6),SAVE  :: ocean_omp, version_ocean_omp
55  logical,SAVE              :: ok_veget_omp, ok_newmicro_omp
56  logical,SAVE        :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp       
57  LOGICAL,SAVE        :: ok_ade_omp, ok_aie_omp, aerosol_couple_omp
58  character (len = 8),SAVE  :: aer_type_omp
59  REAL,SAVE           :: bl95_b0_omp, bl95_b1_omp
60  REAL,SAVE           :: freq_ISCCP_omp, ecrit_ISCCP_omp
61  real,SAVE           :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp
62  real,SAVE           :: ratqshaut_omp
63  integer,SAVE        :: iflag_cldcon_omp, ip_ebil_phy_omp
64
65! Local
66  integer              :: numout = 6
67  real                 :: zzz
68
69  integer :: iflag_thermals,nsplit_thermals
70  integer,SAVE :: iflag_thermals_omp,nsplit_thermals_omp
71
72  REAL,SAVE :: R_ecc_omp,R_peri_omp,R_incl_omp,solaire_omp,co2_ppm_omp
73  REAL,SAVE :: RCO2_omp,CH4_ppb_omp,RCH4_omp,N2O_ppb_omp,RN2O_omp,CFC11_ppt_omp
74  REAL,SAVE :: RCFC11_omp,CFC12_ppt_omp,RCFC12_omp,epmax_omp
75  LOGICAL,SAVE :: ok_adj_ema_omp
76  INTEGER,SAVE :: iflag_clw_omp
77  REAL,SAVE :: cld_lc_lsc_omp,cld_lc_con_omp,cld_tau_lsc_omp,cld_tau_con_omp
78  REAL,SAVE :: ffallv_lsc_omp, ffallv_con_omp,coef_eva_omp
79  LOGICAL,SAVE :: reevap_ice_omp
80  INTEGER,SAVE :: iflag_pdf_omp
81  REAL,SAVE :: rad_froid_omp, rad_chau1_omp, rad_chau2_omp
82  INTEGER,SAVE :: top_height_omp,overlap_omp
83  REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp
84  LOGICAL,SAVE :: ok_kzmin_omp
85  REAL, SAVE ::  fmagic_omp, pmagic_omp
86  INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp
87  CHARACTER*4, SAVE :: type_run_omp
88  LOGICAL,SAVE :: ok_isccp_omp
89  REAL,SAVE :: lonmin_ins_omp, lonmax_ins_omp, latmin_ins_omp, latmax_ins_omp
90  REAL,SAVE :: ecrit_hf_omp, ecrit_day_omp, ecrit_mth_omp, ecrit_reg_omp
91  REAL,SAVE :: ecrit_tra_omp
92  LOGICAL, SAVE :: ok_slab_sicOBS_omp
93  REAL,SAVE :: cvl_corr_omp
94  LOGICAL,SAVE :: ok_lic_melt_omp
95!
96!
97!
98
99!$OMP MASTER
100!Config Key  = OCEAN
101!Config Desc = Type d'ocean
102!Config Def  = force
103!Config Help = Type d'ocean utilise: force, slab,couple
104!
105  ocean_omp = 'force '
106  call getin('OCEAN', ocean_omp)
107!
108!Config Key  = version_ocean
109!Config Desc = Version d'ocean
110!Config Def  = xxxxxx
111!Config Help = Version d'ocean utilise: opa8/nemo/xxxxxx
112!
113  version_ocean_omp = 'opa8'
114  call getin('version_ocean', version_ocean_omp)
115!
116!Config Key  = VEGET
117!Config Desc = Type de modele de vegetation
118!Config Def  = .false.
119!Config Help = Type de modele de vegetation utilise
120!
121  ok_veget_omp = .false.
122  call getin('VEGET', ok_veget_omp)
123!
124!Config Key  = OK_journe
125!Config Desc = Pour des sorties journalieres
126!Config Def  = .false.
127!Config Help = Pour creer le fichier histday contenant les sorties
128!              journalieres
129!
130  ok_journe_omp = .false.
131  call getin('OK_journe', ok_journe_omp)
132!
133!Config Key  = ok_hf
134!Config Desc = Pour des sorties haute frequence
135!Config Def  = .false.
136!Config Help = Pour creer le fichier histhf contenant les sorties
137!              haute frequence ( 3h ou 6h)
138!
139  ok_hf_omp = .false.
140  call getin('ok_hf', ok_hf_omp)
141!
142!Config Key  = OK_mensuel
143!Config Desc = Pour des sorties mensuelles
144!Config Def  = .true.
145!Config Help = Pour creer le fichier histmth contenant les sorties
146!              mensuelles
147!
148  ok_mensuel_omp = .true.
149  call getin('OK_mensuel', ok_mensuel_omp)
150!
151!Config Key  = OK_instan
152!Config Desc = Pour des sorties instantanees
153!Config Def  = .false.
154!Config Help = Pour creer le fichier histins contenant les sorties
155!              instantanees
156!
157  ok_instan_omp = .false.
158  call getin('OK_instan', ok_instan_omp)
159!
160!Config Key  = ok_ade
161!Config Desc = Aerosol direct effect or not?
162!Config Def  = .false.
163!Config Help = Used in radlwsw.F
164!
165  ok_ade_omp = .false.
166  call getin('ok_ade', ok_ade_omp)
167
168!
169!Config Key  = ok_aie
170!Config Desc = Aerosol indirect effect or not?
171!Config Def  = .false.
172!Config Help = Used in nuage.F and radlwsw.F
173!
174  ok_aie_omp = .false.
175  call getin('ok_aie', ok_aie_omp)
176
177
178!
179!Config Key  = aerosol_couple
180!Config Desc = read aerosol in file or calcul by inca
181!Config Def  = .false.
182!Config Help = Used in physiq.F
183!
184  aerosol_couple_omp = .false.
185  CALL getin('aerosol_couple',aerosol_couple_omp)
186
187!
188!Config Key  = aer_type
189!Config Desc = Use a constant field for the aerosols
190!Config Def  = scenario
191!Config Help = Used in readsulfate.F
192!
193  aer_type_omp = 'scenario'
194  call getin('aer_type', aer_type_omp)
195
196!
197!Config Key  = bl95_b0
198!Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
199!Config Def  = .false.
200!Config Help = Used in nuage.F
201!
202  bl95_b0_omp = 2.
203  call getin('bl95_b0', bl95_b0_omp)
204
205!Config Key  = bl95_b1
206!Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
207!Config Def  = .false.
208!Config Help = Used in nuage.F
209!
210  bl95_b1_omp = 0.2
211  call getin('bl95_b1', bl95_b1_omp)
212
213!Config Key  = freq_ISCCP
214!Config Desc = Frequence d'appel du simulateur ISCCP en secondes;
215!              par defaut 10800, i.e. 3 heures
216!Config Def  = 10800.
217!Config Help = Used in ini_histISCCP.h
218!
219  freq_ISCCP_omp = 10800.
220  call getin('freq_ISCCP', freq_ISCCP_omp)
221!
222!Config Key  = ecrit_ISCCP
223!Config Desc = Frequence d'ecriture des resultats du simulateur ISCCP en nombre de jours;
224!              par defaut 1., i.e. 1 jour
225!Config Def  = 1.
226!Config Help = Used in ini_histISCCP.h
227!
228!
229  ecrit_ISCCP_omp = 1.
230  call getin('ecrit_ISCCP', ecrit_ISCCP_omp)
231!
232!Config Key  = ip_ebil_phy
233!Config Desc = Niveau de sortie pour les diags bilan d'energie
234!Config Def  = 0
235!Config Help =
236!               
237!
238  ip_ebil_phy_omp = 0
239  call getin('ip_ebil_phy', ip_ebil_phy_omp)
240!!
241!! Constante solaire & Parametres orbitaux & taux gaz effet de serre BEG
242!!
243!Config Key  = R_ecc
244!Config Desc = Excentricite
245!Config Def  = 0.016715
246!Config Help =
247!               
248!valeur AMIP II
249  R_ecc_omp = 0.016715
250  call getin('R_ecc', R_ecc_omp)
251!!
252!Config Key  = R_peri
253!Config Desc = Equinoxe
254!Config Def  =
255!Config Help =
256!               
257!
258!valeur AMIP II
259  R_peri_omp = 102.7
260  call getin('R_peri', R_peri_omp)
261!!
262!Config Key  = R_incl
263!Config Desc = Inclinaison
264!Config Def  =
265!Config Help =
266!               
267!
268!valeur AMIP II
269  R_incl_omp = 23.441
270  call getin('R_incl', R_incl_omp)
271!!
272!Config Key  = solaire
273!Config Desc = Constante solaire en W/m2
274!Config Def  = 1365.
275!Config Help =
276!               
277!
278!valeur AMIP II
279  solaire_omp = 1365.
280  call getin('solaire', solaire_omp)
281!!
282!Config Key  = co2_ppm
283!Config Desc = concentration du gaz carbonique en ppmv
284!Config Def  = 348.
285!Config Help =
286!               
287!
288!valeur AMIP II
289  co2_ppm_omp = 348.
290  call getin('co2_ppm', co2_ppm_omp)
291!!
292!Config Key  = RCO2
293!Config Desc = Concentration du CO2
294!Config Def  = co2_ppm * 1.0e-06  * 44.011/28.97
295!Config Def  = 348. * 1.0e-06  * 44.011/28.97
296!Config Help =
297!               
298! RCO2 = 5.286789092164308E-04
299!ancienne valeur
300  RCO2_omp = co2_ppm_omp * 1.0e-06  * 44.011/28.97 ! pour co2_ppm=348.
301
302!!  call getin('RCO2', RCO2)
303!!
304!Config Key  = RCH4
305!Config Desc = Concentration du CH4
306!Config Def  = 1.65E-06* 16.043/28.97
307!Config Help =
308!               
309!
310!valeur AMIP II
311!OK  RCH4 = 1.65E-06* 16.043/28.97
312! RCH4 = 9.137366240938903E-07
313!
314!ancienne valeur
315! RCH4 = 1.72E-06* 16.043/28.97
316!OK call getin('RCH4', RCH4)
317  zzz = 1650.
318  call getin('CH4_ppb', zzz)
319  CH4_ppb_omp = zzz
320  RCH4_omp = CH4_ppb_omp * 1.0E-09 * 16.043/28.97
321!!
322!Config Key  = RN2O
323!Config Desc = Concentration du N2O
324!Config Def  = 306.E-09* 44.013/28.97
325!Config Help =
326!               
327!
328!valeur AMIP II
329!OK  RN2O = 306.E-09* 44.013/28.97
330! RN2O = 4.648939592682085E-07
331!
332!ancienne valeur
333! RN2O = 310.E-09* 44.013/28.97
334!OK  call getin('RN2O', RN2O)
335  zzz=306.
336  call getin('N2O_ppb', zzz)
337  N2O_ppb_omp = zzz
338  RN2O_omp = N2O_ppb_omp * 1.0E-09 * 44.013/28.97
339!!
340!Config Key  = RCFC11
341!Config Desc = Concentration du CFC11
342!Config Def  = 280.E-12* 137.3686/28.97
343!Config Help =
344!               
345!
346!OK RCFC11 = 280.E-12* 137.3686/28.97
347  zzz = 280.
348  call getin('CFC11_ppt',zzz)
349  CFC11_ppt_omp = zzz
350  RCFC11_omp=CFC11_ppt_omp* 1.0E-12 * 137.3686/28.97
351! RCFC11 = 1.327690990680013E-09
352!OK call getin('RCFC11', RCFC11)
353!!
354!Config Key  = RCFC12
355!Config Desc = Concentration du CFC12
356!Config Def  = 484.E-12* 120.9140/28.97
357!Config Help =
358!               
359!
360!OK RCFC12 = 484.E-12* 120.9140/28.97
361  zzz = 484.
362  call getin('CFC12_ppt',zzz)
363  CFC12_ppt_omp = zzz
364  RCFC12_omp = CFC12_ppt_omp * 1.0E-12 * 120.9140/28.97
365! RCFC12 = 2.020102726958923E-09
366!OK call getin('RCFC12', RCFC12)
367!!
368!! Constante solaire & Parametres orbitaux & taux gaz effet de serre END
369!!
370!! KE
371!
372
373!Config key  = cvl_corr
374!Config Desc = Facteur multiplication des precip convectives dans KE
375!Config Def  = 1.00
376!Config Help = 1.02 pour un moderne ou un pre-ind. A ajuster pour un glaciaire
377  cvl_corr_omp = 1.00
378  CALL getin('cvl_corr', cvl_corr_omp)
379
380
381!Config Key  = epmax
382!Config Desc = Efficacite precip
383!Config Def  = 0.993
384!Config Help =
385!
386  epmax_omp = .993
387  call getin('epmax', epmax_omp)
388!
389!Config Key  = ok_adj_ema
390!Config Desc = 
391!Config Def  = false
392!Config Help =
393!
394  ok_adj_ema_omp = .false.
395  call getin('ok_adj_ema',ok_adj_ema_omp)
396!
397!Config Key  = iflag_clw
398!Config Desc = 
399!Config Def  = 0
400!Config Help =
401!
402  iflag_clw_omp = 0
403  call getin('iflag_clw',iflag_clw_omp)
404!
405!Config Key  = cld_lc_lsc
406!Config Desc = 
407!Config Def  = 2.6e-4
408!Config Help =
409!
410  cld_lc_lsc_omp = 2.6e-4
411  call getin('cld_lc_lsc',cld_lc_lsc_omp)
412!
413!Config Key  = cld_lc_con
414!Config Desc = 
415!Config Def  = 2.6e-4
416!Config Help =
417!
418  cld_lc_con_omp = 2.6e-4
419  call getin('cld_lc_con',cld_lc_con_omp)
420!
421!Config Key  = cld_tau_lsc
422!Config Desc = 
423!Config Def  = 3600.
424!Config Help =
425!
426  cld_tau_lsc_omp = 3600.
427  call getin('cld_tau_lsc',cld_tau_lsc_omp)
428!
429!Config Key  = cld_tau_con
430!Config Desc = 
431!Config Def  = 3600.
432!Config Help =
433!
434  cld_tau_con_omp = 3600.
435  call getin('cld_tau_con',cld_tau_con_omp)
436!
437!Config Key  = ffallv_lsc
438!Config Desc = 
439!Config Def  = 1.
440!Config Help =
441!
442  ffallv_lsc_omp = 1.
443  call getin('ffallv_lsc',ffallv_lsc_omp)
444!
445!Config Key  = ffallv_con
446!Config Desc = 
447!Config Def  = 1.
448!Config Help =
449!
450  ffallv_con_omp = 1.
451  call getin('ffallv_con',ffallv_con_omp)
452!
453!Config Key  = coef_eva
454!Config Desc = 
455!Config Def  = 2.e-5
456!Config Help =
457!
458  coef_eva_omp = 2.e-5
459  call getin('coef_eva',coef_eva_omp)
460!
461!Config Key  = reevap_ice
462!Config Desc = 
463!Config Def  = .false.
464!Config Help =
465!
466  reevap_ice_omp = .false.
467  call getin('reevap_ice',reevap_ice_omp)
468!
469!Config Key  = iflag_cldcon
470!Config Desc = 
471!Config Def  = 1
472!Config Help =
473!
474  iflag_cldcon_omp = 1
475  call getin('iflag_cldcon',iflag_cldcon_omp)
476
477!
478!Config Key  = iflag_pdf
479!Config Desc = 
480!Config Def  = 0
481!Config Help =
482!
483  iflag_pdf_omp = 0
484  call getin('iflag_pdf',iflag_pdf_omp)
485!
486!Config Key  = fact_cldcon
487!Config Desc = 
488!Config Def  = 0.375
489!Config Help =
490!
491  fact_cldcon_omp = 0.375
492  call getin('fact_cldcon',fact_cldcon_omp)
493
494!
495!Config Key  = facttemps
496!Config Desc = 
497!Config Def  = 1.e-4
498!Config Help =
499!
500  facttemps_omp = 1.e-4
501  call getin('facttemps',facttemps_omp)
502
503!
504!Config Key  = ok_newmicro
505!Config Desc = 
506!Config Def  = .true.
507!Config Help =
508!
509  ok_newmicro_omp = .true.
510  call getin('ok_newmicro',ok_newmicro_omp)
511!
512!Config Key  = ratqsbas
513!Config Desc = 
514!Config Def  = 0.01
515!Config Help =
516!
517  ratqsbas_omp = 0.01
518  call getin('ratqsbas',ratqsbas_omp)
519!
520!Config Key  = ratqshaut
521!Config Desc = 
522!Config Def  = 0.3
523!Config Help =
524!
525  ratqshaut_omp = 0.3
526  call getin('ratqshaut',ratqshaut_omp)
527
528!
529!Config Key  = rad_froid
530!Config Desc = 
531!Config Def  = 35.0
532!Config Help =
533!
534  rad_froid_omp = 35.0
535  call getin('rad_froid',rad_froid_omp)
536
537!
538!Config Key  = rad_chau1
539!Config Desc = 
540!Config Def  = 13.0
541!Config Help =
542!
543  rad_chau1_omp = 13.0
544  call getin('rad_chau1',rad_chau1_omp)
545
546!
547!Config Key  = rad_chau2
548!Config Desc = 
549!Config Def  = 9.0
550!Config Help =
551!
552  rad_chau2_omp = 9.0
553  call getin('rad_chau2',rad_chau2_omp)
554
555!
556!Config Key  = top_height
557!Config Desc =
558!Config Def  = 3
559!Config Help =
560!
561  top_height_omp = 3
562  call getin('top_height',top_height_omp)
563
564!
565!Config Key  = overlap
566!Config Desc =
567!Config Def  = 3
568!Config Help =
569!
570  overlap_omp = 3
571  call getin('overlap',overlap_omp)
572
573
574!
575!
576!Config Key  = cdmmax
577!Config Desc =
578!Config Def  = 1.3E-3
579!Config Help =
580!
581  cdmmax_omp = 1.3E-3
582  call getin('cdmmax',cdmmax_omp)
583
584!
585!Config Key  = cdhmax
586!Config Desc =
587!Config Def  = 1.1E-3
588!Config Help =
589!
590  cdhmax_omp = 1.1E-3
591  call getin('cdhmax',cdhmax_omp)
592
593!261103
594!
595!Config Key  = ksta
596!Config Desc =
597!Config Def  = 1.0e-10
598!Config Help =
599!
600  ksta_omp = 1.0e-10
601  call getin('ksta',ksta_omp)
602
603!
604!Config Key  = ksta_ter
605!Config Desc =
606!Config Def  = 1.0e-10
607!Config Help =
608!
609  ksta_ter_omp = 1.0e-10
610  call getin('ksta_ter',ksta_ter_omp)
611
612!
613!Config Key  = ok_kzmin
614!Config Desc =
615!Config Def  = .true.
616!Config Help =
617!
618  ok_kzmin_omp = .true.
619  call getin('ok_kzmin',ok_kzmin_omp)
620
621!
622!Config Key  = fmagic
623!Config Desc = additionnal multiplicator factor used for albedo
624!Config Def  = 1.
625!Config Help = additionnal multiplicator factor used in albedo.F
626!
627  fmagic_omp = 1.
628  call getin('fmagic',fmagic_omp)
629
630!
631!Config Key  = pmagic
632!Config Desc = additional factor used for albedo
633!Config Def  = 0.
634!Config Help = additional factor used in albedo.F
635!
636  pmagic_omp = 0.
637  call getin('pmagic',pmagic_omp)
638
639
640!Config Key = ok_lic_melt
641!Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau
642!Config Def  = .false.
643!Config Help = mettre a .false. pour assurer la conservation en eau
644  ok_lic_melt_omp = .false.
645  call getin('ok_lic_melt', ok_lic_melt_omp)
646
647!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
648! PARAMETER FOR THE PLANETARY BOUNDARY LAYER
649!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
650
651!Config Key  = iflag_pbl
652!Config Desc =
653!Config Def  = 1
654!Config Help =
655!
656  iflag_pbl_omp = 1
657  call getin('iflag_pbl',iflag_pbl_omp)
658!
659!Config Key  = iflag_thermals
660!Config Desc =
661!Config Def  = 0
662!Config Help =
663!
664  iflag_thermals_omp = 0
665  call getin('iflag_thermals',iflag_thermals_omp)
666!
667!
668!Config Key  = nsplit_thermals
669!Config Desc =
670!Config Def  = 1
671!Config Help =
672!
673  nsplit_thermals_omp = 1
674  call getin('nsplit_thermals',nsplit_thermals_omp)
675
676
677
678!
679!Config Key  = lev_histhf
680!Config Desc =
681!Config Def  = 1
682!Config Help =
683!
684  lev_histhf_omp = 1
685  call getin('lev_histhf',lev_histhf_omp)
686
687!
688!Config Key  = lev_histday
689!Config Desc =
690!Config Def  = 1
691!Config Help =
692!
693  lev_histday_omp = 1
694  call getin('lev_histday',lev_histday_omp)
695
696!
697!Config Key  = lev_histmth
698!Config Desc =
699!Config Def  = 2
700!Config Help =
701!
702  lev_histmth_omp = 2
703  call getin('lev_histmth',lev_histmth_omp)
704
705  !
706!Config Key  = type_run
707!Config Desc =
708!Config Def  = 'AMIP'/'CFMIP'  ou 'CLIM'/'ENSP'
709!Config Help =
710!
711  type_run_omp = 'AMIP'
712  call getin('type_run',type_run_omp)
713
714!
715!Config Key  = ok_isccp
716!Config Desc =
717!Config Def  = .true.
718!Config Help =
719!
720! ok_isccp = .true.
721  ok_isccp_omp = .false.
722  call getin('ok_isccp',ok_isccp_omp)
723
724!
725! coordonnees (lonmin_ins, lonmax_ins, latmin_ins, latmax_ins) pour la zone
726! avec sorties instantannees tous les pas de temps de la physique => "histbilKP_ins.nc"
727!
728!Config Key  = lonmin_ins
729!Config Desc = 100. 
730!Config Def  = longitude minimale sorties "bilKP_ins"
731!Config Help =
732!
733   lonmin_ins_omp = 100.
734   call getin('lonmin_ins',lonmin_ins_omp)
735!
736!Config Key  = lonmax_ins
737!Config Desc = 130.
738!Config Def  = longitude maximale sorties "bilKP_ins"
739!Config Help =
740!
741   lonmax_ins = 130.
742   call getin('lonmax_ins',lonmax_ins_omp)
743!
744!Config Key  = latmin_ins
745!Config Desc = -20. 
746!Config Def  = latitude minimale sorties "bilKP_ins"
747!Config Help =
748!
749   latmin_ins_omp = -20.
750   call getin('latmin_ins',latmin_ins_omp)
751!
752!Config Key  = latmax_ins
753!Config Desc = 20.
754!Config Def  = latitude maximale sorties "bilKP_ins"
755!Config Help =
756!
757   latmax_ins_omp = 20.
758   call getin('latmax_ins',latmax_ins_omp)
759!
760!Config Key  = ecrit_hf
761!Config Desc =
762!Config Def  = 1./8. !toutes les 3h
763!Config Help =
764!
765  ecrit_hf_omp = 1./8.
766  call getin('ecrit_hf',ecrit_hf_omp)
767!
768!Config Key  = ecrit_day
769!Config Desc =
770!Config Def  = 1.0 !tous les jours
771!Config Help = nombre de jours pour ecriture fichier histday.nc
772!
773  ecrit_day_omp = 1.0
774  call getin('ecrit_day',ecrit_day_omp)
775!
776!Config Key  = ecrit_mth
777!Config Desc =
778!Config Def  = 30. !tous les 30jours (1 fois par mois)
779!Config Help =
780!
781  ecrit_mth_omp = 30.
782  call getin('ecrit_mth',ecrit_mth_omp)
783!
784!Config Key  = ecrit_tra
785!Config Desc =
786!Config Def  = 30. !tous les 30jours (1 fois par mois)
787!Config Help =
788!
789  ecrit_tra_omp = 30.
790  call getin('ecrit_tra',ecrit_tra_omp)
791!
792!Config Key  = ecrit_reg
793!Config Desc =
794!Config Def  = 0.25  !4 fois par jour
795!Config Help =
796!
797  ecrit_reg_omp = 0.25   !4 fois par jour
798  call getin('ecrit_reg',ecrit_reg_omp)
799!
800!
801!
802!Config Key  = ok_slab_sicOBS
803!Config Desc =
804!Config Def  = .true.
805!Config Help = Pour faire tourner le slab avec fraction
806!              de glace de mer Observee
807!
808  ok_slab_sicOBS_omp = .true.
809  call getin('ok_slab_sicOBS', ok_slab_sicOBS_omp)
810
811
812!$OMP END MASTER
813!$OMP BARRIER
814
815    R_ecc = R_ecc_omp
816    R_peri = R_peri_omp
817    R_incl = R_incl_omp
818    solaire = solaire_omp
819    co2_ppm = co2_ppm_omp
820    RCO2 = RCO2_omp
821    CH4_ppb = CH4_ppb_omp
822    RCH4 = RCH4_omp
823    N2O_ppb = N2O_ppb_omp
824    RN2O = RN2O_omp
825    CFC11_ppt = CFC11_ppt_omp
826    RCFC11 = RCFC11_omp
827    CFC12_ppt = CFC12_ppt_omp
828    RCFC12 = RCFC12_omp
829    epmax = epmax_omp
830    ok_adj_ema = ok_adj_ema_omp
831    iflag_clw = iflag_clw_omp
832    cld_lc_lsc = cld_lc_lsc_omp
833    cld_lc_con = cld_lc_con_omp
834    cld_tau_lsc = cld_tau_lsc_omp
835    cld_tau_con = cld_tau_con_omp
836    ffallv_lsc = ffallv_lsc_omp
837    ffallv_con = ffallv_con_omp
838    coef_eva = coef_eva_omp
839    reevap_ice = reevap_ice_omp
840    iflag_pdf = iflag_pdf_omp
841    rad_froid = rad_froid_omp
842    rad_chau1 = rad_chau1_omp
843    rad_chau2 = rad_chau2_omp
844    top_height = top_height_omp
845    overlap = overlap_omp
846    cdmmax = cdmmax_omp
847    cdhmax = cdhmax_omp
848    ksta = ksta_omp
849    ksta_ter = ksta_ter_omp
850    ok_kzmin = ok_kzmin_omp
851    fmagic = fmagic_omp
852    pmagic = pmagic_omp
853    iflag_pbl = iflag_pbl_omp
854    lev_histhf = lev_histhf_omp
855    lev_histday = lev_histday_omp
856    lev_histmth = lev_histmth_omp
857
858    ocean = ocean_omp
859    version_ocean = version_ocean_omp
860    ok_veget = ok_veget_omp
861    ok_newmicro = ok_newmicro_omp
862    ok_journe = ok_journe_omp
863    ok_hf = ok_hf_omp
864    ok_mensuel = ok_mensuel_omp
865    ok_instan = ok_instan_omp
866    freq_ISCCP = freq_ISCCP_omp
867    ecrit_ISCCP = ecrit_ISCCP_omp
868    ok_ade = ok_ade_omp
869    ok_aie = ok_aie_omp
870    aerosol_couple=aerosol_couple_omp
871    aer_type = aer_type_omp
872    bl95_b0 = bl95_b0_omp
873    bl95_b1 = bl95_b1_omp
874    fact_cldcon = fact_cldcon_omp
875    facttemps = facttemps_omp
876    ratqsbas = ratqsbas_omp
877    ratqshaut = ratqshaut_omp
878    iflag_cldcon = iflag_cldcon_omp
879    ip_ebil_phy = ip_ebil_phy_omp
880    iflag_thermals = iflag_thermals_omp
881    nsplit_thermals = nsplit_thermals_omp
882    type_run = type_run_omp
883    ok_isccp = ok_isccp_omp
884    lonmin_ins = lonmin_ins_omp
885    lonmax_ins = lonmax_ins_omp
886    latmin_ins = latmin_ins_omp
887    latmax_ins = latmax_ins_omp
888    ecrit_hf   = ecrit_hf_omp
889    ecrit_day = ecrit_day_omp
890    ecrit_mth = ecrit_mth_omp
891    ecrit_tra = ecrit_tra_omp
892    ecrit_reg = ecrit_reg_omp
893    ok_slab_sicOBS = ok_slab_sicOBS_omp
894    cvl_corr = cvl_corr_omp
895    ok_lic_melt = ok_lic_melt_omp
896
897! Test of coherence between ocean and version_ocean
898    IF (ocean=='couple' .AND. (version_ocean/='opa8' .AND. version_ocean/='nemo') ) THEN
899       WRITE(numout,*)' ERROR version_ocean=',version_ocean,' not valid in coupled configuration'
900       CALL abort_gcm('conf_phys','version_ocean not valid',1)
901    END IF
902
903!$OMP MASTER
904
905  write(numout,*)' ##############################################'
906  write(numout,*)' Configuration des parametres de la physique: '
907  write(numout,*)' Config ocean = ', ocean
908  write(numout,*)' Version ocean = ', version_ocean, ' (valable si config ocean=couple)'
909  write(numout,*)' Config veget = ', ok_veget
910  write(numout,*)' Sortie journaliere = ', ok_journe
911  write(numout,*)' Sortie haute frequence = ', ok_hf
912  write(numout,*)' Sortie mensuelle = ', ok_mensuel
913  write(numout,*)' Sortie instantanee = ', ok_instan
914  write(numout,*)' Frequence appel simulateur ISCCP, freq_ISCCP =', freq_ISCCP
915  write(numout,*)' Frequence appel simulateur ISCCP, ecrit_ISCCP =', ecrit_ISCCP
916  write(numout,*)' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy
917  write(numout,*)' Excentricite = ',R_ecc
918  write(numout,*)' Equinoxe = ',R_peri
919  write(numout,*)' Inclinaison =',R_incl
920  write(numout,*)' Constante solaire =',solaire
921  write(numout,*)' co2_ppm =',co2_ppm
922  write(numout,*)' RCO2 = ',RCO2
923  write(numout,*)' CH4_ppb =',CH4_ppb,' RCH4 = ',RCH4
924  write(numout,*)' N2O_ppb =',N2O_ppb,' RN2O =  ',RN2O
925  write(numout,*)' CFC11_ppt=',CFC11_ppt,' RCFC11 =  ',RCFC11
926  write(numout,*)' CFC12_ppt=',CFC12_ppt,' RCFC12 =  ',RCFC12
927  write(numout,*)' cvl_corr=', cvl_corr
928  write(numout,*)'ok_lic_melt=', ok_lic_melt
929  write(numout,*)' epmax = ', epmax
930  write(numout,*)' ok_adj_ema = ', ok_adj_ema
931  write(numout,*)' iflag_clw = ', iflag_clw
932  write(numout,*)' cld_lc_lsc = ', cld_lc_lsc
933  write(numout,*)' cld_lc_con = ', cld_lc_con
934  write(numout,*)' cld_tau_lsc = ', cld_tau_lsc
935  write(numout,*)' cld_tau_con = ', cld_tau_con
936  write(numout,*)' ffallv_lsc = ', ffallv_lsc
937  write(numout,*)' ffallv_con = ', ffallv_con
938  write(numout,*)' coef_eva = ', coef_eva
939  write(numout,*)' reevap_ice = ', reevap_ice
940  write(numout,*)' iflag_pdf = ', iflag_pdf
941  write(numout,*)' iflag_cldcon = ', iflag_cldcon
942  write(numout,*)' fact_cldcon = ', fact_cldcon
943  write(numout,*)' facttemps = ', facttemps
944  write(numout,*)' ok_newmicro = ',ok_newmicro
945  write(numout,*)' ratqsbas = ',ratqsbas
946  write(numout,*)' ratqshaut = ',ratqshaut
947  write(numout,*)' top_height = ',top_height
948  write(numout,*)' overlap = ',overlap
949  write(numout,*)' cdmmax = ',cdmmax
950  write(numout,*)' cdhmax = ',cdhmax
951  write(numout,*)' ksta = ',ksta
952  write(numout,*)' ksta_ter = ',ksta_ter
953  write(numout,*)' ok_kzmin = ',ok_kzmin
954  write(numout,*)' fmagic = ',fmagic
955  write(numout,*)' pmagic = ',pmagic
956  write(numout,*)' ok_ade = ',ok_ade
957  write(numout,*)' ok_aie = ',ok_aie
958  write(numout,*)' aerosol_couple = ', aerosol_couple
959  write(numout,*)' aer_type = ',aer_type
960  write(numout,*)' bl95_b0 = ',bl95_b0
961  write(numout,*)' bl95_b1 = ',bl95_b1
962  write(numout,*)' lev_histhf = ',lev_histhf
963  write(numout,*)' lev_histday = ',lev_histday
964  write(numout,*)' lev_histmth = ',lev_histmth
965  write(numout,*)' iflag_pbl = ', iflag_pbl
966  write(numout,*)' iflag_thermals = ', iflag_thermals
967  write(numout,*)' type_run = ',type_run
968  write(numout,*)' ok_isccp = ',ok_isccp
969  write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',&
970 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
971  write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP',&
972 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP
973
974!$OMP END MASTER
975
976  return
977 
978  end subroutine conf_phys
979
980!
981!#################################################################
982!
983
984   subroutine conf_interface(tau_calv)
985
986   use IOIPSL
987   implicit none
988
989! Configuration de l'interace atm/surf
990!
991! tau_calv:    temps de relaxation pour la fonte des glaciers
992
993  REAL          :: tau_calv
994  REAL,SAVE     :: tau_calv_omp
995
996! Local
997  integer              :: numout = 6
998!
999!Config Key  = tau_calv
1000!Config Desc = temps de relaxation pour fonte des glaciers en jours
1001!Config Def  = 1 an
1002!Config Help =
1003!
1004  tau_calv_omp = 360.*10.
1005!$OMP MASTER
1006  call getin('tau_calv',tau_calv_omp)
1007!$OMP END MASTER
1008!$OMP BARRIER
1009
1010  tau_calv=tau_calv_omp
1011 
1012!$OMP MASTER
1013  write(numout,*)' ##############################################'
1014  WRITE(numout,*)' Configuration de l''interface atm/surfaces  : '
1015  WRITE(numout,*)' tau_calv = ',tau_calv
1016!$OMP END MASTER
1017
1018  return
1019
1020  end subroutine conf_interface
Note: See TracBrowser for help on using the repository browser.