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

Last change on this file since 306 was 175, checked in by slebonnois, 13 years ago

S.LEBONNOIS:

  • Revision majeure de la physique Titan => ajout des nuages version 10 bins (Jeremie Burgalat) Cette version reste a tester mais avec clouds=0, on reste sur l'ancienne.
  • Quelques ajouts dans la doc.
File size: 10.9 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       ecritphy = 1.
142       CALL getin('ecritphy', ecritphy)
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  = 340.
275!Config Help =
276!
277  inertie = 340.
278  call getin('inertie',inertie)
279!
280!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
281! parametres CHIMIE
282!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
283!
284!Config Key  = chimi
285!Config Desc =
286!Config Def  = .false.
287!Config Help =
288!
289  chimi = .false.
290  call getin('chimi',chimi)
291
292!
293!Config Key  = vchim
294!Config Desc =
295!Config Def  = 1
296!Config Help =
297!
298  vchim = 1
299  call getin('vchim',vchim)
300
301!
302!Config Key  = aerprod
303!Config Desc =
304!Config Def  = 0
305!Config Help =
306!
307  aerprod = 0
308  call getin('aerprod',aerprod)
309
310!
311!Config Key  = htoh2
312!Config Desc =
313!Config Def  = 1
314!Config Help =
315!
316  htoh2 = 1
317  call getin('htoh2',htoh2)
318
319!
320!Config Key  = ylellouch
321!Config Desc =
322!Config Def  = .true.
323!Config Help =
324!
325  ylellouch = .true.
326  call getin('ylellouch',ylellouch)
327
328!
329!Config Key  = hcnrad
330!Config Desc =
331!Config Def  = .false.
332!Config Help =
333!
334  hcnrad = .false.
335  call getin('hcnrad',hcnrad)
336
337!
338!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
339! parametres MICROPHYSIQUE
340!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
341!
342!Config Key  = microfi
343!Config Desc =
344!Config Def  = 1
345!Config Help =
346!
347  microfi = 1
348  call getin('microfi',microfi)
349
350!
351!Config Key  = tx
352!Config Desc =
353!Config Def  = 3.5
354!Config Help =
355!
356  tx = 3.5
357  call getin('tx',tx)
358
359!
360!Config Key  = tcorrect
361!Config Desc =
362!Config Def  = 1.
363!Config Help =
364!
365  tcorrect = 1.
366  call getin('tcorrect',tcorrect)
367
368!
369!Config Key  = p_prodaer
370!Config Desc = pressure level for aerosol production (in Pa)
371!Config Def  = 1.
372!Config Help =
373!
374  p_prodaer = 1.
375  call getin('p_prodaer',p_prodaer)
376!
377!Config Key  = cutoff
378!Config Desc =
379!Config Def  = 2
380!Config Help =
381!
382  cutoff = 2
383  call getin('cutoff',cutoff)
384
385!
386!Config Key  = clouds
387!Config Desc = activation des nuages
388!Config Def  = 1
389!Config Help =
390!
391  clouds = 1
392  call getin('clouds',clouds)
393  if (microfi.ne.1) clouds = 0      ! On  ne fait pas de nuages sans microphysique !
394
395!
396!Config Key  = xnuf
397!Config Desc = fraction nuageuse
398!Config Def  = 0.5
399!Config Help =
400!
401  xnuf = 0.5
402  call getin('xnuf',xnuf)
403  xnuf = amax1(xnuf,0.1)          ! On garde au minimum 10% de nuages.
404  if (clouds.eq.0) xnuf = 0.      ! Si il n'y pas de nuages, on ne met pas de fraction
405                                  ! nuageuse -> permet de retomber sur le TR habituel.
406!
407!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
408! PARAMETER FOR THE OUTPUT LEVELS
409!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
410!
411!
412!Config Key  = lev_histmth
413!Config Desc =
414!Config Def  = 2
415!Config Help =
416!
417  lev_histmth = 2
418  call getin('lev_histmth',lev_histmth)
419
420!
421!Config Key  = lev_histday
422!Config Desc =
423!Config Def  = 1
424!Config Help =
425!
426  lev_histday = 1
427  call getin('lev_histday',lev_histday)
428
429!
430!
431!Config Key  =
432!Config Desc = 
433!Config Def  =
434!Config Help =
435!
436!   =
437!  call getin('',)
438!
439!
440!
441!
442
443  write(numout,*)' ##############################################'
444  write(numout,*)' Configuration des parametres de la physique: '
445  write(numout,*)' cycle_diurne = ', cycle_diurne
446  write(numout,*)' soil_model = ', soil_model
447  write(numout,*)' ok_orodr = ', ok_orodr
448  write(numout,*)' ok_orolf = ', ok_orolf
449  write(numout,*)' ok_gw_nonoro = ', ok_gw_nonoro
450  write(numout,*)' nbapp_rad = ', nbapp_rad
451  write(numout,*)' nbapp_chim = ', nbapp_chim
452  write(numout,*)' iflag_con = ', iflag_con
453  write(numout,*)' Sortie mensuelle = ', ok_mensuel
454  write(numout,*)' Sortie journaliere = ', ok_journe
455  write(numout,*)' Sortie instantanee = ', ok_instan
456  write(numout,*)' frequence sorties = ', ecritphy 
457  write(numout,*)' Sortie bilan d energie, if_ebil =', if_ebil
458  write(numout,*)' Duree de l annee = ',year_day
459  write(numout,*)' Position du perihelie = ',peri_day
460  write(numout,*)' Perihelie = ',periheli
461  write(numout,*)' Aphelie = ',aphelie
462  write(numout,*)' Obliquite =',obliquit
463  write(numout,*)' iflag_pbl = ', iflag_pbl
464  write(numout,*)' z0 = ',z0
465  write(numout,*)' lmixmin = ',lmixmin
466  write(numout,*)' ksta = ',ksta
467  write(numout,*)' ok_kzmin = ',ok_kzmin
468  write(numout,*)' inertie = ', inertie
469  write(numout,*)' iflag_ajs = ', iflag_ajs
470  write(numout,*)' chimi = ', chimi
471  write(numout,*)' vchim = ', vchim
472  write(numout,*)' aerprod = ', aerprod
473  write(numout,*)' htoh2 = ', htoh2
474  write(numout,*)' ylellouch = ', ylellouch
475  write(numout,*)' hcnrad = ', hcnrad
476  write(numout,*)' microfi = ', microfi
477  write(numout,*)' tx = ', tx
478  write(numout,*)' tcorrect = ', tcorrect
479  write(numout,*)' p_prodaer = ', p_prodaer
480  write(numout,*)' cutoff = ', cutoff
481  write(numout,*)' clouds = ', clouds
482  write(numout,*)' xnuf = ', xnuf
483  write(numout,*)' lev_histmth = ',lev_histmth
484  write(numout,*)' lev_histday = ',lev_histday
485
486  return
487
488  end subroutine conf_phys
489
Note: See TracBrowser for help on using the repository browser.