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

Last change on this file since 952 was 900, checked in by Laurent Fairhead, 16 years ago

Inclusion de la constante pmagic dans le calcul de l'albedo MAFO/JLD
LF

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