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

Last change on this file since 883 was 883, checked in by Laurent Fairhead, 17 years ago

modifications pour faire de l'aquaplanète FH
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 26.8 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,qsol0,seuil_inversion, &
9 &                     fact_cldcon, facttemps,ok_newmicro,iflag_radia,&
10 &                     iflag_cldcon, &
11 &                     iflag_ratqs,ratqsbas,ratqshaut, &
12 &                     ok_ade, ok_aie, &
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
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
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      :: qsol0
98  REAL,SAVE :: qsol0_omp
99  REAL      :: solarlong0
100  REAL,SAVE :: solarlong0_omp
101  INTEGER,SAVE :: top_height_omp,overlap_omp
102  REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp
103  LOGICAL,SAVE :: ok_kzmin_omp
104  REAL, SAVE :: fmagic_omp
105  INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp
106  CHARACTER*4, SAVE :: type_run_omp
107  LOGICAL,SAVE :: ok_isccp_omp
108  REAL,SAVE :: lonmin_ins_omp, lonmax_ins_omp, latmin_ins_omp, latmax_ins_omp
109  REAL,SAVE :: ecrit_hf_omp, ecrit_day_omp, ecrit_mth_omp, ecrit_reg_omp
110  REAL,SAVE :: ecrit_tra_omp
111  LOGICAL, SAVE :: ok_slab_sicOBS_omp
112  REAL,SAVE :: cvl_corr_omp
113  LOGICAL,SAVE :: ok_lic_melt_omp
114!
115!
116!
117
118!$OMP MASTER
119!Config Key  = OCEAN
120!Config Desc = Type d'ocean
121!Config Def  = force
122!Config Help = Type d'ocean utilise: force, slab,couple
123!
124  ocean_omp = 'force '
125  call getin('OCEAN', ocean_omp)
126!
127!Config Key  = VEGET
128!Config Desc = Type de modele de vegetation
129!Config Def  = .false.
130!Config Help = Type de modele de vegetation utilise
131!
132  ok_veget_omp = .false.
133  call getin('VEGET', ok_veget_omp)
134!
135!Config Key  = OK_journe
136!Config Desc = Pour des sorties journalieres
137!Config Def  = .false.
138!Config Help = Pour creer le fichier histday contenant les sorties
139!              journalieres
140!
141  ok_journe_omp = .false.
142  call getin('OK_journe', ok_journe_omp)
143!
144!Config Key  = ok_hf
145!Config Desc = Pour des sorties haute frequence
146!Config Def  = .false.
147!Config Help = Pour creer le fichier histhf contenant les sorties
148!              haute frequence ( 3h ou 6h)
149!
150  ok_hf_omp = .false.
151  call getin('ok_hf', ok_hf_omp)
152!
153!Config Key  = OK_mensuel
154!Config Desc = Pour des sorties mensuelles
155!Config Def  = .true.
156!Config Help = Pour creer le fichier histmth contenant les sorties
157!              mensuelles
158!
159  ok_mensuel_omp = .true.
160  call getin('OK_mensuel', ok_mensuel_omp)
161!
162!Config Key  = OK_instan
163!Config Desc = Pour des sorties instantanees
164!Config Def  = .false.
165!Config Help = Pour creer le fichier histins contenant les sorties
166!              instantanees
167!
168  ok_instan_omp = .false.
169  call getin('OK_instan', ok_instan_omp)
170!
171!Config Key  = ok_ade
172!Config Desc = Aerosol direct effect or not?
173!Config Def  = .false.
174!Config Help = Used in radlwsw.F
175!
176  ok_ade_omp = .false.
177  call getin('ok_ade', ok_ade_omp)
178
179!
180!Config Key  = ok_aie
181!Config Desc = Aerosol indirect effect or not?
182!Config Def  = .false.
183!Config Help = Used in nuage.F and radlwsw.F
184!
185  ok_aie_omp = .false.
186  call getin('ok_aie', ok_aie_omp)
187
188!
189!Config Key  = bl95_b0
190!Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
191!Config Def  = .false.
192!Config Help = Used in nuage.F
193!
194  bl95_b0_omp = 2.
195  call getin('bl95_b0', bl95_b0_omp)
196
197!Config Key  = bl95_b1
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_b1_omp = 0.2
203  call getin('bl95_b1', bl95_b1_omp)
204
205!Config Key  = freq_ISCCP
206!Config Desc = Frequence d'appel du simulateur ISCCP en secondes;
207!              par defaut 10800, i.e. 3 heures
208!Config Def  = 10800.
209!Config Help = Used in ini_histISCCP.h
210!
211  freq_ISCCP_omp = 10800.
212  call getin('freq_ISCCP', freq_ISCCP_omp)
213!
214!Config Key  = ecrit_ISCCP
215!Config Desc = Frequence d'ecriture des resultats du simulateur ISCCP en nombre de jours;
216!              par defaut 1., i.e. 1 jour
217!Config Def  = 1.
218!Config Help = Used in ini_histISCCP.h
219!
220!
221  ecrit_ISCCP_omp = 1.
222  call getin('ecrit_ISCCP', ecrit_ISCCP_omp)
223!
224!Config Key  = ip_ebil_phy
225!Config Desc = Niveau de sortie pour les diags bilan d'energie
226!Config Def  = 0
227!Config Help =
228!               
229  ip_ebil_phy_omp = 0
230  call getin('ip_ebil_phy', ip_ebil_phy_omp)
231!
232!Config Key  = seuil_inversion
233!Config Desc = Seuil ur dTh pour le choix entre les schemas de CL
234!Config Def  = -0.1
235!Config Help =
236!               
237  seuil_inversion_omp = -0.1
238  call getin('seuil_inversion', seuil_inversion_omp)
239
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_ratqs
470!Config Desc =
471!Config Def  = 1
472!Config Help =
473!
474  iflag_ratqs_omp = 1
475  call getin('iflag_ratqs',iflag_ratqs_omp)
476
477!
478!Config Key  = iflag_radia
479!Config Desc = 
480!Config Def  = 1
481!Config Help =
482!
483  iflag_radia_omp = 1
484  call getin('iflag_radia',iflag_radia_omp)
485
486!Config Key  = iflag_cldcon
487!Config Desc = 
488!Config Def  = 1
489!Config Help =
490!
491  iflag_cldcon_omp = 1
492  call getin('iflag_cldcon',iflag_cldcon_omp)
493
494!
495!Config Key  = iflag_pdf
496!Config Desc = 
497!Config Def  = 0
498!Config Help =
499!
500  iflag_pdf_omp = 0
501  call getin('iflag_pdf',iflag_pdf_omp)
502!
503!Config Key  = fact_cldcon
504!Config Desc = 
505!Config Def  = 0.375
506!Config Help =
507!
508  fact_cldcon_omp = 0.375
509  call getin('fact_cldcon',fact_cldcon_omp)
510
511!
512!Config Key  = facttemps
513!Config Desc = 
514!Config Def  = 1.e-4
515!Config Help =
516!
517  facttemps_omp = 1.e-4
518  call getin('facttemps',facttemps_omp)
519
520!
521!Config Key  = ok_newmicro
522!Config Desc = 
523!Config Def  = .true.
524!Config Help =
525!
526  ok_newmicro_omp = .true.
527  call getin('ok_newmicro',ok_newmicro_omp)
528!
529!Config Key  = ratqsbas
530!Config Desc = 
531!Config Def  = 0.01
532!Config Help =
533!
534  ratqsbas_omp = 0.01
535  call getin('ratqsbas',ratqsbas_omp)
536!
537!Config Key  = ratqshaut
538!Config Desc = 
539!Config Def  = 0.3
540!Config Help =
541!
542  ratqshaut_omp = 0.3
543  call getin('ratqshaut',ratqshaut_omp)
544
545!
546!-----------------------------------------------------------------------
547! Longitude solaire pour le calcul de l'ensoleillement en degre
548! si on veut imposer la saison. Sinon, solarlong0=-999.999
549!Config Key  = solarlong0
550!Config Desc = 
551!Config Def  = -999.999
552!Config Help =
553!
554  solarlong0_omp = -999.999
555  call getin('solarlong0',solarlong0_omp)
556!
557!-----------------------------------------------------------------------
558!  Valeur imposee de l'humidite du sol pour le modele bucket.
559!Config Key  = qsol0
560!Config Desc = 
561!Config Def  = -1.
562!Config Help =
563!
564  qsol0_omp = -1.
565  call getin('qsol0',qsol0_omp)
566!
567!-----------------------------------------------------------------------
568!
569!Config Key  = inertie_ice
570!Config Desc = 
571!Config Def  = 2000.
572!Config Help =
573!
574  inertie_ice_omp = 2000.
575  call getin('inertie_ice',inertie_ice_omp)
576!
577!Config Key  = inertie_sno
578!Config Desc = 
579!Config Def  = 2000.
580!Config Help =
581!
582  inertie_sno_omp = 2000.
583  call getin('inertie_sno',inertie_sno_omp)
584!
585!Config Key  = inertie_sol
586!Config Desc = 
587!Config Def  = 2000.
588!Config Help =
589!
590  inertie_sol_omp = 2000.
591  call getin('inertie_sol',inertie_sol_omp)
592
593!
594!Config Key  = rad_froid
595!Config Desc = 
596!Config Def  = 35.0
597!Config Help =
598!
599  rad_froid_omp = 35.0
600  call getin('rad_froid',rad_froid_omp)
601
602!
603!Config Key  = rad_chau1
604!Config Desc = 
605!Config Def  = 13.0
606!Config Help =
607!
608  rad_chau1_omp = 13.0
609  call getin('rad_chau1',rad_chau1_omp)
610
611!
612!Config Key  = rad_chau2
613!Config Desc = 
614!Config Def  = 9.0
615!Config Help =
616!
617  rad_chau2_omp = 9.0
618  call getin('rad_chau2',rad_chau2_omp)
619
620!
621!Config Key  = top_height
622!Config Desc =
623!Config Def  = 3
624!Config Help =
625!
626  top_height_omp = 3
627  call getin('top_height',top_height_omp)
628
629!
630!Config Key  = overlap
631!Config Desc =
632!Config Def  = 3
633!Config Help =
634!
635  overlap_omp = 3
636  call getin('overlap',overlap_omp)
637
638
639!
640!
641!Config Key  = cdmmax
642!Config Desc =
643!Config Def  = 1.3E-3
644!Config Help =
645!
646  cdmmax_omp = 1.3E-3
647  call getin('cdmmax',cdmmax_omp)
648
649!
650!Config Key  = cdhmax
651!Config Desc =
652!Config Def  = 1.1E-3
653!Config Help =
654!
655  cdhmax_omp = 1.1E-3
656  call getin('cdhmax',cdhmax_omp)
657
658!261103
659!
660!Config Key  = ksta
661!Config Desc =
662!Config Def  = 1.0e-10
663!Config Help =
664!
665  ksta_omp = 1.0e-10
666  call getin('ksta',ksta_omp)
667
668!
669!Config Key  = ksta_ter
670!Config Desc =
671!Config Def  = 1.0e-10
672!Config Help =
673!
674  ksta_ter_omp = 1.0e-10
675  call getin('ksta_ter',ksta_ter_omp)
676
677!
678!Config Key  = ok_kzmin
679!Config Desc =
680!Config Def  = .true.
681!Config Help =
682!
683  ok_kzmin_omp = .true.
684  call getin('ok_kzmin',ok_kzmin_omp)
685
686!
687!Config Key  = fmagic
688!Config Desc =
689!Config Def  = 1.
690!Config Help = Used in albedo.F
691!
692  fmagic_omp = 1.
693  call getin('fmagic',fmagic_omp)
694
695!Config Key = ok_lic_melt
696!Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau
697!Config Def  = .false.
698!Config Help = mettre a .false. pour assurer la conservation en eau
699  ok_lic_melt_omp = .false.
700  call getin('ok_lic_melt', ok_lic_melt_omp)
701
702!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
703! PARAMETER FOR THE PLANETARY BOUNDARY LAYER
704!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
705
706!Config Key  = iflag_pbl
707!Config Desc =
708!Config Def  = 1
709!Config Help =
710!
711  iflag_pbl_omp = 1
712  call getin('iflag_pbl',iflag_pbl_omp)
713!
714!Config Key  = iflag_thermals
715!Config Desc =
716!Config Def  = 0
717!Config Help =
718!
719  iflag_thermals_omp = 0
720  call getin('iflag_thermals',iflag_thermals_omp)
721!
722!
723!Config Key  = nsplit_thermals
724!Config Desc =
725!Config Def  = 1
726!Config Help =
727!
728  nsplit_thermals_omp = 1
729  call getin('nsplit_thermals',nsplit_thermals_omp)
730
731!
732!Config Key  = iflag_coupl
733!Config Desc =
734!Config Def  = 0
735!Config Help =
736!
737  iflag_coupl = 0
738  call getin('iflag_coupl',iflag_coupl_omp)
739
740!
741!Config Key  = iflag_clos
742!Config Desc = 
743!Config Def  = 0
744!Config Help =
745!
746  iflag_clos = 1
747  call getin('iflag_clos',iflag_clos_omp)
748!
749!Config Key  = iflag_cvl_sigd
750!Config Desc = 
751!Config Def  = 0
752!Config Help =
753!
754  iflag_cvl_sigd = 0
755  call getin('iflag_cvl_sigd',iflag_cvl_sigd_omp)
756
757!Config Key  = iflag_wake
758!Config Desc = 
759!Config Def  = 0
760!Config Help =
761!
762  iflag_wake = 0
763  call getin('iflag_wake',iflag_wake_omp)
764
765!
766!Config Key  = lev_histhf
767!Config Desc =
768!Config Def  = 1
769!Config Help =
770!
771  lev_histhf_omp = 1
772  call getin('lev_histhf',lev_histhf_omp)
773
774!
775!Config Key  = lev_histday
776!Config Desc =
777!Config Def  = 1
778!Config Help =
779!
780  lev_histday_omp = 1
781  call getin('lev_histday',lev_histday_omp)
782
783!
784!Config Key  = lev_histmth
785!Config Desc =
786!Config Def  = 2
787!Config Help =
788!
789  lev_histmth_omp = 2
790  call getin('lev_histmth',lev_histmth_omp)
791
792  !
793!Config Key  = type_run
794!Config Desc =
795!Config Def  = 'AMIP'/'CFMIP'  ou 'CLIM'/'ENSP'
796!Config Help =
797!
798  type_run_omp = 'AMIP'
799  call getin('type_run',type_run_omp)
800
801!
802!Config Key  = ok_isccp
803!Config Desc =
804!Config Def  = .true.
805!Config Help =
806!
807! ok_isccp = .true.
808  ok_isccp_omp = .false.
809  call getin('ok_isccp',ok_isccp_omp)
810
811!
812! coordonnees (lonmin_ins, lonmax_ins, latmin_ins, latmax_ins) pour la zone
813! avec sorties instantannees tous les pas de temps de la physique => "histbilKP_ins.nc"
814!
815!Config Key  = lonmin_ins
816!Config Desc = 100. 
817!Config Def  = longitude minimale sorties "bilKP_ins"
818!Config Help =
819!
820   lonmin_ins_omp = 100.
821   call getin('lonmin_ins',lonmin_ins_omp)
822!
823!Config Key  = lonmax_ins
824!Config Desc = 130.
825!Config Def  = longitude maximale sorties "bilKP_ins"
826!Config Help =
827!
828   lonmax_ins = 130.
829   call getin('lonmax_ins',lonmax_ins_omp)
830!
831!Config Key  = latmin_ins
832!Config Desc = -20. 
833!Config Def  = latitude minimale sorties "bilKP_ins"
834!Config Help =
835!
836   latmin_ins_omp = -20.
837   call getin('latmin_ins',latmin_ins_omp)
838!
839!Config Key  = latmax_ins
840!Config Desc = 20.
841!Config Def  = latitude maximale sorties "bilKP_ins"
842!Config Help =
843!
844   latmax_ins_omp = 20.
845   call getin('latmax_ins',latmax_ins_omp)
846!
847!Config Key  = ecrit_hf
848!Config Desc =
849!Config Def  = 1./8. !toutes les 3h
850!Config Help =
851!
852  ecrit_hf_omp = 1./8.
853  call getin('ecrit_hf',ecrit_hf_omp)
854!
855!Config Key  = ecrit_day
856!Config Desc =
857!Config Def  = 1.0 !tous les jours
858!Config Help = nombre de jours pour ecriture fichier histday.nc
859!
860  ecrit_day_omp = 1.0
861  call getin('ecrit_day',ecrit_day_omp)
862!
863!Config Key  = ecrit_mth
864!Config Desc =
865!Config Def  = 30. !tous les 30jours (1 fois par mois)
866!Config Help =
867!
868  ecrit_mth_omp = 30.
869  call getin('ecrit_mth',ecrit_mth_omp)
870!
871!Config Key  = ecrit_tra
872!Config Desc =
873!Config Def  = 30. !tous les 30jours (1 fois par mois)
874!Config Help =
875!
876  ecrit_tra_omp = 30.
877  call getin('ecrit_tra',ecrit_tra_omp)
878!
879!Config Key  = ecrit_reg
880!Config Desc =
881!Config Def  = 0.25  !4 fois par jour
882!Config Help =
883!
884  ecrit_reg_omp = 0.25   !4 fois par jour
885  call getin('ecrit_reg',ecrit_reg_omp)
886!
887!
888!
889!Config Key  = ok_slab_sicOBS
890!Config Desc =
891!Config Def  = .true.
892!Config Help = Pour faire tourner le slab avec fraction
893!              de glace de mer Observee
894!
895  ok_slab_sicOBS_omp = .true.
896  call getin('ok_slab_sicOBS', ok_slab_sicOBS_omp)
897
898
899!$OMP END MASTER
900!$OMP BARRIER
901
902    R_ecc = R_ecc_omp
903    R_peri = R_peri_omp
904    R_incl = R_incl_omp
905    solaire = solaire_omp
906    co2_ppm = co2_ppm_omp
907    RCO2 = RCO2_omp
908    CH4_ppb = CH4_ppb_omp
909    RCH4 = RCH4_omp
910    N2O_ppb = N2O_ppb_omp
911    RN2O = RN2O_omp
912    CFC11_ppt = CFC11_ppt_omp
913    RCFC11 = RCFC11_omp
914    CFC12_ppt = CFC12_ppt_omp
915    RCFC12 = RCFC12_omp
916    epmax = epmax_omp
917    ok_adj_ema = ok_adj_ema_omp
918    iflag_clw = iflag_clw_omp
919    cld_lc_lsc = cld_lc_lsc_omp
920    cld_lc_con = cld_lc_con_omp
921    cld_tau_lsc = cld_tau_lsc_omp
922    cld_tau_con = cld_tau_con_omp
923    ffallv_lsc = ffallv_lsc_omp
924    ffallv_con = ffallv_con_omp
925    coef_eva = coef_eva_omp
926    reevap_ice = reevap_ice_omp
927    iflag_pdf = iflag_pdf_omp
928    solarlong0 = solarlong0_omp
929    qsol0 = qsol0_omp
930    inertie_sol = inertie_sol_omp
931    inertie_ice = inertie_ice_omp
932    inertie_sno = inertie_sno_omp
933    rad_froid = rad_froid_omp
934    rad_chau1 = rad_chau1_omp
935    rad_chau2 = rad_chau2_omp
936    top_height = top_height_omp
937    overlap = overlap_omp
938    cdmmax = cdmmax_omp
939    cdhmax = cdhmax_omp
940    ksta = ksta_omp
941    ksta_ter = ksta_ter_omp
942    ok_kzmin = ok_kzmin_omp
943    fmagic = fmagic_omp
944    iflag_pbl = iflag_pbl_omp
945    lev_histhf = lev_histhf_omp
946    lev_histday = lev_histday_omp
947    lev_histmth = lev_histmth_omp
948
949    ocean = ocean_omp
950    ok_veget = ok_veget_omp
951    ok_newmicro = ok_newmicro_omp
952    ok_journe = ok_journe_omp
953    ok_hf = ok_hf_omp
954    ok_mensuel = ok_mensuel_omp
955    ok_instan = ok_instan_omp
956    freq_ISCCP = freq_ISCCP_omp
957    ecrit_ISCCP = ecrit_ISCCP_omp
958    ok_ade = ok_ade_omp
959    ok_aie = ok_aie_omp
960    bl95_b0 = bl95_b0_omp
961    bl95_b1 = bl95_b1_omp
962    fact_cldcon = fact_cldcon_omp
963    facttemps = facttemps_omp
964    ratqsbas = ratqsbas_omp
965    ratqshaut = ratqshaut_omp
966    iflag_radia = iflag_radia_omp
967    iflag_cldcon = iflag_cldcon_omp
968    iflag_ratqs = iflag_ratqs_omp
969    ip_ebil_phy = ip_ebil_phy_omp
970    iflag_thermals = iflag_thermals_omp
971    nsplit_thermals = nsplit_thermals_omp
972    iflag_coupl = iflag_coupl_omp
973    iflag_clos = iflag_clos_omp
974    iflag_wake = iflag_wake_omp
975    iflag_cvl_sigd = iflag_cvl_sigd_omp
976    type_run = type_run_omp
977    ok_isccp = ok_isccp_omp
978    seuil_inversion=seuil_inversion_omp
979    lonmin_ins = lonmin_ins_omp
980    lonmax_ins = lonmax_ins_omp
981    latmin_ins = latmin_ins_omp
982    latmax_ins = latmax_ins_omp
983    ecrit_hf   = ecrit_hf_omp
984    ecrit_day = ecrit_day_omp
985    ecrit_mth = ecrit_mth_omp
986    ecrit_tra = ecrit_tra_omp
987    ecrit_reg = ecrit_reg_omp
988    ok_slab_sicOBS = ok_slab_sicOBS_omp
989    cvl_corr = cvl_corr_omp
990    ok_lic_melt = ok_lic_melt_omp
991
992!$OMP MASTER
993
994  write(numout,*)' ##############################################'
995  write(numout,*)' Configuration des parametres de la physique: '
996  write(numout,*)' Config ocean = ', ocean
997  write(numout,*)' Config veget = ', ok_veget
998  write(numout,*)' Sortie journaliere = ', ok_journe
999  write(numout,*)' Sortie haute frequence = ', ok_hf
1000  write(numout,*)' Sortie mensuelle = ', ok_mensuel
1001  write(numout,*)' Sortie instantanee = ', ok_instan
1002  write(numout,*)' Frequence appel simulateur ISCCP, freq_ISCCP =', freq_ISCCP
1003  write(numout,*)' Frequence appel simulateur ISCCP, ecrit_ISCCP =', ecrit_ISCCP
1004  write(numout,*)' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy
1005  write(numout,*)' Excentricite = ',R_ecc
1006  write(numout,*)' Equinoxe = ',R_peri
1007  write(numout,*)' Inclinaison =',R_incl
1008  write(numout,*)' Constante solaire =',solaire
1009  write(numout,*)' co2_ppm =',co2_ppm
1010  write(numout,*)' RCO2 = ',RCO2
1011  write(numout,*)' CH4_ppb =',CH4_ppb,' RCH4 = ',RCH4
1012  write(numout,*)' N2O_ppb =',N2O_ppb,' RN2O =  ',RN2O
1013  write(numout,*)' CFC11_ppt=',CFC11_ppt,' RCFC11 =  ',RCFC11
1014  write(numout,*)' CFC12_ppt=',CFC12_ppt,' RCFC12 =  ',RCFC12
1015  write(numout,*)' cvl_corr=', cvl_corr
1016  write(numout,*)'ok_lic_melt=', ok_lic_melt
1017  write(numout,*)' epmax = ', epmax
1018  write(numout,*)' ok_adj_ema = ', ok_adj_ema
1019  write(numout,*)' iflag_clw = ', iflag_clw
1020  write(numout,*)' cld_lc_lsc = ', cld_lc_lsc
1021  write(numout,*)' cld_lc_con = ', cld_lc_con
1022  write(numout,*)' cld_tau_lsc = ', cld_tau_lsc
1023  write(numout,*)' cld_tau_con = ', cld_tau_con
1024  write(numout,*)' ffallv_lsc = ', ffallv_lsc
1025  write(numout,*)' ffallv_con = ', ffallv_con
1026  write(numout,*)' coef_eva = ', coef_eva
1027  write(numout,*)' reevap_ice = ', reevap_ice
1028  write(numout,*)' iflag_pdf = ', iflag_pdf
1029  write(numout,*)' iflag_cldcon = ', iflag_cldcon
1030  write(numout,*)' iflag_radia = ', iflag_radia
1031  write(numout,*)' iflag_ratqs = ', iflag_ratqs
1032  write(numout,*)' seuil_inversion = ', seuil_inversion
1033  write(numout,*)' fact_cldcon = ', fact_cldcon
1034  write(numout,*)' facttemps = ', facttemps
1035  write(numout,*)' ok_newmicro = ',ok_newmicro
1036  write(numout,*)' ratqsbas = ',ratqsbas
1037  write(numout,*)' ratqshaut = ',ratqshaut
1038  write(numout,*)' top_height = ',top_height
1039  write(numout,*)' overlap = ',overlap
1040  write(numout,*)' cdmmax = ',cdmmax
1041  write(numout,*)' cdhmax = ',cdhmax
1042  write(numout,*)' ksta = ',ksta
1043  write(numout,*)' ksta_ter = ',ksta_ter
1044  write(numout,*)' ok_kzmin = ',ok_kzmin
1045  write(numout,*)' fmagic = ',fmagic
1046  write(numout,*)' ok_ade = ',ok_ade
1047  write(numout,*)' ok_aie = ',ok_aie
1048  write(numout,*)' bl95_b0 = ',bl95_b0
1049  write(numout,*)' bl95_b1 = ',bl95_b1
1050  write(numout,*)' lev_histhf = ',lev_histhf
1051  write(numout,*)' lev_histday = ',lev_histday
1052  write(numout,*)' lev_histmth = ',lev_histmth
1053  write(numout,*)' iflag_pbl = ', iflag_pbl
1054  write(numout,*)' iflag_thermals = ', iflag_thermals
1055  write(numout,*)' type_run = ',type_run
1056  write(numout,*)' ok_isccp = ',ok_isccp
1057  WRITE(numout,*)' solarlong0 = ', solarlong0
1058  write(numout,*)' qsol0 = ', qsol0
1059  write(numout,*)' inertie_sol = ', inertie_sol
1060  write(numout,*)' inertie_ice = ', inertie_ice
1061  write(numout,*)' inertie_sno = ', inertie_sno
1062
1063  write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',&
1064 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
1065  write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP',&
1066 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP
1067
1068!$OMP END MASTER
1069
1070  return
1071 
1072  end subroutine conf_phys
1073
1074!
1075!#################################################################
1076!
1077
1078   subroutine conf_interface(tau_calv)
1079
1080   use IOIPSL
1081   implicit none
1082
1083! Configuration de l'interace atm/surf
1084!
1085! tau_calv:    temps de relaxation pour la fonte des glaciers
1086
1087  REAL          :: tau_calv
1088  REAL,SAVE     :: tau_calv_omp
1089
1090! Local
1091  integer              :: numout = 6
1092!
1093!Config Key  = tau_calv
1094!Config Desc = temps de relaxation pour fonte des glaciers en jours
1095!Config Def  = 1 an
1096!Config Help =
1097!
1098  tau_calv_omp = 360.*10.
1099!$OMP MASTER
1100  call getin('tau_calv',tau_calv_omp)
1101!$OMP END MASTER
1102!$OMP BARRIER
1103
1104  tau_calv=tau_calv_omp
1105 
1106!$OMP MASTER
1107  write(numout,*)' ##############################################'
1108  WRITE(numout,*)' Configuration de l''interface atm/surfaces  : '
1109  WRITE(numout,*)' tau_calv = ',tau_calv
1110!$OMP END MASTER
1111
1112  return
1113
1114  end subroutine conf_interface
Note: See TracBrowser for help on using the repository browser.