source: trunk/LMDZ.GENERIC/libf/phystd/callkeys_mod.F90 @ 3300

Last change on this file since 3300 was 3299, checked in by emillour, 10 months ago

Generic PCM:

  • add some auxiliary functions in module tracer_h.F90: is_known_tracer(tname) returns ".true." if "tname" is a known tracer tracer_index(tname) returns the tracer index of tracer "tname"
  • add the possibility of "volcanic outgasing" as point sources. controled by a "callvolcano" flag (default .false.) details about source location and injection details (frequency, length) need be provided in a "volcano.def" ASCII file read at runtime. (see routine "read_volcano" in volcano.F90)

AB+EM

File size: 7.4 KB
Line 
1MODULE callkeys_mod
2IMPLICIT NONE 
3
4      logical,save :: callrad,corrk,calldifv,UseTurbDiff
5!$OMP THREADPRIVATE(callrad,corrk,calldifv,UseTurbDiff)
6      logical,save :: calladj,calltherm,co2cond,callsoil
7!$OMP THREADPRIVATE(calladj,calltherm,co2cond,callsoil)
8
9      ! do we have volcanoes (injecting tracers in atmosphere) ?
10      logical,save :: callvolcano
11!$OMP THREADPRIVATE(callvolcano)
12
13      logical,save :: season,diurnal,tlocked,rings_shadow,lwrite
14!$OMP THREADPRIVATE(season,diurnal,tlocked,rings_shadow,lwrite)
15      logical,save :: callgasvis,continuum,graybody
16!$OMP THREADPRIVATE(callgasvis,continuum,graybody)
17      logical,save :: strictboundcorrk                                     
18!$OMP THREADPRIVATE(strictboundcorrk)
19      logical,save :: strictboundcia                                     
20!$OMP THREADPRIVATE(strictboundcia)
21      logical,save :: callthermos
22      logical,save :: force_conduction
23      real,save    :: phitop
24      real,save    :: zztop
25      real,save    :: a_coeff
26      real,save    :: s_coeff
27!$OMP THREADPRIVATE(callthermos,phitop,zztop,force_conduction,a_coeff,s_coeff)
28
29      logical,save :: enertest
30      logical,save :: nonideal
31      logical,save :: meanOLR
32      logical,save :: specOLR
33      logical,save :: kastprof
34      logical,save :: diagdtau
35!$OMP THREADPRIVATE(enertest,nonideal,meanOLR,kastprof,diagdtau)
36      logical,save :: newtonian
37      logical,save :: force_cpp
38      integer,save :: cpp_mugaz_mode
39      logical,save :: testradtimes
40      logical,save :: rayleigh
41      logical,save :: varspec
42      character(64),save :: varspec_data
43      integer,save :: nvarlayer
44!$OMP THREADPRIVATE(newtonian,force_cpp,cpp_mugaz_mode,testradtimes,rayleigh,varspec,varspec_data,nvarlayer)
45      logical,save :: stelbbody
46      logical,save :: nearco2cond
47      logical,save :: tracer
48      logical,save :: mass_redistrib
49!$OMP THREADPRIVATE(stelbbody,nearco2cond,tracer,mass_redistrib)
50      logical,save :: varactive
51      logical,save :: varfixed
52      logical,save :: sedimentation
53      logical,save :: generic_condensation
54      logical,save :: generic_rain
55      logical,save :: virtual_correction
56!$OMP THREADPRIVATE(varactive,varfixed,sedimentation,generic_condensation,generic_rain,virtual_correction)
57      logical,save :: water ,watercond, waterrain, moistadjustment, moistadjustment_generic, moist_convection_inhibition
58!$OMP THREADPRIVATE(water, watercond, waterrain, moistadjustment, moistadjustment_generic, moist_convection_inhibition)
59      logical,save :: aeroco2, aeroh2o, aeroh2so4, aeroback2lay
60!$OMP THREADPRIVATE(aeroco2, aeroh2o, aeroh2so4, aeroback2lay)
61      logical,save :: aeronh3, aeronlay, aeroaurora
62!$OMP THREADPRIVATE(aeronh3,aeronlay,aeroaurora)
63
64      logical,save :: aerovenus ! master flag for "Venus-like" aerosol additions
65!$OMP THREADPRIVATE(aerovenus)
66      ! detailed sub-options when with "Venus-like" aerosol additions
67      logical,save :: aerovenus1, aerovenus2, aerovenus2p, aerovenus3, aerovenusUV
68!$OMP THREADPRIVATE(aerovenus1, aerovenus2, aerovenus2p, aerovenus3, aerovenusUV)
69
70      logical,save :: aerofixco2, aerofixh2o
71!$OMP THREADPRIVATE(aerofixco2, aerofixh2o)
72      integer,save :: aerogeneric ! number of aerosols of "generic" kind
73!$OMP THREADPRIVATE(aerogeneric)
74      logical,save :: hydrology
75      logical,save :: CLFvarying
76      logical,save :: nosurf
77      logical,save :: oblate
78!$OMP THREADPRIVATE(hydrology,CLFvarying,nosurf,oblate)
79      logical,save :: ok_slab_ocean
80      logical,save :: ok_slab_sic
81      logical,save :: ok_slab_heat_transp
82      logical,save :: albedo_spectral_mode
83!$OMP THREADPRIVATE(ok_slab_ocean,ok_slab_sic,ok_slab_heat_transp,albedo_spectral_mode)
84      logical,save :: photochem
85      logical,save :: photoheat
86      logical,save :: jonline
87      logical,save :: depos
88      logical,save :: haze
89!$OMP THREADPRIVATE(photochem,photoheat,jonline,depos)
90      logical,save :: calllott_nonoro
91!$OMP THREADPRIVATE(calllott_nonoro)
92      logical,save :: global1d
93      real,save    :: szangle
94!$OMP THREADPRIVATE(global1d,szangle)
95
96      integer,save :: iddist
97      integer,save :: iaervar
98      integer,save :: iradia
99      integer,save :: startype
100      integer,save :: versH2H2cia
101      character(64),save :: H2orthopara_mixture
102      integer,save :: nlayaero
103!$OMP THREADPRIVATE(iddist,iaervar,iradia,startype,versH2H2cia,H2orthopara_mixture,nlayaero)
104      integer,dimension(:),allocatable,save :: aeronlay_choice
105!$OMP THREADPRIVATE(aeronlay_choice)
106
107      character(64),save :: optprop_back2lay_vis
108      character(64),save :: optprop_back2lay_ir
109      character(64),dimension(:),allocatable,save :: optprop_aeronlay_vis
110      character(64),dimension(:),allocatable,save :: optprop_aeronlay_ir
111!$OMP THREADPRIVATE(optprop_back2lay_vis,optprop_back2lay_ir,optprop_aeronlay_vis,optprop_aeronlay_ir)
112
113      real,save :: tplanckmin
114      real,save :: tplanckmax
115      real,save :: dtplanck
116!$OMP THREADPRIVATE(tplanckmin,tplanckmax,dtplanck)
117      real,save :: topdustref
118      real,save :: dusttau
119      real,save :: Fat1AU
120      real,save :: stelTbb
121!$OMP THREADPRIVATE(topdustref,dusttau,Fat1AU,stelTbb)
122      real,save :: Tstrat
123      real,save :: tplanet
124      real,save :: obs_tau_col_tropo
125      real,save :: obs_tau_col_strato
126!$OMP THREADPRIVATE(Tstrat,tplanet,obs_tau_col_tropo,obs_tau_col_strato)
127      real,save :: pres_bottom_tropo
128      real,save :: pres_top_tropo
129      real,save :: pres_bottom_strato
130      real,save :: pres_top_strato
131!$OMP THREADPRIVATE(pres_bottom_tropo,pres_top_tropo,pres_bottom_strato,pres_top_strato)
132      real,save :: size_tropo
133      real,save :: size_strato
134      real,save :: satval
135      real,save :: CLFfixval
136      real,save :: n2mixratio
137!$OMP THREADPRIVATE(size_tropo,size_strato,satval,CLFfixval,n2mixratio)
138      real,save :: size_nh3_cloud
139      real,save :: pres_nh3_cloud
140      real,save :: tau_nh3_cloud
141!$OMP THREADPRIVATE(size_nh3_cloud, pres_nh3_cloud, tau_nh3_cloud)
142      real,dimension(:),allocatable,save :: aeronlay_tauref
143      real,dimension(:),allocatable,save :: aeronlay_lamref
144      real,dimension(:),allocatable,save :: aeronlay_ptop
145      real,dimension(:),allocatable,save :: aeronlay_pbot
146      real,dimension(:),allocatable,save :: aeronlay_sclhght
147      real,dimension(:),allocatable,save :: aeronlay_size
148      real,dimension(:),allocatable,save :: aeronlay_nueff
149!$OMP THREADPRIVATE(aeronlay_tauref,aeronlay_lamref,aeronlay_ptop,aeronlay_pbot,aeronlay_sclhght,aeronlay_size,aeronlay_nueff)
150      real,save :: co2supsat
151      real,save :: pceil
152      real,save :: albedosnow
153      real,save :: alb_ocean
154      real,save :: albedoco2ice
155      real,save :: maxicethick
156!$OMP THREADPRIVATE(co2supsat,pceil,albedosnow,alb_ocean,albedoco2ice,maxicethick)
157      real,save :: Tsaldiff
158      real,save :: tau_relax
159      real,save :: cloudlvl
160      real,save :: intheat
161!$OMP THREADPRIVATE(Tsaldiff,tau_relax,cloudlvl,intheat)
162      real,save :: flatten
163      real,save :: Rmean
164      real,save :: J2
165      real,save :: MassPlanet
166!$OMP THREADPRIVATE(flatten,Rmean,J2,MassPlanet)
167      real,save :: surfalbedo
168      real,save :: surfemis
169!$OMP THREADPRIVATE(surfalbedo,surfemis)
170      real,save :: noseason_day
171!$OMP THREADPRIVATE(noseason_day)
172      real,save :: kmixmin
173!$OMP THREADPRIVATE(kmixmin)
174     
175      logical,save :: iscallphys=.false.!existence of callphys.def
176!$OMP THREADPRIVATE(iscallphys)
177
178      ! do we read a startphy.nc file (default=.true.)
179      logical,save :: startphy_file=.true.
180!$OMP THREADPRIVATE(startphy_file)
181
182END MODULE callkeys_mod
Note: See TracBrowser for help on using the repository browser.