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

Last change on this file since 2299 was 2299, checked in by dbardet, 5 years ago

27/04/2017 (r2299) == DB

Add non-orographic gravity waves drag parameterization (Flott scheme adpated from the Earth GCM)

It can be called using 'calllott_nonoro=.true.' in callphys.def, and set the maximum value of the Eliassen-Plam flux 'epflux_max'.
Cumulated output fields are du_nonoro, dv_nonoro (winds tendency due to GW drag), east_gwstress and west_gwstress (stress profile in esatward and westward direction due to GW drag)
These variables are added in Xhisitns and start files.

File size: 5.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,co2cond,callsoil
7!$OMP THREADPRIVATE(calladj,calltherm,co2cond,callsoil)
8      logical,save :: season,diurnal,tlocked,rings_shadow,lwrite
9!$OMP THREADPRIVATE(season,diurnal,tlocked,rings_shadow,lwrite)
10      logical,save :: callstats,calleofdump
11!$OMP THREADPRIVATE(callstats,calleofdump)
12      logical,save :: callgasvis,continuum,H2Ocont_simple,graybody
13!$OMP THREADPRIVATE(callgasvis,continuum,H2Ocont_simple,graybody)
14      logical,save :: strictboundcorrk                                     
15!$OMP THREADPRIVATE(strictboundcorrk)
16
17      logical,save :: enertest
18      logical,save :: nonideal
19      logical,save :: meanOLR
20      logical,save :: specOLR
21      logical,save :: kastprof
22      logical,save :: diagdtau
23!$OMP THREADPRIVATE(enertest,nonideal,meanOLR,kastprof,diagdtau)
24      logical,save :: newtonian
25      logical,save :: check_cpp_match
26      logical,save :: force_cpp
27      logical,save :: testradtimes
28      logical,save :: rayleigh
29!$OMP THREADPRIVATE(newtonian,check_cpp_match,force_cpp,testradtimes,rayleigh)
30      logical,save :: stelbbody
31      logical,save :: ozone
32      logical,save :: nearco2cond
33      logical,save :: tracer
34      logical,save :: mass_redistrib
35!$OMP THREADPRIVATE(stelbbody,ozone,nearco2cond,tracer,mass_redistrib)
36      logical,save :: varactive
37      logical,save :: varfixed
38      logical,save :: radfixed
39      logical,save :: sedimentation
40!$OMP THREADPRIVATE(varactive,varfixed,radfixed,sedimentation)
41      logical,save :: water,watercond,waterrain
42!$OMP THREADPRIVATE(water,watercond,waterrain)
43      logical,save :: aeroco2,aeroh2o,aeroh2so4,aeroback2lay
44!$OMP THREADPRIVATE(aeroco2,aeroh2o,aeroh2so4,aeroback2lay)
45      logical,save :: aeronh3, aeronlay, aeroaurora
46!$OMP THREADPRIVATE(aeronh3,aeronlay,aeroaurora)
47      logical,save :: aerofixco2,aerofixh2o
48!$OMP THREADPRIVATE(aerofixco2,aerofixh2o)
49      logical,save :: hydrology
50      logical,save :: sourceevol
51      logical,save :: CLFvarying
52      logical,save :: nosurf
53      logical,save :: oblate
54!$OMP THREADPRIVATE(hydrology,sourceevol,CLFvarying,nosurf,oblate)
55      logical,save :: ok_slab_ocean
56      logical,save :: ok_slab_sic
57      logical,save :: ok_slab_heat_transp
58      logical,save :: albedo_spectral_mode
59!$OMP THREADPRIVATE(ok_slab_ocean,ok_slab_sic,ok_slab_heat_transp,albedo_spectral_mode)
60      logical,save :: photochem
61      logical,save :: haze
62!$OMP THREADPRIVATE(photochem)
63      logical,save :: calllott_nonoro
64      logical,save :: gwd_convective_source
65!$OMP THREADPRIVATE(calllott_nonoro,gwd_convective_source)
66
67      integer,save :: iddist
68      integer,save :: iaervar
69      integer,save :: iradia
70      integer,save :: startype
71      integer,save :: versH2H2cia
72      integer,save :: nlayaero
73!$OMP THREADPRIVATE(iddist,iaervar,iradia,startype,versH2H2cia,nlayaero)
74      integer,dimension(:),allocatable,save :: aeronlay_choice
75!$OMP THREADPRIVATE(aeronlay_choice)
76
77      character(64),save :: optprop_back2lay_vis
78      character(64),save :: optprop_back2lay_ir
79      character(64),dimension(:),allocatable,save :: optprop_aeronlay_vis
80      character(64),dimension(:),allocatable,save :: optprop_aeronlay_ir
81!$OMP THREADPRIVATE(optprop_back2lay_vis,optprop_back2lay_ir,optprop_aeronlay_vis,optprop_aeronlay_ir)
82
83      real,save :: tplanckmin
84      real,save :: tplanckmax
85      real,save :: dtplanck
86!$OMP THREADPRIVATE(tplanckmin,tplanckmax,dtplanck)
87      real,save :: topdustref
88      real,save :: Nmix_co2
89      real,save :: dusttau
90      real,save :: Fat1AU
91      real,save :: stelTbb
92!$OMP THREADPRIVATE(topdustref,Nmix_co2,dusttau,Fat1AU,stelTbb)
93      real,save :: Tstrat
94      real,save :: tplanet
95      real,save :: obs_tau_col_tropo
96      real,save :: obs_tau_col_strato
97!$OMP THREADPRIVATE(Tstrat,tplanet,obs_tau_col_tropo,obs_tau_col_strato)
98      real,save :: pres_bottom_tropo
99      real,save :: pres_top_tropo
100      real,save :: pres_bottom_strato
101      real,save :: pres_top_strato
102!$OMP THREADPRIVATE(pres_bottom_tropo,pres_top_tropo,pres_bottom_strato,pres_top_strato)
103      real,save :: size_tropo
104      real,save :: size_strato
105      real,save :: satval
106      real,save :: CLFfixval
107      real,save :: n2mixratio
108!$OMP THREADPRIVATE(size_tropo,size_strato,satval,CLFfixval,n2mixratio)
109      real,save :: size_nh3_cloud
110      real,save :: pres_nh3_cloud
111      real,save :: tau_nh3_cloud
112!$OMP THREADPRIVATE(size_nh3_cloud, pres_nh3_cloud, tau_nh3_cloud)
113      real,dimension(:),allocatable,save :: aeronlay_tauref
114      real,dimension(:),allocatable,save :: aeronlay_lamref
115      real,dimension(:),allocatable,save :: aeronlay_ptop
116      real,dimension(:),allocatable,save :: aeronlay_pbot
117      real,dimension(:),allocatable,save :: aeronlay_sclhght
118      real,dimension(:),allocatable,save :: aeronlay_size
119!$OMP THREADPRIVATE(aeronlay_tauref,aeronlay_lamref,aeronlay_ptop,aeronlay_pbot,aeronlay_sclhght,aeronlay_size)
120      real,save :: co2supsat
121      real,save :: pceil
122      real,save :: albedosnow
123      real,save :: albedoco2ice
124      real,save :: maxicethick
125!$OMP THREADPRIVATE(co2supsat,pceil,albedosnow,albedoco2ice,maxicethick)
126      real,save :: Tsaldiff
127      real,save :: tau_relax
128      real,save :: cloudlvl
129      real,save :: icetstep
130      real,save :: intheat
131!$OMP THREADPRIVATE(Tsaldiff,tau_relax,cloudlvl,icetstep,intheat)
132      real,save :: flatten
133      real,save :: Rmean
134      real,save :: J2
135      real,save :: MassPlanet
136!$OMP THREADPRIVATE(flatten,Rmean,J2,MassPlanet)
137      real,save :: surfalbedo
138      real,save :: surfemis
139!$OMP THREADPRIVATE(surfalbedo,surfemis)
140      real,save :: epflux_max
141!$OMP THREADPRIVATE(epflux_max)
142
143      logical,save :: iscallphys=.false.!existence of callphys.def
144!$OMP THREADPRIVATE(iscallphys)
145
146      ! do we read a startphy.nc file (default=.true.)
147      logical,save :: startphy_file=.true.
148!$OMP THREADPRIVATE(startphy_file)
149
150END MODULE callkeys_mod
Note: See TracBrowser for help on using the repository browser.