source: LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/phylmd/conf_phys.F90 @ 5071

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

Pour la conservation du flux d'eau OM, JLD
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.