The traceur.def Input File
Contents
What is it for?
Tracers need to be listed in traceur.def.
Characteristics of the tracers can be also specified in traceur.def.
What is a tracer?
Tracers are elements which will be defined at each grid point and tracked in the model. They may interact with the atmosphere in different ways.
The model may include different types of tracers:
- condensed species (e.g., CO2, H2O, dust)
- chemically active species
- radiatively active gases (e.g., water vapor)
In the code, all tracers are stored in one three-dimensional array q, the third index of which corresponds to each individual tracer. In input (start.nc, startfi.nc) and output files tracers are stored separately using their individual names. Loading specific tracers requires that the approriate tracer names are set in the traceur.def file, and specific computations for given tracers (e.g. computing the water or CO2 cycles) is controlled by setting the corresponding options in the callphys.def file.
File structure
"Old" version
Number of tracers need to be specified, followed by tracers names. The following example will set up water tracers to compute water cloud and water cycle in general.
2 h2o_vap h2o_ice
"Modern" version
An update version named ModernTrac-v1 need to be used with chemistry in order to set up properly the chemical tracers. This gives also the opportunity to specify for each tracers specific characteristics.
#ModernTrac-v1 # # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # !! README !! # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Welcome, this is the modern traceur.def ! # # ---> DON'T TOUCH/REMOVE THE FIRST LINE OF HEADER #ModernTrac-v1 <--- # # * You can use this area to write as many comments as you want starting lines with #. # * You cannot have comment lines in the middle nor at the end, only at the top. # # # 0. Philosophy This modern version of traceur.def gather in a single file what was # ~~~~~~~~~~~~~ previously in traceur.def AND gases.def plus some hard-coded things. # # 1. Structure After the header, first line is the total number of modern tracers in # ~~~~~~~~~~~~ your file, ie not only tracers sent to dynamics, but also species that # takes part in the composition, radiative transfer, chemistry, etc. # # Then, each line needs to start with the specie name ... and that's the # only mandatory information ! But you can specify all the options you # want in separate blocks following 'option=value', assuming this option # is defined in traceur_h.F90 & initracer.F for physics, infotrac.F90 # for dynamics or chimiedata_h.F90 & calchim_asis.F90 for chemistry. # Indeed this file is read once by dynamics, once by physics and once by # chemistry who keep only the information needed. # # Note that by default a tracer listed below will be sent to dynamics # except if you specify is_dyn=0. If nothing is given, then is_dyn=1. # Not yet fully implemented. # # 3. Options. Implemented options listed below. # ~~~~~~~~~~~~ For dynamic see "infotrac.F90". # For physic see "initracer.F90". # For chemistry see "calchim_asis.F90". # init see "inichim_1D.F90" and "inichim_newstart.F90" # # Dynamic: vadv ! index of vertical trasport schema # hadv ! index of horizontal trasport schema # tnom_transp ! transporting fluid short name: CRisi # # Physic: mmol ! mole mass of tracer [g.mol-1] # aki ! coefficient of thermal concduction # cpi ! heat capacity [J.kg-1.K-1] # is_chim ! 1 if tracer used in chemistry, else 0 # is_rad ! 1 if tracer used in radiative transfer, else 0 # is_recomb ! 1 if tracer used in recombining scheme, else 0 # (if 1, must have is_rad=1) # is_recomb_qset ! 1 if tracer k-corr assume predefined vmr, else 0 # (if 1, must have is_recomb=1) # is_recomb_qotf ! 1 if tracer recombination is done on-the-fly, else 0 # (if 1, must have is_recomb_qset=0) # # Chemistry: SF_mode ! 1 if surface set up value, else 2 sedimentation velocity # SF_value ! [vmr] if SF_mode=1, else [cm.s-1] # prod_rate ! if SF_mode=2 production flux [molecules.m-2.s-1] # # init: qx ! value that initialize constant profile [vmr] # qxf ! file that initialize profile [Pa,vmr] (1 line header) # # # # Random Ex : # 4 # n2 is_dyn=0 # co2 cpi=450.0 is_dyn=1 mmol=44. # hdo hadv=14 vadv=10 tnom_transp=air # h2s # # Insert your tracers list and options below ! # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29 h2o_ice mmol=18 co2 mmol=44 is_chim=1 SF_mode=1 SF_value=4.0e-4 is_rad=1 co mmol=28 is_chim=1 o mmol=16 is_chim=1 o1d mmol=16 is_chim=1 o2 mmol=32 is_chim=1 SF_mode=1 SF_value=2.1e-1 o3 mmol=48 is_chim=1 is_rad=1 is_recomb=1 is_recomb_qotf=1 h mmol=1 is_chim=1 h2 mmol=2 is_chim=1 oh mmol=17 is_chim=1 ho2 mmol=33 is_chim=1 h2o2 mmol=34 is_chim=1 h2o_vap mmol=18 is_chim=1 is_rad=1 ch4 mmol=16 is_chim=1 SF_mode=1 SF_value=1.8e-6 is_rad=1 ch3 mmol=15 is_chim=1 cho mmol=29 is_chim=1 ch2o mmol=30 is_chim=1 ch3o mmol=31 is_chim=1 ch3o2 mmol=47 is_chim=1 ch3o2h mmol=48 is_chim=1 n mmol=14 is_chim=1 no mmol=30 is_chim=1 no2 mmol=46 is_chim=1 n2 mmol=28 is_chim=1 is_rad=1 hno3 mmol=63 is_chim=1 hno4 mmol=79 is_chim=1 n2o mmol=44 is_chim=1 SF_mode=1 SF_value=3.3e-7 no3 mmol=62 is_chim=1 n2o5 mmol=108 is_chim=1
Initialisation
In 3D
In 3D, the initial distribution of tracers is in the start.def file. In order to change it, you have to modify the start.def, for example using newstart.
In 1D
In 1D, the initial distribution of each tracer can be read from a file named "profile_<tracer name>" (e.g. profile_h2o_vap for the water vapour initial profile), located in the run directory. This file has Nlayer + 1 lines (with Nlayer the number of horizontal layers): its first line is the surface value (in kg/m^2), and then each line is the value at the corresponding level (in kg/kg).
For giant planets, as there is no condensation at the surface and as we evaporate the condensates above the bottom of the model (we set the bottom level as deep as necessary for it to be a dry level), the total column of the tracer (initialized with profile_xxx_vap) should be conserved during the run. Hence the choice of initial profile matters a lot. For giant planets as well: you can additionally set qvap_deep = value to force the deep specific concentration to remain constant (bottomless planet) (works with either the generic tracer or the water = .true. option). In that case, note that the total column of the tracer will not remain the same as the column set from the initial profile_xxx_vap.
Using photochemistry
When you use photochemistry (both in 3D and 1D), the initial distribution of tracers can be given as options in the traceur.def file, as explained above.