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

Last change on this file since 716 was 710, checked in by Laurent Fairhead, 18 years ago

Integration des modifications d'OM et JLD pour une meilleure prise en compte
de la conservation du flux d'eau
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 14.0 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  = cvl_corr
278!Config Desc = Facteur multiplication des precip convectives dans KE
279!Config Def  = 1.00
280!Config Help = 1.02 pour un moderne ou un pre-ind. A ajuster pour un glaciaire
281  cvl_corr = 1.00
282  CALL getin('cvl_corr', cvl_corr)
283
284!Config Key  = epmax
285!Config Desc = Efficacite precip
286!Config Def  = 0.993
287!Config Help =
288!
289  epmax = .993
290  call getin('epmax', epmax)
291!
292!Config Key  = ok_adj_ema
293!Config Desc = 
294!Config Def  = false
295!Config Help =
296!
297  ok_adj_ema = .false.
298  call getin('ok_adj_ema',ok_adj_ema)
299!
300!Config Key  = iflag_clw
301!Config Desc = 
302!Config Def  = 0
303!Config Help =
304!
305  iflag_clw = 0
306  call getin('iflag_clw',iflag_clw)
307!
308!Config Key  = cld_lc_lsc
309!Config Desc = 
310!Config Def  = 2.6e-4
311!Config Help =
312!
313  cld_lc_lsc = 2.6e-4
314  call getin('cld_lc_lsc',cld_lc_lsc)
315!
316!Config Key  = cld_lc_con
317!Config Desc = 
318!Config Def  = 2.6e-4
319!Config Help =
320!
321  cld_lc_con = 2.6e-4
322  call getin('cld_lc_con',cld_lc_con)
323!
324!Config Key  = cld_tau_lsc
325!Config Desc = 
326!Config Def  = 3600.
327!Config Help =
328!
329  cld_tau_lsc = 3600.
330  call getin('cld_tau_lsc',cld_tau_lsc)
331!
332!Config Key  = cld_tau_con
333!Config Desc = 
334!Config Def  = 3600.
335!Config Help =
336!
337  cld_tau_con = 3600.
338  call getin('cld_tau_con',cld_tau_con)
339!
340!Config Key  = ffallv_lsc
341!Config Desc = 
342!Config Def  = 1.
343!Config Help =
344!
345  ffallv_lsc = 1.
346  call getin('ffallv_lsc',ffallv_lsc)
347!
348!Config Key  = ffallv_con
349!Config Desc = 
350!Config Def  = 1.
351!Config Help =
352!
353  ffallv_con = 1.
354  call getin('ffallv_con',ffallv_con)
355!
356!Config Key  = coef_eva
357!Config Desc = 
358!Config Def  = 2.e-5
359!Config Help =
360!
361  coef_eva = 2.e-5
362  call getin('coef_eva',coef_eva)
363!
364!Config Key  = reevap_ice
365!Config Desc = 
366!Config Def  = .false.
367!Config Help =
368!
369  reevap_ice = .false.
370  call getin('reevap_ice',reevap_ice)
371!
372!Config Key  = iflag_cldcon
373!Config Desc = 
374!Config Def  = 1
375!Config Help =
376!
377  iflag_cldcon = 1
378  call getin('iflag_cldcon',iflag_cldcon)
379
380!
381!Config Key  = iflag_pdf
382!Config Desc = 
383!Config Def  = 0
384!Config Help =
385!
386  iflag_pdf = 0
387  call getin('iflag_pdf',iflag_pdf)
388!
389!Config Key  = fact_cldcon
390!Config Desc = 
391!Config Def  = 0.375
392!Config Help =
393!
394  fact_cldcon = 0.375
395  call getin('fact_cldcon',fact_cldcon)
396
397!
398!Config Key  = facttemps
399!Config Desc = 
400!Config Def  = 1.e-4
401!Config Help =
402!
403  facttemps = 1.e-4
404  call getin('facttemps',facttemps)
405
406!
407!Config Key  = ok_newmicro
408!Config Desc = 
409!Config Def  = .true.
410!Config Help =
411!
412  ok_newmicro = .true.
413  call getin('ok_newmicro',ok_newmicro)
414!
415!Config Key  = ratqsbas
416!Config Desc = 
417!Config Def  = 0.01
418!Config Help =
419!
420  ratqsbas = 0.01
421  call getin('ratqsbas',ratqsbas)
422!
423!Config Key  = ratqshaut
424!Config Desc = 
425!Config Def  = 0.3
426!Config Help =
427!
428  ratqshaut = 0.3
429  call getin('ratqshaut',ratqshaut)
430
431!
432!Config Key  = rad_froid
433!Config Desc = 
434!Config Def  = 35.0
435!Config Help =
436!
437  rad_froid = 35.0
438  call getin('rad_froid',rad_froid)
439
440!
441!Config Key  = rad_chau1
442!Config Desc = 
443!Config Def  = 13.0
444!Config Help =
445!
446  rad_chau1 = 13.0
447  call getin('rad_chau1',rad_chau1)
448
449!
450!Config Key  = rad_chau2
451!Config Desc = 
452!Config Def  = 9.0
453!Config Help =
454!
455  rad_chau2 = 9.0
456  call getin('rad_chau2',rad_chau2)
457
458!
459!Config Key  = top_height
460!Config Desc =
461!Config Def  = 3
462!Config Help =
463!
464  top_height = 3
465  call getin('top_height',top_height)
466
467!
468!Config Key  = overlap
469!Config Desc =
470!Config Def  = 3
471!Config Help =
472!
473  overlap = 3
474  call getin('overlap',overlap)
475
476
477!
478!
479!Config Key  = cdmmax
480!Config Desc =
481!Config Def  = 1.3E-3
482!Config Help =
483!
484  cdmmax = 1.3E-3
485  call getin('cdmmax',cdmmax)
486
487!
488!Config Key  = cdhmax
489!Config Desc =
490!Config Def  = 1.1E-3
491!Config Help =
492!
493  cdhmax = 1.1E-3
494  call getin('cdhmax',cdhmax)
495
496!261103
497!
498!Config Key  = ksta
499!Config Desc =
500!Config Def  = 1.0e-10
501!Config Help =
502!
503  ksta = 1.0e-10
504  call getin('ksta',ksta)
505
506!
507!Config Key  = ksta_ter
508!Config Desc =
509!Config Def  = 1.0e-10
510!Config Help =
511!
512  ksta_ter = 1.0e-10
513  call getin('ksta_ter',ksta_ter)
514
515!
516!Config Key  = ok_kzmin
517!Config Desc =
518!Config Def  = .true.
519!Config Help =
520!
521  ok_kzmin = .true.
522  call getin('ok_kzmin',ok_kzmin)
523
524!Config Key = ok_lic_melt
525!Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau
526!Config Def  = .false.
527!Config Help = mettre a .false. pour assurer la conservation en eau
528  ok_lic_melt = .false.
529  call getin('ok_lic_melt', ok_lic_melt)
530
531!
532!Config Key  = lev_histhf
533!Config Desc =
534!Config Def  = 0
535!Config Help =
536!
537  lev_histhf = 0
538  call getin('lev_histhf',lev_histhf)
539
540!
541!Config Key  = lev_histday
542!Config Desc =
543!Config Def  = 1
544!Config Help =
545!
546  lev_histday = 1
547  call getin('lev_histday',lev_histday)
548
549!
550!Config Key  = lev_histmth
551!Config Desc =
552!Config Def  = 2
553!Config Help =
554!
555  lev_histmth = 2
556  call getin('lev_histmth',lev_histmth)
557
558!
559!
560!Config Key  =
561!Config Desc = 
562!Config Def  =
563!Config Help =
564!
565!   =
566!  call getin('',)
567!
568!
569!
570!
571
572  write(numout,*)' ##############################################'
573  write(numout,*)' Configuration des parametres de la physique: '
574  write(numout,*)' Config ocean = ', ocean
575  write(numout,*)' Config veget = ', ok_veget
576  write(numout,*)' Sortie journaliere = ', ok_journe
577  write(numout,*)' Sortie mensuelle = ', ok_mensuel
578  write(numout,*)' Sortie instantanee = ', ok_instan
579  write(numout,*)' Sortie bilan d''energie, if_ebil =', if_ebil
580  write(numout,*)' Excentricite = ',R_ecc
581  write(numout,*)' Equinoxe = ',R_peri
582  write(numout,*)' Inclinaison =',R_incl
583  write(numout,*)' Constante solaire =',solaire
584  write(numout,*)' co2_ppm =',co2_ppm
585  write(numout,*)' RCO2 = ',RCO2
586  write(numout,*)' CH4_ppb =',CH4_ppb,' RCH4 = ',RCH4
587  write(numout,*)' N2O_ppb =',N2O_ppb,' RN2O =  ',RN2O
588  write(numout,*)' CFC11_ppt=',CFC11_ppt,' RCFC11 =  ',RCFC11
589  write(numout,*)' CFC12_ppt=',CFC12_ppt,' RCFC12 =  ',RCFC12
590  write(numout,*)' cvl_corr=', cvl_corr
591  write(numout,*)'ok_lic_melt=', ok_lic_melt
592  write(numout,*)' epmax = ', epmax
593  write(numout,*)' ok_adj_ema = ', ok_adj_ema
594  write(numout,*)' iflag_clw = ', iflag_clw
595  write(numout,*)' cld_lc_lsc = ', cld_lc_lsc
596  write(numout,*)' cld_lc_con = ', cld_lc_con
597  write(numout,*)' cld_tau_lsc = ', cld_tau_lsc
598  write(numout,*)' cld_tau_con = ', cld_tau_con
599  write(numout,*)' ffallv_lsc = ', ffallv_lsc
600  write(numout,*)' ffallv_con = ', ffallv_con
601  write(numout,*)' coef_eva = ', coef_eva
602  write(numout,*)' reevap_ice = ', reevap_ice
603  write(numout,*)' iflag_pdf = ', iflag_pdf
604  write(numout,*)' iflag_cldcon = ', iflag_cldcon
605  write(numout,*)' fact_cldcon = ', fact_cldcon
606  write(numout,*)' facttemps = ', facttemps
607  write(numout,*)' ok_newmicro = ',ok_newmicro
608  write(numout,*)' ratqsbas = ',ratqsbas
609  write(numout,*)' ratqshaut = ',ratqshaut
610  write(numout,*)' top_height = ',top_height
611  write(numout,*)' overlap = ',overlap
612  write(numout,*)' cdmmax = ',cdmmax
613  write(numout,*)' cdhmax = ',cdhmax
614  write(numout,*)' ksta = ',ksta
615  write(numout,*)' ksta_ter = ',ksta_ter
616  write(numout,*)' ok_kzmin = ',ok_kzmin
617  write(numout,*)' ok_ade = ',ok_ade
618  write(numout,*)' ok_aie = ',ok_aie
619  write(numout,*)' bl95_b0 = ',bl95_b0
620  write(numout,*)' bl95_b1 = ',bl95_b1
621  write(numout,*)' lev_histhf = ',lev_histhf
622  write(numout,*)' lev_histday = ',lev_histday
623  write(numout,*)' lev_histmth = ',lev_histmth
624
625  return
626
627  end subroutine conf_phys
628
629!
630!#################################################################
631!
632
633   subroutine conf_interface(tau_calv)
634
635   use IOIPSL
636   implicit none
637
638! Configuration de l'interace atm/surf
639!
640! tau_calv:    temps de relaxation pour la fonte des glaciers
641
642  REAL          :: tau_calv
643
644! Local
645  integer              :: numout = 6
646!
647!Config Key  = tau_calv
648!Config Desc = temps de relaxation pour fonte des glaciers en jours
649!Config Def  = 1 an
650!Config Help =
651!
652  tau_calv = 360.*10.
653  call getin('tau_calv',tau_calv)
654
655  write(numout,*)' ##############################################'
656  WRITE(numout,*)' Configuration de l''interface atm/surfaces  : '
657  WRITE(numout,*)' tau_calv = ',tau_calv
658  return
659
660  end subroutine conf_interface
Note: See TracBrowser for help on using the repository browser.