source: LMDZ.3.3/branches/rel-LF/libf/phylmd/conf_phys.F90 @ 558

Last change on this file since 558 was 523, checked in by lmdzadmin, 21 years ago

Dernieres modifs (ha, ha) sur le tag IPSL-CM4_IPCC, MED & JLD:

  • avant 1930 on force la lecture des sulfates naturels
  • bug de debordement de tableau dans physiq.F
  • taucalv passe à 10 ans

LF

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