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

Last change on this file since 585 was 585, checked in by Laurent Fairhead, 19 years ago

Synchro avec les simulations IPCC
LF

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