source: trunk/LMDZ.TITAN/libf/phytitan/conf_phys.F90 @ 1243

Last change on this file since 1243 was 1120, checked in by slebonnois, 11 years ago

SL: Titan and Venus modifications following a modif in dyn3d[par].

File size: 11.5 KB
Line 
1!
2! $Header: /home/cvsroot/LMDZ4/libf/phylmd/conf_phys.F90,v 1.3 2005/02/07 15:15:31 fairhead Exp $
3!
4!
5!
6
7  subroutine conf_phys(ok_mensuel,ok_journe,ok_instan,if_ebil)
8
9   use IOIPSL
10   implicit none
11
12#include "YOMCST.h"
13#include "clesphys.h"
14#include "compbl.h"
15#include "comorbit.h"
16
17! ok_journe:  sorties journalieres
18! ok_mensuel: sorties mensuelles
19! ok_instan:  sorties instantanees
20
21
22! Sortie:
23  logical              :: ok_journe, ok_mensuel, ok_instan       
24  integer              :: if_ebil
25
26! Local
27  integer              :: numout = 6
28
29!
30! Configuration de la "physique" de LMDZ a l'aide de la fonction
31! GETIN de IOIPSL
32!
33! LF 05/2001
34!
35!--- Ca lit le physiq.def ---
36
37!******************* parametres anciennement lus dans gcm.def
38
39!Config  Key  = cycle_diurne
40!Config  Desc = Cycle ddiurne
41!Config  Def  = y
42!Config  Help = Cette option permet d'eteidre le cycle diurne.
43!Config         Peut etre util pour accelerer le code !
44       cycle_diurne = .TRUE.
45       CALL getin('cycle_diurne',cycle_diurne)
46
47!Config  Key  = soil_model
48!Config  Desc = Modele de sol
49!Config  Def  = y
50!Config  Help = Choix du modele de sol (Thermique ?)
51!Config         Option qui pourait un string afin de pouvoir
52!Config         plus de choix ! Ou meme une liste d'options !
53       soil_model = .TRUE.
54       CALL getin('soil_model',soil_model)
55
56!Config  Key  = ok_orodr
57!Config  Desc = Oro drag
58!Config  Def  = y
59!Config  Help = GW drag orographie
60!Config         
61       ok_orodr = .TRUE.
62       CALL getin('ok_orodr',ok_orodr)
63
64!Config  Key  =  ok_orolf
65!Config  Desc = Oro lift
66!Config  Def  = n
67!Config  Help = GW lift orographie (pas utilise)
68       ok_orolf = .TRUE.
69       CALL getin('ok_orolf', ok_orolf)
70
71!Config  Key  = ok_gw_nonoro
72!Config  Desc = Gravity waves parameterization
73!Config  Def  = n
74!Config  Help = GW drag non-orographique
75       ok_gw_nonoro = .FALSE.
76       CALL getin('ok_gw_nonoro',ok_gw_nonoro)
77
78!Config  Key  = nbapp_rad
79!Config  Desc = Frequence d'appel au rayonnement
80!Config  Def  = 12
81!Config  Help = Nombre  d'appels des routines de rayonnements
82!Config         par jour.
83       nbapp_rad = 12
84       CALL getin('nbapp_rad',nbapp_rad)
85
86!Config  Key  = nbapp_chim
87!Config  Desc = Frequence d'appel a la chimie
88!Config  Def  = 1
89!Config  Help = Nombre  d'appels des routines de chimie
90!Config         par jour.
91       nbapp_chim = 1
92       CALL getin('nbapp_chim',nbapp_chim)
93
94!Config  Key  = iflag_con
95!Config  Desc = Flag de convection
96!Config  Def  = 0
97!Config  Help = Flag  pour la convection les options suivantes existent :
98!Config         0 : ajsec simple (VENUS, TITAN)
99!Config         1 pour LMD,
100!Config         2 pour Tiedtke,
101!Config         3 pour CCM(NCAR) 
102       iflag_con = 0
103       CALL getin('iflag_con',iflag_con)
104
105!******************* fin parametres anciennement lus dans gcm.def
106
107!Config Key  = OK_mensuel
108!Config Desc = Pour des sorties mensuelles
109!Config Def  = .true.
110!Config Help = Pour creer le fichier histmth contenant les sorties
111!              mensuelles
112!
113  ok_mensuel = .true.
114  call getin('OK_mensuel', ok_mensuel)
115!
116!Config Key  = OK_journe
117!Config Desc = Pour des sorties journalieres
118!Config Def  = .false.
119!Config Help = Pour creer le fichier histday contenant les sorties
120!              journalieres
121!
122  ok_journe = .false.
123  call getin('OK_journe', ok_journe)
124!
125!Config Key  = OK_instan
126!Config Desc = Pour des sorties instantanees
127!Config Def  = .false.
128!Config Help = Pour creer le fichier histins contenant les sorties
129!              instantanees
130!
131  ok_instan = .false.
132  call getin('OK_instan', ok_instan)
133!
134!
135!Config  Key  = ecritphy
136!Config  Desc = Frequence d'ecriture dans histins
137!Config  Def  = 1
138!Config  Help = frequence de l'ecriture du fichier histins
139!Config         en jours.
140!
141       ecriphy = 1.
142       CALL getin('ecritphy', ecriphy)
143!
144!Config Key  = if_ebil
145!Config Desc = Niveau de sortie pour les diags bilan d'energie
146!Config Def  = 0
147!Config Help =
148!               
149!
150  if_ebil = 0
151  call getin('if_ebil', if_ebil)
152!!
153!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
154!! Constante solaire & Parametres orbitaux
155!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
156!!
157! TITAN         ! Valeurs par defaut d'apres Fig Tokano.
158!
159!!
160!Config Key  = year_day
161!Config Desc = Duree de l'annee en jour
162!Config Def  =
163!Config Help =
164!               
165  year_day = 673.
166  call getin('year_day', year_day)
167!
168!Config Key  = peri_day
169!Config Desc = position du perihelie en jour
170!Config Def  =
171!Config Help =
172!               
173  peri_day = 533.
174  call getin('peri_day', peri_day)
175!
176!Config Key  = periheli
177!Config Desc = Distance au soleil au perihelie
178!Config Def  =
179!Config Help =
180!               
181  periheli = 1354.5
182  call getin('periheli', periheli)
183!!
184!Config Key  = aphelie
185!Config Desc = Distance au soleil a l'aphelie
186!Config Def  =
187!Config Help =
188!               
189  aphelie = 1506.0
190  call getin('aphelie', aphelie)
191!!
192!Config Key  = obliquit
193!Config Desc = Obliquite
194!Config Def  =
195!Config Help =
196!               
197  obliquit = 26.7
198  call getin('obliquit', obliquit)
199!
200!Config Key  = solaire
201!Config Desc = Constante solaire en W/m2
202! VENUS
203!Config Def  = 2620.
204!Config Help =
205!
206  solaire = 2620.
207    call getin('solaire', solaire)
208!
209!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
210! PARAMETER FOR THE PLANETARY BOUNDARY LAYER AND SOIL
211!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
212!
213!Config Key  = iflag_pbl
214!Config Desc =
215!Config Def  = 1
216!Config Help =
217!
218! 2   = calculs Cd et K simples pour VENUS :
219!       parametres = z0, lmixmin, ksta (en dur: umin2,ric,cepdu2,karman)
220! 1   = calculs Cd et K issus LMDZ Terre
221!       parametres = ksta, ok_kzmin (et plein d'autres en dur...)
222! 6-9 = schema des thermiques Fred
223  iflag_pbl = 1
224  call getin('iflag_pbl',iflag_pbl)
225
226!
227!Config Key  = ksta
228!Config Desc =
229!Config Def  = 1.0e-7
230!Config Help =
231!
232  ksta = 1.0e-7
233  call getin('ksta',ksta)
234
235!
236!Config Key  = z0
237!Config Desc =
238!Config Def  = 1.0e-2
239!Config Help =
240!
241  z0 = 1.0e-2
242  call getin('z0',z0)
243
244!
245!Config Key  = lmixmin
246!Config Desc =
247!Config Def  = 35.
248!Config Help =
249!
250  lmixmin = 35.
251  call getin('lmixmin',lmixmin)
252
253!
254!Config Key  = ok_kzmin
255!Config Desc =
256!Config Def  = .false.
257!Config Help =
258!
259  ok_kzmin = .false.
260  call getin('ok_kzmin',ok_kzmin)
261
262
263!Config Key  = iflag_ajs
264!Config Desc =
265!Config Def  = 0
266!Config Help =
267!
268  iflag_ajs = 1
269  call getin('iflag_ajs',iflag_ajs)
270
271!
272!Config Key  = inertie
273!Config Desc =
274!Config Def  = 2000.
275!Config Help =
276!
277  inertie = 2000.
278  call getin('inertie',inertie)
279!
280!Config Key  = emis
281!Config Desc =
282!Config Def  = 0.95
283!Config Help =
284!
285  emis = 0.95
286  call getin('emis',emis)
287!
288!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
289! parametres CHIMIE
290!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
291!
292!Config Key  = chimi
293!Config Desc =
294!Config Def  = .false.
295!Config Help =
296!
297  chimi = .false.
298  call getin('chimi',chimi)
299
300!
301!Config Key  = vchim
302!Config Desc =
303!Config Def  = 1
304!Config Help =
305!
306  vchim = 1
307  call getin('vchim',vchim)
308
309!
310!Config Key  = aerprod
311!Config Desc =
312!Config Def  = 0
313!Config Help =
314!
315  aerprod = 0
316  call getin('aerprod',aerprod)
317
318!
319!Config Key  = htoh2
320!Config Desc =
321!Config Def  = 1
322!Config Help =
323!
324  htoh2 = 1
325  call getin('htoh2',htoh2)
326
327!
328!Config Key  = ylellouch
329!Config Desc =
330!Config Def  = .true.
331!Config Help =
332!
333  ylellouch = .true.
334  call getin('ylellouch',ylellouch)
335
336!
337!Config Key  = hcnrad
338!Config Desc =
339!Config Def  = .false.
340!Config Help =
341!
342  hcnrad = .false.
343  call getin('hcnrad',hcnrad)
344
345!
346!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
347! parametres MICROPHYSIQUE
348!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
349!
350!Config Key  = microfi
351!Config Desc =
352!Config Def  = 1
353!Config Help =
354!
355  microfi = 1
356  call getin('microfi',microfi)
357
358!
359!Config Key  = tx
360!Config Desc =
361!Config Def  = 3.5
362!Config Help =
363!
364  tx = 3.5
365  call getin('tx',tx)
366
367!
368!Config Key  = tcorrect
369!Config Desc =
370!Config Def  = 1.
371!Config Help =
372!
373  tcorrect = 1.
374  call getin('tcorrect',tcorrect)
375
376!
377!Config Key  = xvis
378!Config Desc = Facteur d ajustement des proprietes vis des aerosols
379!Config Def  = 1.5
380!Config Help =
381!
382  xvis = 1.0
383  call getin('xvis',xvis)
384!
385!Config Key  = xir
386!Config Desc = Facteur d ajustement des proprietes IR des aerosols
387!Config Def  = 0.5
388!Config Help =
389!
390  xir = 1.0
391  call getin('xir',xir)
392!
393!Config Key  = p_prodaer
394!Config Desc = pressure level for aerosol production (in Pa)
395!Config Def  = 1.
396!Config Help =
397!
398  p_prodaer = 1.
399  call getin('p_prodaer',p_prodaer)
400!
401!Config Key  = cutoff
402!Config Desc =
403!Config Def  = 2
404!Config Help =
405!
406  cutoff = 2
407  call getin('cutoff',cutoff)
408
409!
410!Config Key  = clouds
411!Config Desc = activation des nuages
412!Config Def  = 1
413!Config Help =
414!
415  clouds = 1
416  call getin('clouds',clouds)
417  if (microfi.lt.1) clouds = 0      ! On  ne fait pas de nuages sans microphysique !
418  if (clouds.eq.1) cutoff = 0       ! si nuages, il faut mettre ca
419
420!
421!Config Key  = xnuf
422!Config Desc = fraction nuageuse
423!Config Def  = 0.5
424!Config Help =
425!
426  xnuf = 0.5
427  call getin('xnuf',xnuf)
428  xnuf = amax1(xnuf,0.1)          ! On garde au minimum 10% de nuages.
429  if (clouds.eq.0) xnuf = 0.      ! Si il n'y pas de nuages, on ne met pas de fraction
430                                  ! nuageuse -> permet de retomber sur le TR habituel.
431!
432!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
433! PARAMETER FOR THE OUTPUT LEVELS
434!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
435!
436!
437!Config Key  = lev_histmth
438!Config Desc =
439!Config Def  = 2
440!Config Help =
441!
442  lev_histmth = 2
443  call getin('lev_histmth',lev_histmth)
444
445!
446!Config Key  = lev_histday
447!Config Desc =
448!Config Def  = 1
449!Config Help =
450!
451  lev_histday = 1
452  call getin('lev_histday',lev_histday)
453
454!
455!
456!Config Key  =
457!Config Desc = 
458!Config Def  =
459!Config Help =
460!
461!   =
462!  call getin('',)
463!
464!
465!
466!
467
468  write(numout,*)' ##############################################'
469  write(numout,*)' Configuration des parametres de la physique: '
470  write(numout,*)' cycle_diurne = ', cycle_diurne
471  write(numout,*)' soil_model = ', soil_model
472  write(numout,*)' ok_orodr = ', ok_orodr
473  write(numout,*)' ok_orolf = ', ok_orolf
474  write(numout,*)' ok_gw_nonoro = ', ok_gw_nonoro
475  write(numout,*)' nbapp_rad = ', nbapp_rad
476  write(numout,*)' nbapp_chim = ', nbapp_chim
477  write(numout,*)' iflag_con = ', iflag_con
478  write(numout,*)' Sortie mensuelle = ', ok_mensuel
479  write(numout,*)' Sortie journaliere = ', ok_journe
480  write(numout,*)' Sortie instantanee = ', ok_instan
481  write(numout,*)' frequence sorties = ', ecriphy 
482  write(numout,*)' Sortie bilan d energie, if_ebil =', if_ebil
483  write(numout,*)' Duree de l annee = ',year_day
484  write(numout,*)' Position du perihelie = ',peri_day
485  write(numout,*)' Perihelie = ',periheli
486  write(numout,*)' Aphelie = ',aphelie
487  write(numout,*)' Obliquite =',obliquit
488  write(numout,*)' iflag_pbl = ', iflag_pbl
489  write(numout,*)' z0 = ',z0
490  write(numout,*)' lmixmin = ',lmixmin
491  write(numout,*)' ksta = ',ksta
492  write(numout,*)' ok_kzmin = ',ok_kzmin
493  write(numout,*)' inertie = ', inertie
494  write(numout,*)' emis = ', emis
495  write(numout,*)' iflag_ajs = ', iflag_ajs
496  write(numout,*)' chimi = ', chimi
497  write(numout,*)' vchim = ', vchim
498  write(numout,*)' aerprod = ', aerprod
499  write(numout,*)' htoh2 = ', htoh2
500  write(numout,*)' ylellouch = ', ylellouch
501  write(numout,*)' hcnrad = ', hcnrad
502  write(numout,*)' microfi = ', microfi
503  write(numout,*)' tx = ', tx
504  write(numout,*)' tcorrect = ', tcorrect
505  write(numout,*)' xvis = ', xvis
506  write(numout,*)' xir = ', xir
507  write(numout,*)' p_prodaer = ', p_prodaer
508  write(numout,*)' cutoff = ', cutoff
509  write(numout,*)' clouds = ', clouds
510  write(numout,*)' xnuf = ', xnuf
511  write(numout,*)' lev_histmth = ',lev_histmth
512  write(numout,*)' lev_histday = ',lev_histday
513
514  return
515
516  end subroutine conf_phys
517
Note: See TracBrowser for help on using the repository browser.