source: LMDZ4/trunk/libf/phy_IPCC_AR4/conf_phys.F90 @ 1068

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