source: trunk/LMDZ.PLUTO/libf/phypluto/callkeys_mod.F90 @ 3557

Last change on this file since 3557 was 3557, checked in by debatzbr, 3 weeks ago

Miscellaneous cleans + Set-up the physics for the implementation of the microphysical model.

File size: 10.9 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,n2cond,callsoil
7!$OMP THREADPRIVATE(calladj,calltherm,n2cond,callsoil)
8      logical,save :: callconduct,callmolvis,callmoldiff
9!$OMP THREADPRIVATE(callconduct,callmolvis,callmoldiff)
10      logical,save :: season,diurnal,lwrite
11!$OMP THREADPRIVATE(season,diurnal,lwrite)
12      logical,save :: callgasvis,continuum,graybody
13!$OMP THREADPRIVATE(callgasvis,continuum,graybody)
14      logical,save :: strictboundcorrk
15!$OMP THREADPRIVATE(strictboundcorrk)
16      logical,save :: strictboundcia
17!$OMP THREADPRIVATE(strictboundcia)
18
19      logical,save :: enertest
20      logical,save :: nonideal
21      logical,save :: meanOLR
22      logical,save :: specOLR
23      logical,save :: kastprof
24      logical,save :: diagdtau
25!$OMP THREADPRIVATE(enertest,nonideal,meanOLR,kastprof,diagdtau)
26      logical,save :: newtonian
27      logical,save :: force_cpp
28      integer,save :: cpp_mugaz_mode
29      logical,save :: testradtimes
30      logical,save :: rayleigh
31!$OMP THREADPRIVATE(newtonian,force_cpp,cpp_mugaz_mode,testradtimes,rayleigh)
32      logical,save :: stelbbody
33      logical,save :: tracer
34      logical,save :: mass_redistrib
35!$OMP THREADPRIVATE(stelbbody,tracer,mass_redistrib)
36      logical,save :: varactive
37      logical,save :: varfixed
38      logical,save :: sedimentation
39      logical,save :: generic_condensation
40!$OMP THREADPRIVATE(varactive,varfixed,sedimentation,generic_condensation)
41      logical,save :: aeron2, aeroh2o, aeroh2so4, aeroback2lay
42!$OMP THREADPRIVATE(aeron2, aeroh2o, aeroh2so4, aeroback2lay)
43      logical,save :: aeronh3, aeronlay, aeroaurora
44!$OMP THREADPRIVATE(aeronh3,aeronlay,aeroaurora)
45
46      logical,save :: aerofixn2
47!$OMP THREADPRIVATE(aerofixn2)
48      integer,save :: aerogeneric ! number of aerosols of "generic" kind
49!$OMP THREADPRIVATE(aerogeneric)
50      logical,save :: nosurf
51!$OMP THREADPRIVATE(nosurf)
52      logical,save :: albedo_spectral_mode
53!$OMP THREADPRIVATE(albedo_spectral_mode)
54      logical,save :: photoheat
55      logical,save :: jonline
56      logical,save :: depos
57!$OMP THREADPRIVATE(photoheat,jonline,depos)
58
59!! Pluto-specific variables
60      logical,save :: methane,carbox
61      !$OMP THREADPRIVATE(methane,carbox)
62      logical,save :: haze,haze_proffix,haze_radproffix
63!$OMP THREADPRIVATE(haze,haze_proffix,haze_radproffix)
64      logical,save :: fasthaze,changeti,changetid,aerohaze,fractal
65!$OMP THREADPRIVATE(fasthaze,changeti,changetid,aerohaze,fractal)
66      logical,save :: fast,metcloud,monoxcloud,glaflow,triton,paleo
67!$OMP THREADPRIVATE(fast,metcloud,monoxcloud,glaflow,triton,paleo)
68      logical,save :: nlte,strobel
69!$OMP THREADPRIVATE(nlte,strobel)
70      logical,save :: kbo
71!$OMP THREADPRIVATE(kbo)
72      logical,save :: cooling
73!$OMP THREADPRIVATE(cooling)
74      logical,save :: source_haze,hazeconservch4
75!$OMP THREADPRIVATE(source_haze,hazeconservch4)
76      logical,save :: ch4lag,tsurfmax
77!$OMP THREADPRIVATE(ch4lag,tsurfmax)
78      logical,save :: specalb
79!$OMP THREADPRIVATE(specalb)
80      logical,save :: assymflux
81!$OMP THREADPRIVATE(assymflux)
82      logical,save :: condmetsurf,condcosurf,vertdiff
83!$OMP THREADPRIVATE(condmetsurf,condcosurf,vertdiff)
84      logical,save :: convergeps,conservn2,condensn2,no_n2frost
85!$OMP THREADPRIVATE(convergeps,conservn2,condensn2,no_n2frost)
86      logical,save :: conservch4
87!$OMP THREADPRIVATE(conservch4)
88      logical,save :: kmix_proffix
89!$OMP THREADPRIVATE(kmix_proffix)
90      logical,save :: ch4fix,vmrch4_proffix
91!$OMP THREADPRIVATE(ch4fix,vmrch4_proffix)
92      integer,save :: nbsub
93!$OMP THREADPRIVATE(nbsub)
94      integer,save :: mode_n2
95!$OMP THREADPRIVATE(mode_n2)
96      integer,save :: mode_ch4
97!$OMP THREADPRIVATE(mode_ch4)
98      integer,save :: mode_tholins
99!$OMP THREADPRIVATE(mode_tholins)
100      integer,save :: kfix
101!$OMP THREADPRIVATE(kfix)
102      integer,save :: mode_hs
103!$OMP THREADPRIVATE(mode_hs)
104      integer,save :: feedback_met
105!$OMP THREADPRIVATE(feedback_met)
106      integer,save :: patchflux
107!$OMP THREADPRIVATE(patchflux)
108      integer,save :: nb_monomer
109!$OMP THREADPRIVATE(nb_monomer)
110      real,save    :: Nmix_co
111!$OMP THREADPRIVATE(Nmix_co)
112      real,save    :: Nmix_ch4
113!$OMP THREADPRIVATE(Nmix_ch4)
114      real,save    :: tau_n2
115!$OMP THREADPRIVATE(tau_n2)
116      real,save    :: tau_ch4
117!$OMP THREADPRIVATE(tau_ch4)
118      real,save    :: tau_co
119!$OMP THREADPRIVATE(tau_co)
120      real,save    :: tau_prechaze
121!$OMP THREADPRIVATE(tau_prechaze)
122      real,save    :: paleoyears
123!$OMP THREADPRIVATE(paleoyears)
124      real,save    :: dayfrac
125!$OMP THREADPRIVATE(dayfrac)
126      real,save    :: thresh_non2
127!$OMP THREADPRIVATE(thresh_non2)
128      real,save    :: vmrch4fix
129!$OMP THREADPRIVATE(vmrch4fix)
130      real,save    :: fluxgeo
131!$OMP THREADPRIVATE(fluxgeo)
132      real,save    :: fluxgeo2
133!$OMP THREADPRIVATE(fluxgeo2)
134      real,save    :: deltab
135!$OMP THREADPRIVATE(deltab)
136      real,save    :: metlateq
137!$OMP THREADPRIVATE(metlateq)
138      real,save    :: metls1
139!$OMP THREADPRIVATE(metls1)
140      real,save    :: metls2
141!$OMP THREADPRIVATE(metls2)
142      real,save    :: tholateq
143!$OMP THREADPRIVATE(tholateq)
144      real,save    :: tholatn
145!$OMP THREADPRIVATE(tholatn)
146      real,save    :: tholats
147!$OMP THREADPRIVATE(tholats)
148      real,save    :: tholone
149!$OMP THREADPRIVATE(tholone)
150      real,save    :: tholonw
151!$OMP THREADPRIVATE(tholonw)
152      real,save    :: spelon1
153!$OMP THREADPRIVATE(spelon1)
154      real,save    :: spelat2
155!$OMP THREADPRIVATE(spelat2)
156      real,save    :: spelat1
157!$OMP THREADPRIVATE(spelat1)
158      real,save    :: spelon2
159!$OMP THREADPRIVATE(spelon2)
160      real,save    :: latlag
161!$OMP THREADPRIVATE(latlag)
162      real,save    :: vmrlag
163!$OMP THREADPRIVATE(vmrlag)
164      real,save    :: albmin_ch4
165!$OMP THREADPRIVATE(albmin_ch4)
166      real,save    :: fracsource
167!$OMP THREADPRIVATE(fracsource)
168      real,save    :: latsource
169!$OMP THREADPRIVATE(latsource)
170      real,save    :: lonsource
171!$OMP THREADPRIVATE(lonsource)
172      real,save    :: thres_ch4ice
173!$OMP THREADPRIVATE(thres_ch4ice)
174      real,save    :: thres_n2ice
175!$OMP THREADPRIVATE(thres_n2ice)
176      real,save    :: thres_coice
177!$OMP THREADPRIVATE(thres_coice)
178      real,save    :: fdch4_latn
179!$OMP THREADPRIVATE(fdch4_latn)
180      real,save    :: fdch4_lats
181!$OMP THREADPRIVATE(fdch4_lats)
182      real,save    :: fdch4_lone
183!$OMP THREADPRIVATE(fdch4_lone)
184      real,save    :: fdch4_lonw
185!$OMP THREADPRIVATE(fdch4_lonw)
186      real,save    :: fdch4_maxice
187!$OMP THREADPRIVATE(fdch4_maxice)
188      real,save    :: fdch4_maxalb
189!$OMP THREADPRIVATE(fdch4_maxalb)
190      real,save    :: fdch4_ampl
191!$OMP THREADPRIVATE(fdch4_ampl)
192      real,save    :: fdch4_depalb
193!$OMP THREADPRIVATE(fdch4_depalb)
194      real,save    :: fdch4_finalb
195!$OMP THREADPRIVATE(fdch4_finalb)
196      real,save    :: rad_haze
197!$OMP THREADPRIVATE(rad_haze)
198      logical,save :: oldplutovdifc
199!$OMP THREADPRIVATE(oldplutovdifc)
200      logical,save :: oldplutocorrk
201!$OMP THREADPRIVATE(oldplutocorrk)
202      logical,save :: oldplutosedim
203!$OMP THREADPRIVATE(oldplutosedim)
204      logical,save :: global1d
205      real,save    :: szangle
206!$OMP THREADPRIVATE(global1d,szangle)
207      real,save    :: alpha_top ! cooling constant at top of atmosphere
208      real,save    :: pref      ! pressure at mid transition fo alpha_top (Pa)
209      real,save    :: deltap    ! width of transition to alpha_top (Pa)
210!$OMP THREADPRIVATE(alpha_top,pref,deltap)
211     
212!! Microphysics-specific variables
213      logical,save :: callmufi, call_haze_prod_pCH4
214!$OMP THREADPRIVATE(callmufi,call_haze_prod_pCH4)
215      real,save :: haze_p_prod, haze_tx_prod, haze_rc_prod
216      real,save :: haze_rm, haze_df, haze_rho
217      real,save :: air_rad
218!$OMP THREADPRIVATE(haze_p_prod,haze_tx_prod,haze_rc_prod,haze_rm,haze_df,haze_rho,air_rad)
219
220      integer,save :: iddist
221      integer,save :: iaervar
222      integer,save :: iradia
223      integer,save :: startype
224      integer,save :: versH2H2cia
225      character(64),save :: H2orthopara_mixture
226      integer,save :: nlayaero
227!$OMP THREADPRIVATE(iddist,iaervar,iradia,startype,versH2H2cia,H2orthopara_mixture,nlayaero)
228      integer,dimension(:),allocatable,save :: aeronlay_choice
229!$OMP THREADPRIVATE(aeronlay_choice)
230
231      character(64),save :: optprop_back2lay_vis
232      character(64),save :: optprop_back2lay_ir
233      character(64),dimension(:),allocatable,save :: optprop_aeronlay_vis
234      character(64),dimension(:),allocatable,save :: optprop_aeronlay_ir
235!$OMP THREADPRIVATE(optprop_back2lay_vis,optprop_back2lay_ir,optprop_aeronlay_vis,optprop_aeronlay_ir)
236
237      real,save :: tplanckmin
238      real,save :: tplanckmax
239      real,save :: dtplanck
240!$OMP THREADPRIVATE(tplanckmin,tplanckmax,dtplanck)
241      real,save :: topdustref
242      real,save :: dusttau
243      real,save :: Fat1AU
244      real,save :: stelTbb
245!$OMP THREADPRIVATE(topdustref,dusttau,Fat1AU,stelTbb)
246      real,save :: Tstrat
247      real,save :: tplanet
248      real,save :: obs_tau_col_tropo
249      real,save :: obs_tau_col_strato
250!$OMP THREADPRIVATE(Tstrat,tplanet,obs_tau_col_tropo,obs_tau_col_strato)
251      real,save :: pres_bottom_tropo
252      real,save :: pres_top_tropo
253      real,save :: pres_bottom_strato
254      real,save :: pres_top_strato
255!$OMP THREADPRIVATE(pres_bottom_tropo,pres_top_tropo,pres_bottom_strato,pres_top_strato)
256      real,save :: size_tropo
257      real,save :: size_strato
258      real,save :: satval
259      real,save :: n2mixratio
260!$OMP THREADPRIVATE(size_tropo,size_strato,satval,n2mixratio)
261      real,save :: size_nh3_cloud
262      real,save :: pres_nh3_cloud
263      real,save :: tau_nh3_cloud
264!$OMP THREADPRIVATE(size_nh3_cloud, pres_nh3_cloud, tau_nh3_cloud)
265      real,dimension(:),allocatable,save :: aeronlay_tauref
266      real,dimension(:),allocatable,save :: aeronlay_lamref
267      real,dimension(:),allocatable,save :: aeronlay_ptop
268      real,dimension(:),allocatable,save :: aeronlay_pbot
269      real,dimension(:),allocatable,save :: aeronlay_sclhght
270      real,dimension(:),allocatable,save :: aeronlay_size
271      real,dimension(:),allocatable,save :: aeronlay_nueff
272!$OMP THREADPRIVATE(aeronlay_tauref,aeronlay_lamref,aeronlay_ptop,aeronlay_pbot,aeronlay_sclhght,aeronlay_size,aeronlay_nueff)
273      real,save :: n2supsat
274      real,save :: pceil
275      real,save :: albedosnow
276      real,save :: albedon2ice
277      real,save :: maxicethick
278!$OMP THREADPRIVATE(n2supsat,pceil,albedosnow,albedon2ice,maxicethick)
279      real,save :: Tsaldiff
280      real,save :: tau_relax
281      real,save :: cloudlvl
282      real,save :: icetstep
283      real,save :: intheat
284!$OMP THREADPRIVATE(Tsaldiff,tau_relax,cloudlvl,icetstep,intheat)
285      real,save :: surfalbedo
286      real,save :: surfemis
287!$OMP THREADPRIVATE(surfalbedo,surfemis)
288      real,save :: noseason_day
289!$OMP THREADPRIVATE(noseason_day)
290      real,save :: kmixmin
291!$OMP THREADPRIVATE(kmixmin)
292
293      logical,save :: iscallphys=.false.!existence of callphys.def
294!$OMP THREADPRIVATE(iscallphys)
295
296      ! do we read a startphy.nc file (default=.true.)
297      logical,save :: startphy_file=.true.
298!$OMP THREADPRIVATE(startphy_file)
299
300END MODULE callkeys_mod
Note: See TracBrowser for help on using the repository browser.