source: trunk/LMDZ.TITAN/libf/phytitan/callkeys_mod.F90 @ 2054

Last change on this file since 2054 was 2050, checked in by jvatant, 7 years ago

Major radiative transfer contribution : Add the 'corrk_recombin' option that allows to use
correlated-k for single species instead of pre-mix and enables more flexiblity for variable species.
-> Algorithm inspired from Lacis and Oinas 1991 and Amundsen et al 2016

+ Added 'recombin_corrk.F90' - Important improvements in 'sugas_corrk.90' and 'callcork.F90'

  • Must have the desired variable species as tracers -> TBD : Enable to force composition even if no tracers
  • To have decent CPU time recombining is not done on all gridpoints and wavelenghts but we calculate a gasi/v_recomb variable on the reference corrk-k T,P grid (only for T,P values who match the atmospheric conditions ) which is then processed as a standard pre-mix in optci/v routines, but updated every time tracers on the ref P grid have varied > 1%.


READ CAREFULY :

  • In case of 'corrk_recombin', the variable L_NREFVAR doesn't have the same meaning as before and doesn't stand for the different mixing ratios but the different species.
  • Input corr-k should be found in corrkdir within 'corrk_gcm_IR/VI_XXX.dat' and can contain a 'fixed' specie ( compulsory if you include self-broadening ) that MUST have been created with correct mixing ratios, or a variable specie for which mixing ratio MUST have been set to 1 ( no self-broadening then, assume it's a trace sepecie ) -> You can't neither have CIA of variable species included upstream in the corr-k
File size: 2.8 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,callsoil
7!$OMP THREADPRIVATE(calladj,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,graybody
13!$OMP THREADPRIVATE(callgasvis,continuum,graybody)
14      logical,save :: strictboundcorrk
15!$OMP THREADPRIVATE(strictboundcorrk)
16      logical,save :: corrk_recombin
17!$OMP_THREADPRIVATE(corrk_recombin)
18      logical,save :: seashaze,uncoupl_optic_haze
19!$OMP THREADPRIVATE(seashaze,uncoupl_optic_haze)
20
21      logical,save :: callchim, callmufi, callclouds
22!$OMP THREADPRIVATE(callchim,callmufi,callclouds)
23      logical,save :: global1d
24!$OMP THREADPRIVATE(global1d)
25      logical,save :: enertest
26      logical,save :: nonideal
27      logical,save :: meanOLR
28      logical,save :: specOLR
29!$OMP THREADPRIVATE(enertest,nonideal,meanOLR)
30      logical,save :: newtonian
31      logical,save :: check_cpp_match
32      logical,save :: force_cpp
33      logical,save :: testradtimes
34      logical,save :: rayleigh
35!$OMP THREADPRIVATE(newtonian,check_cpp_match,force_cpp,testradtimes,rayleigh)
36      logical,save :: stelbbody
37      logical,save :: ozone
38      logical,save :: tracer
39      logical,save :: mass_redistrib
40!$OMP THREADPRIVATE(stelbbody,ozone,tracer,mass_redistrib)
41      logical,save :: nosurf
42      logical,save :: oblate
43!$OMP THREADPRIVATE(nosurf,oblate)
44      logical,save :: eff_gz
45!$OMP THREADPRIVATE(eff_gz)
46     
47      integer,save :: ichim
48!$OMP THREADPRIVATE(ichim)
49      integer,save :: iddist
50      integer,save :: iradia
51      integer,save :: startype
52!$OMP THREADPRIVATE(iddist,iradia,startype)
53     
54      real,save :: p_prod, tx_prod, rc_prod
55      real,save :: air_rad
56!$OMP THREADPRIVATE(p_prod,tx_prod,rc_prod,air_rad)
57     
58      real,save :: szangle
59!$OMP THREADPRIVATE(szangle)
60      real,save :: Fat1AU
61      real,save :: stelTbb
62!$OMP THREADPRIVATE(Fat1AU,stelTbb)
63      real,save :: pceil
64!$OMP THREADPRIVATE(pceil)
65      real,save :: tau_relax
66      real,save :: intheat
67!$OMP THREADPRIVATE(tau_relax,intheat)
68      real,save :: flatten
69      real,save :: Rmean
70      real,save :: J2
71      real,save :: MassPlanet
72!$OMP THREADPRIVATE(flatten,Rmean,J2,MassPlanet)
73      real,save :: surfalbedo
74      real,save :: surfemis
75!$OMP THREADPRIVATE(surfalbedo,surfemis)
76
77      logical,save :: iscallphys=.false.!existence of callphys.def
78!$OMP THREADPRIVATE(iscallphys)
79
80      ! do we read a startphy.nc file (default=.true.)
81      logical,save :: startphy_file=.true.
82!$OMP THREADPRIVATE(startphy_file)
83
84END MODULE callkeys_mod
Note: See TracBrowser for help on using the repository browser.