source: LMDZ4/branches/IPSL-CM4_IPCC_branch/libf/phylmd/conf_phys.F90 @ 588

Last change on this file since 588 was 588, checked in by (none), 19 years ago

This commit was manufactured by cvs2svn to create branch
'IPSL-CM4_IPCC_branch'.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 13.5 KB
Line 
1!
2! $Header$
3!
4!
5!
6
7  subroutine conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, &
8 &                     fact_cldcon, facttemps,ok_newmicro,iflag_cldcon, &
9 &                     ratqsbas,ratqshaut,if_ebil, &
10 &                     ok_ade, ok_aie, &
11 &                     bl95_b0, bl95_b1)
12
13   use IOIPSL
14   implicit none
15
16#include "conema3.h"
17#include "fisrtilp.inc"
18#include "nuage.h"
19#include "YOMCST.inc"
20!IM : on inclut/initialise les taux de CH4, N2O, CFC11 et CFC12
21#include "clesphys.inc"
22!
23! Configuration de la "physique" de LMDZ a l'aide de la fonction
24! GETIN de IOIPSL
25!
26! LF 05/2001
27!
28
29!
30! ocean:      type d'ocean (force, slab, couple)
31! ok_veget:   type de modele de vegetation
32! ok_journe:  sorties journalieres
33! ok_mensuel: sorties mensuelles
34! ok_instan:  sorties instantanees
35! ok_ade, ok_aie: apply or not aerosol direct and indirect effects
36! bl95_b*: parameters in the formula to link CDNC to aerosol mass conc
37!
38
39
40! Sortie:
41  character (len = 6)  :: ocean
42  logical              :: ok_veget, ok_newmicro
43  logical              :: ok_journe, ok_mensuel, ok_instan       
44  LOGICAL              :: ok_ade, ok_aie
45  REAL                 :: bl95_b0, bl95_b1
46  real                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut
47  integer              :: iflag_cldcon, if_ebil
48
49! Local
50  integer              :: numout = 6
51  real                 :: zzz
52
53!
54!
55!
56
57
58!Config Key  = OCEAN
59!Config Desc = Type d'ocean
60!Config Def  = force
61!Config Help = Type d'ocean utilise: force, slab,couple
62!
63  ocean = 'force '
64  call getin('OCEAN', ocean)
65!
66!Config Key  = VEGET
67!Config Desc = Type de modele de vegetation
68!Config Def  = .false.
69!Config Help = Type de modele de vegetation utilise
70!
71  ok_veget = .false.
72  call getin('VEGET', ok_veget)
73!
74!Config Key  = OK_journe
75!Config Desc = Pour des sorties journalieres
76!Config Def  = .false.
77!Config Help = Pour creer le fichier histday contenant les sorties
78!              journalieres
79!
80  ok_journe = .false.
81  call getin('OK_journe', ok_journe)
82!
83!Config Key  = OK_mensuel
84!Config Desc = Pour des sorties mensuelles
85!Config Def  = .true.
86!Config Help = Pour creer le fichier histmth contenant les sorties
87!              mensuelles
88!
89  ok_mensuel = .true.
90  call getin('OK_mensuel', ok_mensuel)
91!
92!Config Key  = OK_instan
93!Config Desc = Pour des sorties instantanees
94!Config Def  = .false.
95!Config Help = Pour creer le fichier histins contenant les sorties
96!              instantanees
97!
98  ok_instan = .false.
99  call getin('OK_instan', ok_instan)
100!
101!Config Key  = ok_ade
102!Config Desc = Aerosol direct effect or not?
103!Config Def  = .false.
104!Config Help = Used in radlwsw.F
105!
106  ok_ade = .false.
107  call getin('ok_ade', ok_ade)
108
109!
110!Config Key  = ok_aie
111!Config Desc = Aerosol indirect effect or not?
112!Config Def  = .false.
113!Config Help = Used in nuage.F and radlwsw.F
114!
115  ok_aie = .false.
116  call getin('ok_aie', ok_aie)
117
118!
119!Config Key  = bl95_b0
120!Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
121!Config Def  = .false.
122!Config Help = Used in nuage.F
123!
124  bl95_b0 = 2.
125  call getin('bl95_b0', bl95_b0)
126
127!Config Key  = bl95_b1
128!Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995)
129!Config Def  = .false.
130!Config Help = Used in nuage.F
131!
132  bl95_b1 = 0.2
133  call getin('bl95_b1', bl95_b1)
134
135!
136!
137!Config Key  = if_ebil
138!Config Desc = Niveau de sortie pour les diags bilan d'energie
139!Config Def  = 0
140!Config Help =
141!               
142!
143  if_ebil = 0
144  call getin('if_ebil', if_ebil)
145!!
146!! Constante solaire & Parametres orbitaux & taux gaz effet de serre BEG
147!!
148!Config Key  = R_ecc
149!Config Desc = Excentricite
150!Config Def  = 0.016715
151!Config Help =
152!               
153!valeur AMIP II
154  R_ecc = 0.016715
155  call getin('R_ecc', R_ecc)
156!!
157!Config Key  = R_peri
158!Config Desc = Equinoxe
159!Config Def  =
160!Config Help =
161!               
162!
163!valeur AMIP II
164  R_peri = 102.7
165  call getin('R_peri', R_peri)
166!!
167!Config Key  = R_incl
168!Config Desc = Inclinaison
169!Config Def  =
170!Config Help =
171!               
172!
173!valeur AMIP II
174  R_incl = 23.441
175  call getin('R_incl', R_incl)
176!!
177!Config Key  = solaire
178!Config Desc = Constante solaire en W/m2
179!Config Def  = 1365.
180!Config Help =
181!               
182!
183!valeur AMIP II
184  solaire = 1365.
185  call getin('solaire', solaire)
186!!
187!Config Key  = co2_ppm
188!Config Desc = concentration du gaz carbonique en ppmv
189!Config Def  = 348.
190!Config Help =
191!               
192!
193!valeur AMIP II
194  co2_ppm = 348.
195  call getin('co2_ppm', co2_ppm)
196!!
197!Config Key  = RCO2
198!Config Desc = Concentration du CO2
199!Config Def  = co2_ppm * 1.0e-06  * 44.011/28.97
200!Config Def  = 348. * 1.0e-06  * 44.011/28.97
201!Config Help =
202!               
203! RCO2 = 5.286789092164308E-04
204!ancienne valeur
205  RCO2 = co2_ppm * 1.0e-06  * 44.011/28.97 ! pour co2_ppm=348.
206
207!!  call getin('RCO2', RCO2)
208!!
209!Config Key  = RCH4
210!Config Desc = Concentration du CH4
211!Config Def  = 1.65E-06* 16.043/28.97
212!Config Help =
213!               
214!
215!valeur AMIP II
216!OK  RCH4 = 1.65E-06* 16.043/28.97
217! RCH4 = 9.137366240938903E-07
218!
219!ancienne valeur
220! RCH4 = 1.72E-06* 16.043/28.97
221!OK call getin('RCH4', RCH4)
222  zzz = 1650.
223  call getin('CH4_ppb', zzz)
224  CH4_ppb = zzz
225  RCH4 = CH4_ppb * 1.0E-09 * 16.043/28.97
226!!
227!Config Key  = RN2O
228!Config Desc = Concentration du N2O
229!Config Def  = 306.E-09* 44.013/28.97
230!Config Help =
231!               
232!
233!valeur AMIP II
234!OK  RN2O = 306.E-09* 44.013/28.97
235! RN2O = 4.648939592682085E-07
236!
237!ancienne valeur
238! RN2O = 310.E-09* 44.013/28.97
239!OK  call getin('RN2O', RN2O)
240  zzz=306.
241  call getin('N2O_ppb', zzz)
242  N2O_ppb = zzz
243  RN2O = N2O_ppb * 1.0E-09 * 44.013/28.97
244!!
245!Config Key  = RCFC11
246!Config Desc = Concentration du CFC11
247!Config Def  = 280.E-12* 137.3686/28.97
248!Config Help =
249!               
250!
251!OK RCFC11 = 280.E-12* 137.3686/28.97
252  zzz = 280.
253  call getin('CFC11_ppt',zzz)
254  CFC11_ppt = zzz
255  RCFC11=CFC11_ppt* 1.0E-12 * 137.3686/28.97
256! RCFC11 = 1.327690990680013E-09
257!OK call getin('RCFC11', RCFC11)
258!!
259!Config Key  = RCFC12
260!Config Desc = Concentration du CFC12
261!Config Def  = 484.E-12* 120.9140/28.97
262!Config Help =
263!               
264!
265!OK RCFC12 = 484.E-12* 120.9140/28.97
266  zzz = 484.
267  call getin('CFC12_ppt',zzz)
268  CFC12_ppt = zzz
269  RCFC12 = CFC12_ppt * 1.0E-12 * 120.9140/28.97
270! RCFC12 = 2.020102726958923E-09
271!OK call getin('RCFC12', RCFC12)
272!!
273!! Constante solaire & Parametres orbitaux & taux gaz effet de serre END
274!!
275!! KE
276!
277!Config Key  = epmax
278!Config Desc = Efficacite precip
279!Config Def  = 0.993
280!Config Help =
281!
282  epmax = .993
283  call getin('epmax', epmax)
284!
285!Config Key  = ok_adj_ema
286!Config Desc = 
287!Config Def  = false
288!Config Help =
289!
290  ok_adj_ema = .false.
291  call getin('ok_adj_ema',ok_adj_ema)
292!
293!Config Key  = iflag_clw
294!Config Desc = 
295!Config Def  = 0
296!Config Help =
297!
298  iflag_clw = 0
299  call getin('iflag_clw',iflag_clw)
300!
301!Config Key  = cld_lc_lsc
302!Config Desc = 
303!Config Def  = 2.6e-4
304!Config Help =
305!
306  cld_lc_lsc = 2.6e-4
307  call getin('cld_lc_lsc',cld_lc_lsc)
308!
309!Config Key  = cld_lc_con
310!Config Desc = 
311!Config Def  = 2.6e-4
312!Config Help =
313!
314  cld_lc_con = 2.6e-4
315  call getin('cld_lc_con',cld_lc_con)
316!
317!Config Key  = cld_tau_lsc
318!Config Desc = 
319!Config Def  = 3600.
320!Config Help =
321!
322  cld_tau_lsc = 3600.
323  call getin('cld_tau_lsc',cld_tau_lsc)
324!
325!Config Key  = cld_tau_con
326!Config Desc = 
327!Config Def  = 3600.
328!Config Help =
329!
330  cld_tau_con = 3600.
331  call getin('cld_tau_con',cld_tau_con)
332!
333!Config Key  = ffallv_lsc
334!Config Desc = 
335!Config Def  = 1.
336!Config Help =
337!
338  ffallv_lsc = 1.
339  call getin('ffallv_lsc',ffallv_lsc)
340!
341!Config Key  = ffallv_con
342!Config Desc = 
343!Config Def  = 1.
344!Config Help =
345!
346  ffallv_con = 1.
347  call getin('ffallv_con',ffallv_con)
348!
349!Config Key  = coef_eva
350!Config Desc = 
351!Config Def  = 2.e-5
352!Config Help =
353!
354  coef_eva = 2.e-5
355  call getin('coef_eva',coef_eva)
356!
357!Config Key  = reevap_ice
358!Config Desc = 
359!Config Def  = .false.
360!Config Help =
361!
362  reevap_ice = .false.
363  call getin('reevap_ice',reevap_ice)
364!
365!Config Key  = iflag_cldcon
366!Config Desc = 
367!Config Def  = 1
368!Config Help =
369!
370  iflag_cldcon = 1
371  call getin('iflag_cldcon',iflag_cldcon)
372
373!
374!Config Key  = iflag_pdf
375!Config Desc = 
376!Config Def  = 0
377!Config Help =
378!
379  iflag_pdf = 0
380  call getin('iflag_pdf',iflag_pdf)
381!
382!Config Key  = fact_cldcon
383!Config Desc = 
384!Config Def  = 0.375
385!Config Help =
386!
387  fact_cldcon = 0.375
388  call getin('fact_cldcon',fact_cldcon)
389
390!
391!Config Key  = facttemps
392!Config Desc = 
393!Config Def  = 1.e-4
394!Config Help =
395!
396  facttemps = 1.e-4
397  call getin('facttemps',facttemps)
398
399!
400!Config Key  = ok_newmicro
401!Config Desc = 
402!Config Def  = .true.
403!Config Help =
404!
405  ok_newmicro = .true.
406  call getin('ok_newmicro',ok_newmicro)
407!
408!Config Key  = ratqsbas
409!Config Desc = 
410!Config Def  = 0.01
411!Config Help =
412!
413  ratqsbas = 0.01
414  call getin('ratqsbas',ratqsbas)
415!
416!Config Key  = ratqshaut
417!Config Desc = 
418!Config Def  = 0.3
419!Config Help =
420!
421  ratqshaut = 0.3
422  call getin('ratqshaut',ratqshaut)
423
424!
425!Config Key  = rad_froid
426!Config Desc = 
427!Config Def  = 35.0
428!Config Help =
429!
430  rad_froid = 35.0
431  call getin('rad_froid',rad_froid)
432
433!
434!Config Key  = rad_chau1
435!Config Desc = 
436!Config Def  = 13.0
437!Config Help =
438!
439  rad_chau1 = 13.0
440  call getin('rad_chau1',rad_chau1)
441
442!
443!Config Key  = rad_chau2
444!Config Desc = 
445!Config Def  = 9.0
446!Config Help =
447!
448  rad_chau2 = 9.0
449  call getin('rad_chau2',rad_chau2)
450
451!
452!Config Key  = top_height
453!Config Desc =
454!Config Def  = 3
455!Config Help =
456!
457  top_height = 3
458  call getin('top_height',top_height)
459
460!
461!Config Key  = overlap
462!Config Desc =
463!Config Def  = 3
464!Config Help =
465!
466  overlap = 3
467  call getin('overlap',overlap)
468
469
470!
471!
472!Config Key  = cdmmax
473!Config Desc =
474!Config Def  = 1.3E-3
475!Config Help =
476!
477  cdmmax = 1.3E-3
478  call getin('cdmmax',cdmmax)
479
480!
481!Config Key  = cdhmax
482!Config Desc =
483!Config Def  = 1.1E-3
484!Config Help =
485!
486  cdhmax = 1.1E-3
487  call getin('cdhmax',cdhmax)
488
489!261103
490!
491!Config Key  = ksta
492!Config Desc =
493!Config Def  = 1.0e-10
494!Config Help =
495!
496  ksta = 1.0e-10
497  call getin('ksta',ksta)
498
499!
500!Config Key  = ksta_ter
501!Config Desc =
502!Config Def  = 1.0e-10
503!Config Help =
504!
505  ksta_ter = 1.0e-10
506  call getin('ksta_ter',ksta_ter)
507
508!
509!Config Key  = ok_kzmin
510!Config Desc =
511!Config Def  = .true.
512!Config Help =
513!
514  ok_kzmin = .true.
515  call getin('ok_kzmin',ok_kzmin)
516
517!
518!Config Key  = lev_histhf
519!Config Desc =
520!Config Def  = 0
521!Config Help =
522!
523  lev_histhf = 0
524  call getin('lev_histhf',lev_histhf)
525
526!
527!Config Key  = lev_histday
528!Config Desc =
529!Config Def  = 1
530!Config Help =
531!
532  lev_histday = 1
533  call getin('lev_histday',lev_histday)
534
535!
536!Config Key  = lev_histmth
537!Config Desc =
538!Config Def  = 2
539!Config Help =
540!
541  lev_histmth = 2
542  call getin('lev_histmth',lev_histmth)
543
544!
545!
546!Config Key  =
547!Config Desc = 
548!Config Def  =
549!Config Help =
550!
551!   =
552!  call getin('',)
553!
554!
555!
556!
557
558  write(numout,*)' ##############################################'
559  write(numout,*)' Configuration des parametres de la physique: '
560  write(numout,*)' Config ocean = ', ocean
561  write(numout,*)' Config veget = ', ok_veget
562  write(numout,*)' Sortie journaliere = ', ok_journe
563  write(numout,*)' Sortie mensuelle = ', ok_mensuel
564  write(numout,*)' Sortie instantanee = ', ok_instan
565  write(numout,*)' Sortie bilan d''energie, if_ebil =', if_ebil
566  write(numout,*)' Excentricite = ',R_ecc
567  write(numout,*)' Equinoxe = ',R_peri
568  write(numout,*)' Inclinaison =',R_incl
569  write(numout,*)' Constante solaire =',solaire
570  write(numout,*)' co2_ppm =',co2_ppm
571  write(numout,*)' RCO2 = ',RCO2
572  write(numout,*)' CH4_ppb =',CH4_ppb,' RCH4 = ',RCH4
573  write(numout,*)' N2O_ppb =',N2O_ppb,' RN2O =  ',RN2O
574  write(numout,*)' CFC11_ppt=',CFC11_ppt,' RCFC11 =  ',RCFC11
575  write(numout,*)' CFC12_ppt=',CFC12_ppt,' RCFC12 =  ',RCFC12
576  write(numout,*)' epmax = ', epmax
577  write(numout,*)' ok_adj_ema = ', ok_adj_ema
578  write(numout,*)' iflag_clw = ', iflag_clw
579  write(numout,*)' cld_lc_lsc = ', cld_lc_lsc
580  write(numout,*)' cld_lc_con = ', cld_lc_con
581  write(numout,*)' cld_tau_lsc = ', cld_tau_lsc
582  write(numout,*)' cld_tau_con = ', cld_tau_con
583  write(numout,*)' ffallv_lsc = ', ffallv_lsc
584  write(numout,*)' ffallv_con = ', ffallv_con
585  write(numout,*)' coef_eva = ', coef_eva
586  write(numout,*)' reevap_ice = ', reevap_ice
587  write(numout,*)' iflag_pdf = ', iflag_pdf
588  write(numout,*)' iflag_cldcon = ', iflag_cldcon
589  write(numout,*)' fact_cldcon = ', fact_cldcon
590  write(numout,*)' facttemps = ', facttemps
591  write(numout,*)' ok_newmicro = ',ok_newmicro
592  write(numout,*)' ratqsbas = ',ratqsbas
593  write(numout,*)' ratqshaut = ',ratqshaut
594  write(numout,*)' top_height = ',top_height
595  write(numout,*)' overlap = ',overlap
596  write(numout,*)' cdmmax = ',cdmmax
597  write(numout,*)' cdhmax = ',cdhmax
598  write(numout,*)' ksta = ',ksta
599  write(numout,*)' ksta_ter = ',ksta_ter
600  write(numout,*)' ok_kzmin = ',ok_kzmin
601  write(numout,*)' ok_ade = ',ok_ade
602  write(numout,*)' ok_aie = ',ok_aie
603  write(numout,*)' bl95_b0 = ',bl95_b0
604  write(numout,*)' bl95_b1 = ',bl95_b1
605  write(numout,*)' lev_histhf = ',lev_histhf
606  write(numout,*)' lev_histday = ',lev_histday
607  write(numout,*)' lev_histmth = ',lev_histmth
608
609  return
610
611  end subroutine conf_phys
612
613!
614!#################################################################
615!
616
617   subroutine conf_interface(tau_calv)
618
619   use IOIPSL
620   implicit none
621
622! Configuration de l'interace atm/surf
623!
624! tau_calv:    temps de relaxation pour la fonte des glaciers
625
626  REAL          :: tau_calv
627
628! Local
629  integer              :: numout = 6
630!
631!Config Key  = tau_calv
632!Config Desc = temps de relaxation pour fonte des glaciers en jours
633!Config Def  = 1 an
634!Config Help =
635!
636  tau_calv = 360.*10.
637  call getin('tau_calv',tau_calv)
638
639  write(numout,*)' ##############################################'
640  WRITE(numout,*)' Configuration de l''interface atm/surfaces  : '
641  WRITE(numout,*)' tau_calv = ',tau_calv
642  return
643
644  end subroutine conf_interface
Note: See TracBrowser for help on using the repository browser.