<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Milcareck</id>
		<title>Planets - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Milcareck"/>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Special:Contributions/Milcareck"/>
		<updated>2026-06-12T08:19:07Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3218</id>
		<title>The traceur.def Input File</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3218"/>
				<updated>2026-02-24T11:15:19Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: /* Initialisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it for? ==&lt;br /&gt;
&lt;br /&gt;
Tracers need to be listed in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
Characteristics of the tracers can be also specified in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
It should not be confused with [[tracer.def]], which is the configuration file for [[DYNAMICO]].&lt;br /&gt;
&lt;br /&gt;
== What is a tracer? ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The model may include different types of tracers:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;condensed species (e.g., CO2, H2O, dust)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;chemically active species&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;radiatively active gases (e.g., water vapor)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
In the code, all tracers are stored in one three-dimensional array q, the third index of&lt;br /&gt;
which corresponds to each individual tracer. In input &lt;br /&gt;
([https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_start.nc_and_startfi.nc_input_files ''start.nc'', ''startfi.nc''])&lt;br /&gt;
and output files tracers are stored separately using their individual names. Loading specific&lt;br /&gt;
tracers requires that the approriate tracer names are set in the ''traceur.def'' file, &lt;br /&gt;
and specific computations for given tracers (e.g. computing the water or CO2&lt;br /&gt;
cycles) is controlled by setting the corresponding options in the &lt;br /&gt;
[https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_callphys.def_Input_File ''callphys.def''] file.&lt;br /&gt;
&lt;br /&gt;
== File structure ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Old&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2&lt;br /&gt;
h2o_vap&lt;br /&gt;
h2o_ice&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Modern&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ModernTrac-v1&lt;br /&gt;
#&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# !! README !!&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
#  Welcome, this is the modern traceur.def !&lt;br /&gt;
# &lt;br /&gt;
#         ---&amp;gt; DON'T TOUCH/REMOVE THE FIRST LINE OF HEADER #ModernTrac-v1 &amp;lt;---&lt;br /&gt;
#&lt;br /&gt;
# * You can use this area to write as many comments as you want starting lines with #.&lt;br /&gt;
# * You cannot have comment lines in the middle nor at the end, only at the top.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# 0. Philosophy  This modern version of traceur.def gather in a single file what was&lt;br /&gt;
# ~~~~~~~~~~~~~  previously in traceur.def AND gases.def plus some hard-coded things.&lt;br /&gt;
#&lt;br /&gt;
# 1. Structure  After the header, first line is the total number of modern tracers in&lt;br /&gt;
# ~~~~~~~~~~~~  your file, ie not only tracers sent to dynamics, but also species that&lt;br /&gt;
#               takes part in the composition, radiative transfer, chemistry, etc.&lt;br /&gt;
#&lt;br /&gt;
#               Then, each line needs to start with the specie name ... and that's the&lt;br /&gt;
#               only mandatory information ! But you can specify all the options you&lt;br /&gt;
#               want in separate blocks following 'option=value', assuming this option&lt;br /&gt;
#               is defined in traceur_h.F90 &amp;amp; initracer.F for physics, infotrac.F90 &lt;br /&gt;
#               for dynamics or chimiedata_h.F90 &amp;amp; calchim_asis.F90 for chemistry.&lt;br /&gt;
#               Indeed this file is read once by dynamics, once by physics and once by&lt;br /&gt;
#               chemistry who keep only the information needed.&lt;br /&gt;
#&lt;br /&gt;
#               Note that by default a tracer listed below will be sent to dynamics&lt;br /&gt;
#               except if you specify is_dyn=0. If nothing is given, then is_dyn=1.&lt;br /&gt;
#               Not yet fully implemented.&lt;br /&gt;
#&lt;br /&gt;
# 3. Options.   Implemented options listed below.&lt;br /&gt;
# ~~~~~~~~~~~~  For dynamic see &amp;quot;infotrac.F90&amp;quot;.&lt;br /&gt;
#               For physic see &amp;quot;initracer.F90&amp;quot;.&lt;br /&gt;
#               For chemistry see &amp;quot;calchim_asis.F90&amp;quot;.&lt;br /&gt;
#                        init see &amp;quot;inichim_1D.F90&amp;quot; and &amp;quot;inichim_newstart.F90&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# Dynamic:      vadv           ! index of vertical trasport schema&lt;br /&gt;
#               hadv           ! index of horizontal trasport schema&lt;br /&gt;
#               tnom_transp    ! transporting fluid short name: CRisi&lt;br /&gt;
#&lt;br /&gt;
# Physic:       mmol           ! mole mass of tracer [g.mol-1]&lt;br /&gt;
#               aki            ! coefficient of thermal concduction&lt;br /&gt;
#               cpi            ! heat capacity [J.kg-1.K-1]&lt;br /&gt;
#               is_chim        ! 1 if tracer used in chemistry, else 0&lt;br /&gt;
#               is_rad         ! 1 if tracer used in radiative transfer, else 0&lt;br /&gt;
#               is_recomb      ! 1 if tracer used in recombining scheme, else 0&lt;br /&gt;
#                                (if 1, must have is_rad=1)&lt;br /&gt;
#               is_recomb_qset ! 1 if tracer k-corr assume predefined vmr, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb=1)&lt;br /&gt;
#               is_recomb_qotf ! 1 if tracer recombination is done on-the-fly, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb_qset=0)&lt;br /&gt;
#&lt;br /&gt;
# Chemistry:    SF_mode        ! 1 if surface set up value, else 2 sedimentation velocity&lt;br /&gt;
#               SF_value       ! [vmr] if SF_mode=1, else [cm.s-1]&lt;br /&gt;
#               prod_rate      ! if SF_mode=2 production flux [molecules.m-2.s-1]&lt;br /&gt;
#&lt;br /&gt;
#      init:    qx             ! value that initialize constant profile [vmr]&lt;br /&gt;
#               qxf            ! file that initialize profile [Pa,vmr] (1 line header)&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Random Ex :&lt;br /&gt;
#               4&lt;br /&gt;
#               n2 is_dyn=0&lt;br /&gt;
#               co2 cpi=450.0 is_dyn=1 mmol=44.&lt;br /&gt;
#               hdo hadv=14 vadv=10 tnom_transp=air&lt;br /&gt;
#               h2s&lt;br /&gt;
#&lt;br /&gt;
# Insert your tracers list and options below !&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
29&lt;br /&gt;
h2o_ice                 mmol=18   &lt;br /&gt;
co2                     mmol=44   is_chim=1    SF_mode=1    SF_value=4.0e-4    is_rad=1&lt;br /&gt;
co                      mmol=28   is_chim=1&lt;br /&gt;
o                       mmol=16   is_chim=1&lt;br /&gt;
o1d                     mmol=16   is_chim=1&lt;br /&gt;
o2                      mmol=32   is_chim=1    SF_mode=1    SF_value=2.1e-1&lt;br /&gt;
o3                      mmol=48   is_chim=1    is_rad=1 is_recomb=1 is_recomb_qotf=1&lt;br /&gt;
h                       mmol=1    is_chim=1&lt;br /&gt;
h2                      mmol=2    is_chim=1&lt;br /&gt;
oh                      mmol=17   is_chim=1&lt;br /&gt;
ho2                     mmol=33   is_chim=1&lt;br /&gt;
h2o2                    mmol=34   is_chim=1&lt;br /&gt;
h2o_vap                 mmol=18   is_chim=1    is_rad=1&lt;br /&gt;
ch4                     mmol=16   is_chim=1    SF_mode=1    SF_value=1.8e-6    is_rad=1&lt;br /&gt;
ch3                     mmol=15   is_chim=1&lt;br /&gt;
cho                     mmol=29   is_chim=1&lt;br /&gt;
ch2o                    mmol=30   is_chim=1&lt;br /&gt;
ch3o                    mmol=31   is_chim=1&lt;br /&gt;
ch3o2                   mmol=47   is_chim=1&lt;br /&gt;
ch3o2h                  mmol=48   is_chim=1&lt;br /&gt;
n                       mmol=14   is_chim=1&lt;br /&gt;
no                      mmol=30   is_chim=1&lt;br /&gt;
no2                     mmol=46   is_chim=1&lt;br /&gt;
n2                      mmol=28   is_chim=1    is_rad=1&lt;br /&gt;
hno3                    mmol=63   is_chim=1&lt;br /&gt;
hno4                    mmol=79   is_chim=1&lt;br /&gt;
n2o                     mmol=44   is_chim=1    SF_mode=1    SF_value=3.3e-7&lt;br /&gt;
no3                     mmol=62   is_chim=1&lt;br /&gt;
n2o5                    mmol=108  is_chim=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initialisation ==&lt;br /&gt;
&lt;br /&gt;
=== In 3D ===&lt;br /&gt;
&lt;br /&gt;
To initialise the tracers in 3D, you must run a newstart. There is two options for initialising tracers: initialize with the option '''q=x / q=profile''' or with the option '''chemistry_ini'''. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the first method, you can choose between initialising to a constant ('''q=x''') or to a profile ('''q=profile'''). Next, a list of all the tracers is displayed and you must enter the number of the tracer you want to change. After making this choice, simply enter the constant value (+surface value for this case) or the file name of the profile. You must repeat this for each tracer you want to modify. The values must be in '''kg/kg'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the second method, by using the option '''chemistry_ini''', the newstart read the traceur.def file. With '''qx=...''', you initialise to a constant value and with '''qxf=profile_&amp;lt;tracer name&amp;gt;''', you initialise to a profile. The values must be in '''mol/mol'''. The profiles must be located in the folder chemical_profiles/ in your datadir. If the folder does not exist, create it.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On dynamico, there is no newstart for now. You can add only tracers by hand by using the tracer_settings.py in the start.nc file of your first run (the makestart run).&lt;br /&gt;
&lt;br /&gt;
=== In 1D ===&lt;br /&gt;
&lt;br /&gt;
In 1D, the initial distribution of each tracer can be read from a file named &amp;quot;'''profile_&amp;lt;tracer name&amp;gt;'''&amp;quot; (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''').&lt;br /&gt;
&lt;br /&gt;
If you want to initialise by using the traceur.def file, you must add '''qx=...''' for a constant value or '''qxf=profile_&amp;lt;tracer name&amp;gt;''' for a profile (in '''mol/mol'''). The profiles must be located in the folder chemical_profiles/ in your datadir. If the folder does not exist, create it.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Category:Inputs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3217</id>
		<title>The traceur.def Input File</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3217"/>
				<updated>2026-02-24T11:14:15Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: /* In 3D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it for? ==&lt;br /&gt;
&lt;br /&gt;
Tracers need to be listed in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
Characteristics of the tracers can be also specified in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
It should not be confused with [[tracer.def]], which is the configuration file for [[DYNAMICO]].&lt;br /&gt;
&lt;br /&gt;
== What is a tracer? ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The model may include different types of tracers:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;condensed species (e.g., CO2, H2O, dust)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;chemically active species&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;radiatively active gases (e.g., water vapor)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
In the code, all tracers are stored in one three-dimensional array q, the third index of&lt;br /&gt;
which corresponds to each individual tracer. In input &lt;br /&gt;
([https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_start.nc_and_startfi.nc_input_files ''start.nc'', ''startfi.nc''])&lt;br /&gt;
and output files tracers are stored separately using their individual names. Loading specific&lt;br /&gt;
tracers requires that the approriate tracer names are set in the ''traceur.def'' file, &lt;br /&gt;
and specific computations for given tracers (e.g. computing the water or CO2&lt;br /&gt;
cycles) is controlled by setting the corresponding options in the &lt;br /&gt;
[https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_callphys.def_Input_File ''callphys.def''] file.&lt;br /&gt;
&lt;br /&gt;
== File structure ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Old&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2&lt;br /&gt;
h2o_vap&lt;br /&gt;
h2o_ice&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Modern&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ModernTrac-v1&lt;br /&gt;
#&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# !! README !!&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
#  Welcome, this is the modern traceur.def !&lt;br /&gt;
# &lt;br /&gt;
#         ---&amp;gt; DON'T TOUCH/REMOVE THE FIRST LINE OF HEADER #ModernTrac-v1 &amp;lt;---&lt;br /&gt;
#&lt;br /&gt;
# * You can use this area to write as many comments as you want starting lines with #.&lt;br /&gt;
# * You cannot have comment lines in the middle nor at the end, only at the top.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# 0. Philosophy  This modern version of traceur.def gather in a single file what was&lt;br /&gt;
# ~~~~~~~~~~~~~  previously in traceur.def AND gases.def plus some hard-coded things.&lt;br /&gt;
#&lt;br /&gt;
# 1. Structure  After the header, first line is the total number of modern tracers in&lt;br /&gt;
# ~~~~~~~~~~~~  your file, ie not only tracers sent to dynamics, but also species that&lt;br /&gt;
#               takes part in the composition, radiative transfer, chemistry, etc.&lt;br /&gt;
#&lt;br /&gt;
#               Then, each line needs to start with the specie name ... and that's the&lt;br /&gt;
#               only mandatory information ! But you can specify all the options you&lt;br /&gt;
#               want in separate blocks following 'option=value', assuming this option&lt;br /&gt;
#               is defined in traceur_h.F90 &amp;amp; initracer.F for physics, infotrac.F90 &lt;br /&gt;
#               for dynamics or chimiedata_h.F90 &amp;amp; calchim_asis.F90 for chemistry.&lt;br /&gt;
#               Indeed this file is read once by dynamics, once by physics and once by&lt;br /&gt;
#               chemistry who keep only the information needed.&lt;br /&gt;
#&lt;br /&gt;
#               Note that by default a tracer listed below will be sent to dynamics&lt;br /&gt;
#               except if you specify is_dyn=0. If nothing is given, then is_dyn=1.&lt;br /&gt;
#               Not yet fully implemented.&lt;br /&gt;
#&lt;br /&gt;
# 3. Options.   Implemented options listed below.&lt;br /&gt;
# ~~~~~~~~~~~~  For dynamic see &amp;quot;infotrac.F90&amp;quot;.&lt;br /&gt;
#               For physic see &amp;quot;initracer.F90&amp;quot;.&lt;br /&gt;
#               For chemistry see &amp;quot;calchim_asis.F90&amp;quot;.&lt;br /&gt;
#                        init see &amp;quot;inichim_1D.F90&amp;quot; and &amp;quot;inichim_newstart.F90&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# Dynamic:      vadv           ! index of vertical trasport schema&lt;br /&gt;
#               hadv           ! index of horizontal trasport schema&lt;br /&gt;
#               tnom_transp    ! transporting fluid short name: CRisi&lt;br /&gt;
#&lt;br /&gt;
# Physic:       mmol           ! mole mass of tracer [g.mol-1]&lt;br /&gt;
#               aki            ! coefficient of thermal concduction&lt;br /&gt;
#               cpi            ! heat capacity [J.kg-1.K-1]&lt;br /&gt;
#               is_chim        ! 1 if tracer used in chemistry, else 0&lt;br /&gt;
#               is_rad         ! 1 if tracer used in radiative transfer, else 0&lt;br /&gt;
#               is_recomb      ! 1 if tracer used in recombining scheme, else 0&lt;br /&gt;
#                                (if 1, must have is_rad=1)&lt;br /&gt;
#               is_recomb_qset ! 1 if tracer k-corr assume predefined vmr, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb=1)&lt;br /&gt;
#               is_recomb_qotf ! 1 if tracer recombination is done on-the-fly, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb_qset=0)&lt;br /&gt;
#&lt;br /&gt;
# Chemistry:    SF_mode        ! 1 if surface set up value, else 2 sedimentation velocity&lt;br /&gt;
#               SF_value       ! [vmr] if SF_mode=1, else [cm.s-1]&lt;br /&gt;
#               prod_rate      ! if SF_mode=2 production flux [molecules.m-2.s-1]&lt;br /&gt;
#&lt;br /&gt;
#      init:    qx             ! value that initialize constant profile [vmr]&lt;br /&gt;
#               qxf            ! file that initialize profile [Pa,vmr] (1 line header)&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Random Ex :&lt;br /&gt;
#               4&lt;br /&gt;
#               n2 is_dyn=0&lt;br /&gt;
#               co2 cpi=450.0 is_dyn=1 mmol=44.&lt;br /&gt;
#               hdo hadv=14 vadv=10 tnom_transp=air&lt;br /&gt;
#               h2s&lt;br /&gt;
#&lt;br /&gt;
# Insert your tracers list and options below !&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
29&lt;br /&gt;
h2o_ice                 mmol=18   &lt;br /&gt;
co2                     mmol=44   is_chim=1    SF_mode=1    SF_value=4.0e-4    is_rad=1&lt;br /&gt;
co                      mmol=28   is_chim=1&lt;br /&gt;
o                       mmol=16   is_chim=1&lt;br /&gt;
o1d                     mmol=16   is_chim=1&lt;br /&gt;
o2                      mmol=32   is_chim=1    SF_mode=1    SF_value=2.1e-1&lt;br /&gt;
o3                      mmol=48   is_chim=1    is_rad=1 is_recomb=1 is_recomb_qotf=1&lt;br /&gt;
h                       mmol=1    is_chim=1&lt;br /&gt;
h2                      mmol=2    is_chim=1&lt;br /&gt;
oh                      mmol=17   is_chim=1&lt;br /&gt;
ho2                     mmol=33   is_chim=1&lt;br /&gt;
h2o2                    mmol=34   is_chim=1&lt;br /&gt;
h2o_vap                 mmol=18   is_chim=1    is_rad=1&lt;br /&gt;
ch4                     mmol=16   is_chim=1    SF_mode=1    SF_value=1.8e-6    is_rad=1&lt;br /&gt;
ch3                     mmol=15   is_chim=1&lt;br /&gt;
cho                     mmol=29   is_chim=1&lt;br /&gt;
ch2o                    mmol=30   is_chim=1&lt;br /&gt;
ch3o                    mmol=31   is_chim=1&lt;br /&gt;
ch3o2                   mmol=47   is_chim=1&lt;br /&gt;
ch3o2h                  mmol=48   is_chim=1&lt;br /&gt;
n                       mmol=14   is_chim=1&lt;br /&gt;
no                      mmol=30   is_chim=1&lt;br /&gt;
no2                     mmol=46   is_chim=1&lt;br /&gt;
n2                      mmol=28   is_chim=1    is_rad=1&lt;br /&gt;
hno3                    mmol=63   is_chim=1&lt;br /&gt;
hno4                    mmol=79   is_chim=1&lt;br /&gt;
n2o                     mmol=44   is_chim=1    SF_mode=1    SF_value=3.3e-7&lt;br /&gt;
no3                     mmol=62   is_chim=1&lt;br /&gt;
n2o5                    mmol=108  is_chim=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initialisation ==&lt;br /&gt;
&lt;br /&gt;
[In development 21/01/2026]&lt;br /&gt;
&lt;br /&gt;
=== In 3D ===&lt;br /&gt;
&lt;br /&gt;
To initialise the tracers in 3D, you must run a newstart. There is two options for initialising tracers: initialize with the option '''q=x / q=profile''' or with the option '''chemistry_ini'''. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the first method, you can choose between initialising to a constant ('''q=x''') or to a profile ('''q=profile'''). Next, a list of all the tracers is displayed and you must enter the number of the tracer you want to change. After making this choice, simply enter the constant value (+surface value for this case) or the file name of the profile. You must repeat this for each tracer you want to modify. The values must be in '''kg/kg'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the second method, by using the option '''chemistry_ini''', the newstart read the traceur.def file. With '''qx=...''', you initialise to a constant value and with '''qxf=profile_&amp;lt;tracer name&amp;gt;''', you initialise to a profile. The values must be in '''mol/mol'''. The profiles must be located in the folder chemical_profiles/ in your datadir. If the folder does not exist, create it.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On dynamico, there is no newstart for now. You can add only tracers by hand by using the tracer_settings.py in the start.nc file of your first run (the makestart run).&lt;br /&gt;
&lt;br /&gt;
=== In 1D ===&lt;br /&gt;
&lt;br /&gt;
In 1D, the initial distribution of each tracer can be read from a file named &amp;quot;'''profile_&amp;lt;tracer name&amp;gt;'''&amp;quot; (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''').&lt;br /&gt;
&lt;br /&gt;
If you want to initialise by using the traceur.def file, you must add '''qx=...''' for a constant value or '''qxf=profile_&amp;lt;tracer name&amp;gt;''' for a profile (in '''mol/mol'''). The profiles must be located in the folder chemical_profiles/ in your datadir. If the folder does not exist, create it.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Category:Inputs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3216</id>
		<title>The traceur.def Input File</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3216"/>
				<updated>2026-02-24T11:13:24Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: /* In 1D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it for? ==&lt;br /&gt;
&lt;br /&gt;
Tracers need to be listed in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
Characteristics of the tracers can be also specified in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
It should not be confused with [[tracer.def]], which is the configuration file for [[DYNAMICO]].&lt;br /&gt;
&lt;br /&gt;
== What is a tracer? ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The model may include different types of tracers:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;condensed species (e.g., CO2, H2O, dust)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;chemically active species&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;radiatively active gases (e.g., water vapor)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
In the code, all tracers are stored in one three-dimensional array q, the third index of&lt;br /&gt;
which corresponds to each individual tracer. In input &lt;br /&gt;
([https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_start.nc_and_startfi.nc_input_files ''start.nc'', ''startfi.nc''])&lt;br /&gt;
and output files tracers are stored separately using their individual names. Loading specific&lt;br /&gt;
tracers requires that the approriate tracer names are set in the ''traceur.def'' file, &lt;br /&gt;
and specific computations for given tracers (e.g. computing the water or CO2&lt;br /&gt;
cycles) is controlled by setting the corresponding options in the &lt;br /&gt;
[https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_callphys.def_Input_File ''callphys.def''] file.&lt;br /&gt;
&lt;br /&gt;
== File structure ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Old&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2&lt;br /&gt;
h2o_vap&lt;br /&gt;
h2o_ice&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Modern&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ModernTrac-v1&lt;br /&gt;
#&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# !! README !!&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
#  Welcome, this is the modern traceur.def !&lt;br /&gt;
# &lt;br /&gt;
#         ---&amp;gt; DON'T TOUCH/REMOVE THE FIRST LINE OF HEADER #ModernTrac-v1 &amp;lt;---&lt;br /&gt;
#&lt;br /&gt;
# * You can use this area to write as many comments as you want starting lines with #.&lt;br /&gt;
# * You cannot have comment lines in the middle nor at the end, only at the top.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# 0. Philosophy  This modern version of traceur.def gather in a single file what was&lt;br /&gt;
# ~~~~~~~~~~~~~  previously in traceur.def AND gases.def plus some hard-coded things.&lt;br /&gt;
#&lt;br /&gt;
# 1. Structure  After the header, first line is the total number of modern tracers in&lt;br /&gt;
# ~~~~~~~~~~~~  your file, ie not only tracers sent to dynamics, but also species that&lt;br /&gt;
#               takes part in the composition, radiative transfer, chemistry, etc.&lt;br /&gt;
#&lt;br /&gt;
#               Then, each line needs to start with the specie name ... and that's the&lt;br /&gt;
#               only mandatory information ! But you can specify all the options you&lt;br /&gt;
#               want in separate blocks following 'option=value', assuming this option&lt;br /&gt;
#               is defined in traceur_h.F90 &amp;amp; initracer.F for physics, infotrac.F90 &lt;br /&gt;
#               for dynamics or chimiedata_h.F90 &amp;amp; calchim_asis.F90 for chemistry.&lt;br /&gt;
#               Indeed this file is read once by dynamics, once by physics and once by&lt;br /&gt;
#               chemistry who keep only the information needed.&lt;br /&gt;
#&lt;br /&gt;
#               Note that by default a tracer listed below will be sent to dynamics&lt;br /&gt;
#               except if you specify is_dyn=0. If nothing is given, then is_dyn=1.&lt;br /&gt;
#               Not yet fully implemented.&lt;br /&gt;
#&lt;br /&gt;
# 3. Options.   Implemented options listed below.&lt;br /&gt;
# ~~~~~~~~~~~~  For dynamic see &amp;quot;infotrac.F90&amp;quot;.&lt;br /&gt;
#               For physic see &amp;quot;initracer.F90&amp;quot;.&lt;br /&gt;
#               For chemistry see &amp;quot;calchim_asis.F90&amp;quot;.&lt;br /&gt;
#                        init see &amp;quot;inichim_1D.F90&amp;quot; and &amp;quot;inichim_newstart.F90&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# Dynamic:      vadv           ! index of vertical trasport schema&lt;br /&gt;
#               hadv           ! index of horizontal trasport schema&lt;br /&gt;
#               tnom_transp    ! transporting fluid short name: CRisi&lt;br /&gt;
#&lt;br /&gt;
# Physic:       mmol           ! mole mass of tracer [g.mol-1]&lt;br /&gt;
#               aki            ! coefficient of thermal concduction&lt;br /&gt;
#               cpi            ! heat capacity [J.kg-1.K-1]&lt;br /&gt;
#               is_chim        ! 1 if tracer used in chemistry, else 0&lt;br /&gt;
#               is_rad         ! 1 if tracer used in radiative transfer, else 0&lt;br /&gt;
#               is_recomb      ! 1 if tracer used in recombining scheme, else 0&lt;br /&gt;
#                                (if 1, must have is_rad=1)&lt;br /&gt;
#               is_recomb_qset ! 1 if tracer k-corr assume predefined vmr, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb=1)&lt;br /&gt;
#               is_recomb_qotf ! 1 if tracer recombination is done on-the-fly, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb_qset=0)&lt;br /&gt;
#&lt;br /&gt;
# Chemistry:    SF_mode        ! 1 if surface set up value, else 2 sedimentation velocity&lt;br /&gt;
#               SF_value       ! [vmr] if SF_mode=1, else [cm.s-1]&lt;br /&gt;
#               prod_rate      ! if SF_mode=2 production flux [molecules.m-2.s-1]&lt;br /&gt;
#&lt;br /&gt;
#      init:    qx             ! value that initialize constant profile [vmr]&lt;br /&gt;
#               qxf            ! file that initialize profile [Pa,vmr] (1 line header)&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Random Ex :&lt;br /&gt;
#               4&lt;br /&gt;
#               n2 is_dyn=0&lt;br /&gt;
#               co2 cpi=450.0 is_dyn=1 mmol=44.&lt;br /&gt;
#               hdo hadv=14 vadv=10 tnom_transp=air&lt;br /&gt;
#               h2s&lt;br /&gt;
#&lt;br /&gt;
# Insert your tracers list and options below !&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
29&lt;br /&gt;
h2o_ice                 mmol=18   &lt;br /&gt;
co2                     mmol=44   is_chim=1    SF_mode=1    SF_value=4.0e-4    is_rad=1&lt;br /&gt;
co                      mmol=28   is_chim=1&lt;br /&gt;
o                       mmol=16   is_chim=1&lt;br /&gt;
o1d                     mmol=16   is_chim=1&lt;br /&gt;
o2                      mmol=32   is_chim=1    SF_mode=1    SF_value=2.1e-1&lt;br /&gt;
o3                      mmol=48   is_chim=1    is_rad=1 is_recomb=1 is_recomb_qotf=1&lt;br /&gt;
h                       mmol=1    is_chim=1&lt;br /&gt;
h2                      mmol=2    is_chim=1&lt;br /&gt;
oh                      mmol=17   is_chim=1&lt;br /&gt;
ho2                     mmol=33   is_chim=1&lt;br /&gt;
h2o2                    mmol=34   is_chim=1&lt;br /&gt;
h2o_vap                 mmol=18   is_chim=1    is_rad=1&lt;br /&gt;
ch4                     mmol=16   is_chim=1    SF_mode=1    SF_value=1.8e-6    is_rad=1&lt;br /&gt;
ch3                     mmol=15   is_chim=1&lt;br /&gt;
cho                     mmol=29   is_chim=1&lt;br /&gt;
ch2o                    mmol=30   is_chim=1&lt;br /&gt;
ch3o                    mmol=31   is_chim=1&lt;br /&gt;
ch3o2                   mmol=47   is_chim=1&lt;br /&gt;
ch3o2h                  mmol=48   is_chim=1&lt;br /&gt;
n                       mmol=14   is_chim=1&lt;br /&gt;
no                      mmol=30   is_chim=1&lt;br /&gt;
no2                     mmol=46   is_chim=1&lt;br /&gt;
n2                      mmol=28   is_chim=1    is_rad=1&lt;br /&gt;
hno3                    mmol=63   is_chim=1&lt;br /&gt;
hno4                    mmol=79   is_chim=1&lt;br /&gt;
n2o                     mmol=44   is_chim=1    SF_mode=1    SF_value=3.3e-7&lt;br /&gt;
no3                     mmol=62   is_chim=1&lt;br /&gt;
n2o5                    mmol=108  is_chim=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initialisation ==&lt;br /&gt;
&lt;br /&gt;
[In development 21/01/2026]&lt;br /&gt;
&lt;br /&gt;
=== In 3D ===&lt;br /&gt;
&lt;br /&gt;
To initialise the tracers in 3D, you must run a newstart. There is two options for initialising tracers: initialize with the option '''q=x / q=profile''' or with the option '''chemistry_ini'''. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the first method, you can choose between initialising to a constant ('''q=x''') or to a profile ('''q=profile'''). Next, a list of all the tracers is displayed and you must enter the number of the tracer you want to change. After making this choice, simply enter the constant value (+surface value for this case) or the file name of the profile. You must repeat this for each tracer you want to modify. The values must be in '''kg/kg'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the second method, by using the option '''chemistry_ini''', the newstart read the traceur.def file. With '''qx=...''', you initialise to a constant value and with '''qxf=profile_&amp;lt;tracer name&amp;gt;''', you initialise to a profile. The values must be in '''mol/mol'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On dynamico, there is no newstart for now. You can add only tracers by hand by using the tracer_settings.py in the start.nc file of your first run (the makestart run).&lt;br /&gt;
&lt;br /&gt;
=== In 1D ===&lt;br /&gt;
&lt;br /&gt;
In 1D, the initial distribution of each tracer can be read from a file named &amp;quot;'''profile_&amp;lt;tracer name&amp;gt;'''&amp;quot; (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''').&lt;br /&gt;
&lt;br /&gt;
If you want to initialise by using the traceur.def file, you must add '''qx=...''' for a constant value or '''qxf=profile_&amp;lt;tracer name&amp;gt;''' for a profile (in '''mol/mol'''). The profiles must be located in the folder chemical_profiles/ in your datadir. If the folder does not exist, create it.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Category:Inputs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3215</id>
		<title>The traceur.def Input File</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3215"/>
				<updated>2026-02-24T11:08:52Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: /* In 3D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it for? ==&lt;br /&gt;
&lt;br /&gt;
Tracers need to be listed in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
Characteristics of the tracers can be also specified in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
It should not be confused with [[tracer.def]], which is the configuration file for [[DYNAMICO]].&lt;br /&gt;
&lt;br /&gt;
== What is a tracer? ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The model may include different types of tracers:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;condensed species (e.g., CO2, H2O, dust)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;chemically active species&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;radiatively active gases (e.g., water vapor)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
In the code, all tracers are stored in one three-dimensional array q, the third index of&lt;br /&gt;
which corresponds to each individual tracer. In input &lt;br /&gt;
([https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_start.nc_and_startfi.nc_input_files ''start.nc'', ''startfi.nc''])&lt;br /&gt;
and output files tracers are stored separately using their individual names. Loading specific&lt;br /&gt;
tracers requires that the approriate tracer names are set in the ''traceur.def'' file, &lt;br /&gt;
and specific computations for given tracers (e.g. computing the water or CO2&lt;br /&gt;
cycles) is controlled by setting the corresponding options in the &lt;br /&gt;
[https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_callphys.def_Input_File ''callphys.def''] file.&lt;br /&gt;
&lt;br /&gt;
== File structure ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Old&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2&lt;br /&gt;
h2o_vap&lt;br /&gt;
h2o_ice&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Modern&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ModernTrac-v1&lt;br /&gt;
#&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# !! README !!&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
#  Welcome, this is the modern traceur.def !&lt;br /&gt;
# &lt;br /&gt;
#         ---&amp;gt; DON'T TOUCH/REMOVE THE FIRST LINE OF HEADER #ModernTrac-v1 &amp;lt;---&lt;br /&gt;
#&lt;br /&gt;
# * You can use this area to write as many comments as you want starting lines with #.&lt;br /&gt;
# * You cannot have comment lines in the middle nor at the end, only at the top.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# 0. Philosophy  This modern version of traceur.def gather in a single file what was&lt;br /&gt;
# ~~~~~~~~~~~~~  previously in traceur.def AND gases.def plus some hard-coded things.&lt;br /&gt;
#&lt;br /&gt;
# 1. Structure  After the header, first line is the total number of modern tracers in&lt;br /&gt;
# ~~~~~~~~~~~~  your file, ie not only tracers sent to dynamics, but also species that&lt;br /&gt;
#               takes part in the composition, radiative transfer, chemistry, etc.&lt;br /&gt;
#&lt;br /&gt;
#               Then, each line needs to start with the specie name ... and that's the&lt;br /&gt;
#               only mandatory information ! But you can specify all the options you&lt;br /&gt;
#               want in separate blocks following 'option=value', assuming this option&lt;br /&gt;
#               is defined in traceur_h.F90 &amp;amp; initracer.F for physics, infotrac.F90 &lt;br /&gt;
#               for dynamics or chimiedata_h.F90 &amp;amp; calchim_asis.F90 for chemistry.&lt;br /&gt;
#               Indeed this file is read once by dynamics, once by physics and once by&lt;br /&gt;
#               chemistry who keep only the information needed.&lt;br /&gt;
#&lt;br /&gt;
#               Note that by default a tracer listed below will be sent to dynamics&lt;br /&gt;
#               except if you specify is_dyn=0. If nothing is given, then is_dyn=1.&lt;br /&gt;
#               Not yet fully implemented.&lt;br /&gt;
#&lt;br /&gt;
# 3. Options.   Implemented options listed below.&lt;br /&gt;
# ~~~~~~~~~~~~  For dynamic see &amp;quot;infotrac.F90&amp;quot;.&lt;br /&gt;
#               For physic see &amp;quot;initracer.F90&amp;quot;.&lt;br /&gt;
#               For chemistry see &amp;quot;calchim_asis.F90&amp;quot;.&lt;br /&gt;
#                        init see &amp;quot;inichim_1D.F90&amp;quot; and &amp;quot;inichim_newstart.F90&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# Dynamic:      vadv           ! index of vertical trasport schema&lt;br /&gt;
#               hadv           ! index of horizontal trasport schema&lt;br /&gt;
#               tnom_transp    ! transporting fluid short name: CRisi&lt;br /&gt;
#&lt;br /&gt;
# Physic:       mmol           ! mole mass of tracer [g.mol-1]&lt;br /&gt;
#               aki            ! coefficient of thermal concduction&lt;br /&gt;
#               cpi            ! heat capacity [J.kg-1.K-1]&lt;br /&gt;
#               is_chim        ! 1 if tracer used in chemistry, else 0&lt;br /&gt;
#               is_rad         ! 1 if tracer used in radiative transfer, else 0&lt;br /&gt;
#               is_recomb      ! 1 if tracer used in recombining scheme, else 0&lt;br /&gt;
#                                (if 1, must have is_rad=1)&lt;br /&gt;
#               is_recomb_qset ! 1 if tracer k-corr assume predefined vmr, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb=1)&lt;br /&gt;
#               is_recomb_qotf ! 1 if tracer recombination is done on-the-fly, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb_qset=0)&lt;br /&gt;
#&lt;br /&gt;
# Chemistry:    SF_mode        ! 1 if surface set up value, else 2 sedimentation velocity&lt;br /&gt;
#               SF_value       ! [vmr] if SF_mode=1, else [cm.s-1]&lt;br /&gt;
#               prod_rate      ! if SF_mode=2 production flux [molecules.m-2.s-1]&lt;br /&gt;
#&lt;br /&gt;
#      init:    qx             ! value that initialize constant profile [vmr]&lt;br /&gt;
#               qxf            ! file that initialize profile [Pa,vmr] (1 line header)&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Random Ex :&lt;br /&gt;
#               4&lt;br /&gt;
#               n2 is_dyn=0&lt;br /&gt;
#               co2 cpi=450.0 is_dyn=1 mmol=44.&lt;br /&gt;
#               hdo hadv=14 vadv=10 tnom_transp=air&lt;br /&gt;
#               h2s&lt;br /&gt;
#&lt;br /&gt;
# Insert your tracers list and options below !&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
29&lt;br /&gt;
h2o_ice                 mmol=18   &lt;br /&gt;
co2                     mmol=44   is_chim=1    SF_mode=1    SF_value=4.0e-4    is_rad=1&lt;br /&gt;
co                      mmol=28   is_chim=1&lt;br /&gt;
o                       mmol=16   is_chim=1&lt;br /&gt;
o1d                     mmol=16   is_chim=1&lt;br /&gt;
o2                      mmol=32   is_chim=1    SF_mode=1    SF_value=2.1e-1&lt;br /&gt;
o3                      mmol=48   is_chim=1    is_rad=1 is_recomb=1 is_recomb_qotf=1&lt;br /&gt;
h                       mmol=1    is_chim=1&lt;br /&gt;
h2                      mmol=2    is_chim=1&lt;br /&gt;
oh                      mmol=17   is_chim=1&lt;br /&gt;
ho2                     mmol=33   is_chim=1&lt;br /&gt;
h2o2                    mmol=34   is_chim=1&lt;br /&gt;
h2o_vap                 mmol=18   is_chim=1    is_rad=1&lt;br /&gt;
ch4                     mmol=16   is_chim=1    SF_mode=1    SF_value=1.8e-6    is_rad=1&lt;br /&gt;
ch3                     mmol=15   is_chim=1&lt;br /&gt;
cho                     mmol=29   is_chim=1&lt;br /&gt;
ch2o                    mmol=30   is_chim=1&lt;br /&gt;
ch3o                    mmol=31   is_chim=1&lt;br /&gt;
ch3o2                   mmol=47   is_chim=1&lt;br /&gt;
ch3o2h                  mmol=48   is_chim=1&lt;br /&gt;
n                       mmol=14   is_chim=1&lt;br /&gt;
no                      mmol=30   is_chim=1&lt;br /&gt;
no2                     mmol=46   is_chim=1&lt;br /&gt;
n2                      mmol=28   is_chim=1    is_rad=1&lt;br /&gt;
hno3                    mmol=63   is_chim=1&lt;br /&gt;
hno4                    mmol=79   is_chim=1&lt;br /&gt;
n2o                     mmol=44   is_chim=1    SF_mode=1    SF_value=3.3e-7&lt;br /&gt;
no3                     mmol=62   is_chim=1&lt;br /&gt;
n2o5                    mmol=108  is_chim=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initialisation ==&lt;br /&gt;
&lt;br /&gt;
[In development 21/01/2026]&lt;br /&gt;
&lt;br /&gt;
=== In 3D ===&lt;br /&gt;
&lt;br /&gt;
To initialise the tracers in 3D, you must run a newstart. There is two options for initialising tracers: initialize with the option '''q=x / q=profile''' or with the option '''chemistry_ini'''. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the first method, you can choose between initialising to a constant ('''q=x''') or to a profile ('''q=profile'''). Next, a list of all the tracers is displayed and you must enter the number of the tracer you want to change. After making this choice, simply enter the constant value (+surface value for this case) or the file name of the profile. You must repeat this for each tracer you want to modify. The values must be in '''kg/kg'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the second method, by using the option '''chemistry_ini''', the newstart read the traceur.def file. With '''qx=...''', you initialise to a constant value and with '''qxf=profile_&amp;lt;tracer name&amp;gt;''', you initialise to a profile. The values must be in '''mol/mol'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On dynamico, there is no newstart for now. You can add only tracers by hand by using the tracer_settings.py in the start.nc file of your first run (the makestart run).&lt;br /&gt;
&lt;br /&gt;
=== In 1D ===&lt;br /&gt;
&lt;br /&gt;
In 1D, the initial distribution of each tracer can be read from a file named &amp;quot;'''profile_&amp;lt;tracer name&amp;gt;'''&amp;quot; (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).&lt;br /&gt;
&lt;br /&gt;
If you only want to initialise to a constant value, you must add '''qx=...''' on your traceur.def file.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Category:Inputs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3214</id>
		<title>The traceur.def Input File</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3214"/>
				<updated>2026-02-24T11:07:18Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: /* In 3D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it for? ==&lt;br /&gt;
&lt;br /&gt;
Tracers need to be listed in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
Characteristics of the tracers can be also specified in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
It should not be confused with [[tracer.def]], which is the configuration file for [[DYNAMICO]].&lt;br /&gt;
&lt;br /&gt;
== What is a tracer? ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The model may include different types of tracers:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;condensed species (e.g., CO2, H2O, dust)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;chemically active species&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;radiatively active gases (e.g., water vapor)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
In the code, all tracers are stored in one three-dimensional array q, the third index of&lt;br /&gt;
which corresponds to each individual tracer. In input &lt;br /&gt;
([https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_start.nc_and_startfi.nc_input_files ''start.nc'', ''startfi.nc''])&lt;br /&gt;
and output files tracers are stored separately using their individual names. Loading specific&lt;br /&gt;
tracers requires that the approriate tracer names are set in the ''traceur.def'' file, &lt;br /&gt;
and specific computations for given tracers (e.g. computing the water or CO2&lt;br /&gt;
cycles) is controlled by setting the corresponding options in the &lt;br /&gt;
[https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_callphys.def_Input_File ''callphys.def''] file.&lt;br /&gt;
&lt;br /&gt;
== File structure ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Old&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2&lt;br /&gt;
h2o_vap&lt;br /&gt;
h2o_ice&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Modern&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ModernTrac-v1&lt;br /&gt;
#&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# !! README !!&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
#  Welcome, this is the modern traceur.def !&lt;br /&gt;
# &lt;br /&gt;
#         ---&amp;gt; DON'T TOUCH/REMOVE THE FIRST LINE OF HEADER #ModernTrac-v1 &amp;lt;---&lt;br /&gt;
#&lt;br /&gt;
# * You can use this area to write as many comments as you want starting lines with #.&lt;br /&gt;
# * You cannot have comment lines in the middle nor at the end, only at the top.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# 0. Philosophy  This modern version of traceur.def gather in a single file what was&lt;br /&gt;
# ~~~~~~~~~~~~~  previously in traceur.def AND gases.def plus some hard-coded things.&lt;br /&gt;
#&lt;br /&gt;
# 1. Structure  After the header, first line is the total number of modern tracers in&lt;br /&gt;
# ~~~~~~~~~~~~  your file, ie not only tracers sent to dynamics, but also species that&lt;br /&gt;
#               takes part in the composition, radiative transfer, chemistry, etc.&lt;br /&gt;
#&lt;br /&gt;
#               Then, each line needs to start with the specie name ... and that's the&lt;br /&gt;
#               only mandatory information ! But you can specify all the options you&lt;br /&gt;
#               want in separate blocks following 'option=value', assuming this option&lt;br /&gt;
#               is defined in traceur_h.F90 &amp;amp; initracer.F for physics, infotrac.F90 &lt;br /&gt;
#               for dynamics or chimiedata_h.F90 &amp;amp; calchim_asis.F90 for chemistry.&lt;br /&gt;
#               Indeed this file is read once by dynamics, once by physics and once by&lt;br /&gt;
#               chemistry who keep only the information needed.&lt;br /&gt;
#&lt;br /&gt;
#               Note that by default a tracer listed below will be sent to dynamics&lt;br /&gt;
#               except if you specify is_dyn=0. If nothing is given, then is_dyn=1.&lt;br /&gt;
#               Not yet fully implemented.&lt;br /&gt;
#&lt;br /&gt;
# 3. Options.   Implemented options listed below.&lt;br /&gt;
# ~~~~~~~~~~~~  For dynamic see &amp;quot;infotrac.F90&amp;quot;.&lt;br /&gt;
#               For physic see &amp;quot;initracer.F90&amp;quot;.&lt;br /&gt;
#               For chemistry see &amp;quot;calchim_asis.F90&amp;quot;.&lt;br /&gt;
#                        init see &amp;quot;inichim_1D.F90&amp;quot; and &amp;quot;inichim_newstart.F90&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# Dynamic:      vadv           ! index of vertical trasport schema&lt;br /&gt;
#               hadv           ! index of horizontal trasport schema&lt;br /&gt;
#               tnom_transp    ! transporting fluid short name: CRisi&lt;br /&gt;
#&lt;br /&gt;
# Physic:       mmol           ! mole mass of tracer [g.mol-1]&lt;br /&gt;
#               aki            ! coefficient of thermal concduction&lt;br /&gt;
#               cpi            ! heat capacity [J.kg-1.K-1]&lt;br /&gt;
#               is_chim        ! 1 if tracer used in chemistry, else 0&lt;br /&gt;
#               is_rad         ! 1 if tracer used in radiative transfer, else 0&lt;br /&gt;
#               is_recomb      ! 1 if tracer used in recombining scheme, else 0&lt;br /&gt;
#                                (if 1, must have is_rad=1)&lt;br /&gt;
#               is_recomb_qset ! 1 if tracer k-corr assume predefined vmr, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb=1)&lt;br /&gt;
#               is_recomb_qotf ! 1 if tracer recombination is done on-the-fly, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb_qset=0)&lt;br /&gt;
#&lt;br /&gt;
# Chemistry:    SF_mode        ! 1 if surface set up value, else 2 sedimentation velocity&lt;br /&gt;
#               SF_value       ! [vmr] if SF_mode=1, else [cm.s-1]&lt;br /&gt;
#               prod_rate      ! if SF_mode=2 production flux [molecules.m-2.s-1]&lt;br /&gt;
#&lt;br /&gt;
#      init:    qx             ! value that initialize constant profile [vmr]&lt;br /&gt;
#               qxf            ! file that initialize profile [Pa,vmr] (1 line header)&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Random Ex :&lt;br /&gt;
#               4&lt;br /&gt;
#               n2 is_dyn=0&lt;br /&gt;
#               co2 cpi=450.0 is_dyn=1 mmol=44.&lt;br /&gt;
#               hdo hadv=14 vadv=10 tnom_transp=air&lt;br /&gt;
#               h2s&lt;br /&gt;
#&lt;br /&gt;
# Insert your tracers list and options below !&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
29&lt;br /&gt;
h2o_ice                 mmol=18   &lt;br /&gt;
co2                     mmol=44   is_chim=1    SF_mode=1    SF_value=4.0e-4    is_rad=1&lt;br /&gt;
co                      mmol=28   is_chim=1&lt;br /&gt;
o                       mmol=16   is_chim=1&lt;br /&gt;
o1d                     mmol=16   is_chim=1&lt;br /&gt;
o2                      mmol=32   is_chim=1    SF_mode=1    SF_value=2.1e-1&lt;br /&gt;
o3                      mmol=48   is_chim=1    is_rad=1 is_recomb=1 is_recomb_qotf=1&lt;br /&gt;
h                       mmol=1    is_chim=1&lt;br /&gt;
h2                      mmol=2    is_chim=1&lt;br /&gt;
oh                      mmol=17   is_chim=1&lt;br /&gt;
ho2                     mmol=33   is_chim=1&lt;br /&gt;
h2o2                    mmol=34   is_chim=1&lt;br /&gt;
h2o_vap                 mmol=18   is_chim=1    is_rad=1&lt;br /&gt;
ch4                     mmol=16   is_chim=1    SF_mode=1    SF_value=1.8e-6    is_rad=1&lt;br /&gt;
ch3                     mmol=15   is_chim=1&lt;br /&gt;
cho                     mmol=29   is_chim=1&lt;br /&gt;
ch2o                    mmol=30   is_chim=1&lt;br /&gt;
ch3o                    mmol=31   is_chim=1&lt;br /&gt;
ch3o2                   mmol=47   is_chim=1&lt;br /&gt;
ch3o2h                  mmol=48   is_chim=1&lt;br /&gt;
n                       mmol=14   is_chim=1&lt;br /&gt;
no                      mmol=30   is_chim=1&lt;br /&gt;
no2                     mmol=46   is_chim=1&lt;br /&gt;
n2                      mmol=28   is_chim=1    is_rad=1&lt;br /&gt;
hno3                    mmol=63   is_chim=1&lt;br /&gt;
hno4                    mmol=79   is_chim=1&lt;br /&gt;
n2o                     mmol=44   is_chim=1    SF_mode=1    SF_value=3.3e-7&lt;br /&gt;
no3                     mmol=62   is_chim=1&lt;br /&gt;
n2o5                    mmol=108  is_chim=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initialisation ==&lt;br /&gt;
&lt;br /&gt;
[In development 21/01/2026]&lt;br /&gt;
&lt;br /&gt;
=== In 3D ===&lt;br /&gt;
&lt;br /&gt;
To initialise the tracers in 3D, you must run a newstart. There is two options for initialising tracers: initialize with the option '''q=x / q=profile''' or with the option '''chemistry_ini'''. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the first method, you can choose between initialising to a constant ('''q=x''') or to a profile ('''q=profile'''). Next, a list of all the tracers is displayed and you must enter the number of the tracer you want to change. After making this choice, simply enter the value of the constant (+surface value for this case) or the file name of the profile. You must repeat this for each tracer you want to modify. The values must be in '''kg/kg'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the second method, by using the option chemistry_ini, the newstart read the traceur.def file. With '''qx=...''', you initialise to a constant value and with '''qxf=profile_&amp;lt;tracer name&amp;gt;''', you initialise to a profile. The values must be in '''mol/mol'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On dynamico, there is no newstart for now. You can add only tracers by hand by using the tracer_settings.py in the start.nc file of your first run (the makestart run).&lt;br /&gt;
&lt;br /&gt;
=== In 1D ===&lt;br /&gt;
&lt;br /&gt;
In 1D, the initial distribution of each tracer can be read from a file named &amp;quot;'''profile_&amp;lt;tracer name&amp;gt;'''&amp;quot; (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).&lt;br /&gt;
&lt;br /&gt;
If you only want to initialise to a constant value, you must add '''qx=...''' on your traceur.def file.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Category:Inputs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3213</id>
		<title>The traceur.def Input File</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3213"/>
				<updated>2026-02-24T11:06:56Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: /* In 3D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it for? ==&lt;br /&gt;
&lt;br /&gt;
Tracers need to be listed in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
Characteristics of the tracers can be also specified in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
It should not be confused with [[tracer.def]], which is the configuration file for [[DYNAMICO]].&lt;br /&gt;
&lt;br /&gt;
== What is a tracer? ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The model may include different types of tracers:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;condensed species (e.g., CO2, H2O, dust)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;chemically active species&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;radiatively active gases (e.g., water vapor)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
In the code, all tracers are stored in one three-dimensional array q, the third index of&lt;br /&gt;
which corresponds to each individual tracer. In input &lt;br /&gt;
([https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_start.nc_and_startfi.nc_input_files ''start.nc'', ''startfi.nc''])&lt;br /&gt;
and output files tracers are stored separately using their individual names. Loading specific&lt;br /&gt;
tracers requires that the approriate tracer names are set in the ''traceur.def'' file, &lt;br /&gt;
and specific computations for given tracers (e.g. computing the water or CO2&lt;br /&gt;
cycles) is controlled by setting the corresponding options in the &lt;br /&gt;
[https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_callphys.def_Input_File ''callphys.def''] file.&lt;br /&gt;
&lt;br /&gt;
== File structure ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Old&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2&lt;br /&gt;
h2o_vap&lt;br /&gt;
h2o_ice&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Modern&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ModernTrac-v1&lt;br /&gt;
#&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# !! README !!&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
#  Welcome, this is the modern traceur.def !&lt;br /&gt;
# &lt;br /&gt;
#         ---&amp;gt; DON'T TOUCH/REMOVE THE FIRST LINE OF HEADER #ModernTrac-v1 &amp;lt;---&lt;br /&gt;
#&lt;br /&gt;
# * You can use this area to write as many comments as you want starting lines with #.&lt;br /&gt;
# * You cannot have comment lines in the middle nor at the end, only at the top.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# 0. Philosophy  This modern version of traceur.def gather in a single file what was&lt;br /&gt;
# ~~~~~~~~~~~~~  previously in traceur.def AND gases.def plus some hard-coded things.&lt;br /&gt;
#&lt;br /&gt;
# 1. Structure  After the header, first line is the total number of modern tracers in&lt;br /&gt;
# ~~~~~~~~~~~~  your file, ie not only tracers sent to dynamics, but also species that&lt;br /&gt;
#               takes part in the composition, radiative transfer, chemistry, etc.&lt;br /&gt;
#&lt;br /&gt;
#               Then, each line needs to start with the specie name ... and that's the&lt;br /&gt;
#               only mandatory information ! But you can specify all the options you&lt;br /&gt;
#               want in separate blocks following 'option=value', assuming this option&lt;br /&gt;
#               is defined in traceur_h.F90 &amp;amp; initracer.F for physics, infotrac.F90 &lt;br /&gt;
#               for dynamics or chimiedata_h.F90 &amp;amp; calchim_asis.F90 for chemistry.&lt;br /&gt;
#               Indeed this file is read once by dynamics, once by physics and once by&lt;br /&gt;
#               chemistry who keep only the information needed.&lt;br /&gt;
#&lt;br /&gt;
#               Note that by default a tracer listed below will be sent to dynamics&lt;br /&gt;
#               except if you specify is_dyn=0. If nothing is given, then is_dyn=1.&lt;br /&gt;
#               Not yet fully implemented.&lt;br /&gt;
#&lt;br /&gt;
# 3. Options.   Implemented options listed below.&lt;br /&gt;
# ~~~~~~~~~~~~  For dynamic see &amp;quot;infotrac.F90&amp;quot;.&lt;br /&gt;
#               For physic see &amp;quot;initracer.F90&amp;quot;.&lt;br /&gt;
#               For chemistry see &amp;quot;calchim_asis.F90&amp;quot;.&lt;br /&gt;
#                        init see &amp;quot;inichim_1D.F90&amp;quot; and &amp;quot;inichim_newstart.F90&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# Dynamic:      vadv           ! index of vertical trasport schema&lt;br /&gt;
#               hadv           ! index of horizontal trasport schema&lt;br /&gt;
#               tnom_transp    ! transporting fluid short name: CRisi&lt;br /&gt;
#&lt;br /&gt;
# Physic:       mmol           ! mole mass of tracer [g.mol-1]&lt;br /&gt;
#               aki            ! coefficient of thermal concduction&lt;br /&gt;
#               cpi            ! heat capacity [J.kg-1.K-1]&lt;br /&gt;
#               is_chim        ! 1 if tracer used in chemistry, else 0&lt;br /&gt;
#               is_rad         ! 1 if tracer used in radiative transfer, else 0&lt;br /&gt;
#               is_recomb      ! 1 if tracer used in recombining scheme, else 0&lt;br /&gt;
#                                (if 1, must have is_rad=1)&lt;br /&gt;
#               is_recomb_qset ! 1 if tracer k-corr assume predefined vmr, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb=1)&lt;br /&gt;
#               is_recomb_qotf ! 1 if tracer recombination is done on-the-fly, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb_qset=0)&lt;br /&gt;
#&lt;br /&gt;
# Chemistry:    SF_mode        ! 1 if surface set up value, else 2 sedimentation velocity&lt;br /&gt;
#               SF_value       ! [vmr] if SF_mode=1, else [cm.s-1]&lt;br /&gt;
#               prod_rate      ! if SF_mode=2 production flux [molecules.m-2.s-1]&lt;br /&gt;
#&lt;br /&gt;
#      init:    qx             ! value that initialize constant profile [vmr]&lt;br /&gt;
#               qxf            ! file that initialize profile [Pa,vmr] (1 line header)&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Random Ex :&lt;br /&gt;
#               4&lt;br /&gt;
#               n2 is_dyn=0&lt;br /&gt;
#               co2 cpi=450.0 is_dyn=1 mmol=44.&lt;br /&gt;
#               hdo hadv=14 vadv=10 tnom_transp=air&lt;br /&gt;
#               h2s&lt;br /&gt;
#&lt;br /&gt;
# Insert your tracers list and options below !&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
29&lt;br /&gt;
h2o_ice                 mmol=18   &lt;br /&gt;
co2                     mmol=44   is_chim=1    SF_mode=1    SF_value=4.0e-4    is_rad=1&lt;br /&gt;
co                      mmol=28   is_chim=1&lt;br /&gt;
o                       mmol=16   is_chim=1&lt;br /&gt;
o1d                     mmol=16   is_chim=1&lt;br /&gt;
o2                      mmol=32   is_chim=1    SF_mode=1    SF_value=2.1e-1&lt;br /&gt;
o3                      mmol=48   is_chim=1    is_rad=1 is_recomb=1 is_recomb_qotf=1&lt;br /&gt;
h                       mmol=1    is_chim=1&lt;br /&gt;
h2                      mmol=2    is_chim=1&lt;br /&gt;
oh                      mmol=17   is_chim=1&lt;br /&gt;
ho2                     mmol=33   is_chim=1&lt;br /&gt;
h2o2                    mmol=34   is_chim=1&lt;br /&gt;
h2o_vap                 mmol=18   is_chim=1    is_rad=1&lt;br /&gt;
ch4                     mmol=16   is_chim=1    SF_mode=1    SF_value=1.8e-6    is_rad=1&lt;br /&gt;
ch3                     mmol=15   is_chim=1&lt;br /&gt;
cho                     mmol=29   is_chim=1&lt;br /&gt;
ch2o                    mmol=30   is_chim=1&lt;br /&gt;
ch3o                    mmol=31   is_chim=1&lt;br /&gt;
ch3o2                   mmol=47   is_chim=1&lt;br /&gt;
ch3o2h                  mmol=48   is_chim=1&lt;br /&gt;
n                       mmol=14   is_chim=1&lt;br /&gt;
no                      mmol=30   is_chim=1&lt;br /&gt;
no2                     mmol=46   is_chim=1&lt;br /&gt;
n2                      mmol=28   is_chim=1    is_rad=1&lt;br /&gt;
hno3                    mmol=63   is_chim=1&lt;br /&gt;
hno4                    mmol=79   is_chim=1&lt;br /&gt;
n2o                     mmol=44   is_chim=1    SF_mode=1    SF_value=3.3e-7&lt;br /&gt;
no3                     mmol=62   is_chim=1&lt;br /&gt;
n2o5                    mmol=108  is_chim=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initialisation ==&lt;br /&gt;
&lt;br /&gt;
[In development 21/01/2026]&lt;br /&gt;
&lt;br /&gt;
=== In 3D ===&lt;br /&gt;
&lt;br /&gt;
To initialise the tracers in 3D, you must run a newstart. There is two options for initialising tracers: initialize with the option '''q=x / q=profile''' or with the option '''chemistry_ini'''. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the first method, you can choose between initialising to a constant (q=x) or to a profile (q=profile). Next, a list of all the tracers is displayed and you must enter the number of the tracer you want to change. After making this choice, simply enter the value of the constant (+surface value for this case) or the file name of the profile. You must repeat this for each tracer you want to modify. The values must be in '''kg/kg'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;For the second method, by using the option chemistry_ini, the newstart read the traceur.def file. With '''qx=...''', you initialise to a constant value and with '''qxf=profile_&amp;lt;tracer name&amp;gt;''', you initialise to a profile. The values must be in '''mol/mol'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On dynamico, there is no newstart for now. You can add only tracers by hand by using the tracer_settings.py in the start.nc file of your first run (the makestart run).&lt;br /&gt;
&lt;br /&gt;
=== In 1D ===&lt;br /&gt;
&lt;br /&gt;
In 1D, the initial distribution of each tracer can be read from a file named &amp;quot;'''profile_&amp;lt;tracer name&amp;gt;'''&amp;quot; (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).&lt;br /&gt;
&lt;br /&gt;
If you only want to initialise to a constant value, you must add '''qx=...''' on your traceur.def file.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Category:Inputs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3190</id>
		<title>Rayleigh scattering</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3190"/>
				<updated>2026-01-21T14:22:40Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cross section ==&lt;br /&gt;
&lt;br /&gt;
The effective cross section for the i-th particle of small size relative to the wavelength and in the electric dipole approximation is equal to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 \left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;\nu&amp;lt;/math&amp;gt; is the wave number in &amp;lt;math&amp;gt;m^{-1}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; is the molar volume in &amp;lt;math&amp;gt;molecule.m^{-3}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;n_{\nu,i}&amp;lt;/math&amp;gt; is the real refractive index, &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt; is the depolarisation factor.&lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;math&amp;gt;\left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt; is also called the King factor and is denoted by &amp;lt;math&amp;gt;F_k (\nu,i)&amp;lt;/math&amp;gt;. So,:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 F_k (\nu,i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The volume number can be obtained from the ideal gas law. Thus, the cross-sectional area depends on the temperature &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and the pressure &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt;. The refractive index also depends on the conditions &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, but in scientific literature, this dependence is very often unknown. Therefore, it is not possible to make the cross section dependent on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; if the dependence of the refractive index on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; is unknown. It is therefore necessary to fix &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; for the calculation of the cross section at the &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; where the refractive index was measured. &lt;br /&gt;
The cross section is expected to vary little with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; in the case of a gas, but due to the dependence of &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; on &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; and the variation of the refractive index with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, if any dependence is omitted, the cross section can be significantly erroneous by several orders of magnitude. The H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O molecule is the only one for which the variation of the refractive index with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; has been measured or estimated. Thus, the variation of the cross section with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; can be applied to this molecule using the formula introduced below.&lt;br /&gt;
&lt;br /&gt;
Rayleigh scattering, Brillouin scattering (not applicable in atmospheres) and Raman scattering are not taken into account in the calculation of this cross section. Only Rayleigh scattering (also known as the Cabannes peak) is taken into account.&lt;br /&gt;
&lt;br /&gt;
The refractive indices and King factors of each molecule studied in the Generic PCM are described below.&lt;br /&gt;
&lt;br /&gt;
=== CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.1427\times10^3\left(\frac{5799.25}{128908.9^2 - \nu^2} + \frac{120.05}{89223.8^2 - \nu^2} + \frac{5.3334}{75037.5^2 - \nu^2} + \frac{4.3244}{67837.7^2 - \nu^2} + \frac{0.1218145\times10^{-4}}{2418.136^2 - \nu^2}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.1364 + 25.3\times10^{-12}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.1807 and 1.8172 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at wavelengths below 0.1807 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous power-of-four formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Cuthbertson and Cuthbertson (1920)&lt;br /&gt;
https://doi.org/10.1098/rspa.1920.0020&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{6914.45}{156.85 - \nu^2}\right)\times 10^{-5}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
For 4860 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 21360 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(5677.465 + \frac{318.81874\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 21360 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6498.2 + \frac{307.4335\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, extrapolation is performed using the formula valid between 21,360 and 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O ===&lt;br /&gt;
&lt;br /&gt;
Reference: Harvey et al. (1998)&lt;br /&gt;
https://doi.org/10.1063/1.556029&lt;br /&gt;
&lt;br /&gt;
In the case of water, the refractive index is known to depend on T and P. However, it should be noted that the interpolation formula for water vapour is based on very incomplete data for certain wavelength ranges at certain temperatures and pressures (see reference for more details).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_0 =  0.244257733 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_1 = 9.74634476\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_2 = -3.73234996\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_3 = 2.68678472\times10^{-4} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_4 = 1.58920570\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_5 = 2.45934259\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_6 = 0.900704920 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_7 = -1.66626219\times10^{-2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{UV} = 0.2292020\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{IR} = 5.432937\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \rho_0 = 1000\; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    T_0 = 273.15\; K &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_0 = 0.589\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;b_{\lambda,i, T, p} = \left( a_0 + a_1\bar{\rho} + a_2\bar{T} + a_3\bar{T}\bar{\lambda}^2 + \frac{a_4}{\bar{\lambda}^2} + \frac{a_5}{\bar{\lambda}^2 - \lambda_{UV}^2} + \frac{a_6}{\bar{\lambda}^2 - \lambda_{IR}^2} \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\rho} = \frac{\rho}{\rho_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{T} = \frac{T}{T_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\lambda} = \frac{\lambda}{\lambda_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\lambda,i, T, p} = \frac{\sqrt{2b_{\lambda,i, T, p}+1}}{\sqrt{1-b_{\lambda,i, T, p}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the coefficients in the refractive index interpolation formula are in wavelength (&amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;). If you want to use wave numbers in &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, simply replace &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;10000/\nu(cm^{-1})&amp;lt;/math&amp;gt;, which is equal to &amp;lt;math&amp;gt;\lambda(\mu m)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to &amp;lt;math&amp;gt;3\times10^{-4}&amp;lt;/math&amp;gt;. The source of this factor comes from Murphy (1977) &lt;br /&gt;
https://doi.org/10.1063/1.434794&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times3\times10^{-4}}{6-7\times3\times10^{-4}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas are valid between 0.2 and 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.2 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Barrell and Sears (1939)&lt;br /&gt;
https://doi.org/10.1098/rsta.1939.0004&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(245.40+2.187\times\left(\frac{10000}{\nu}\right)^{-2} \right)\times 10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths greater than 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Ciddor (1996)&lt;br /&gt;
https://doi.org/10.1364/AO.35.001566&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.022\times10^{-8}\left(295.235 + 2.6422\times(\nu\times10^{-4})^2 - 0.03238\times(\nu\times10^{-4})^4 + 0.004028\times(\nu\times10^{-4})^6\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 293.15 K and a pressure of 1333 Pa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{14895.6}{180.7 - (\nu\times10^{-4})^2} + \frac{4903.7}{92-(\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to 0.02. The source of this factor comes from Hansen and Travis (1974)&lt;br /&gt;
https://doi.org/10.1007/BF00168069&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times0.02}{6-7\times0.02}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 273.15 K and a pressure of 1013.25 hPa. It is valid between 0.1680 and 1.6945 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.1680 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23.79+\frac{12307.2}{109.832 - (\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== He ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(2283 + \frac{1.8102\times10^{13}}{1.5342\times10^{10} - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.2753 and 20.5813 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CH&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 46662\times10^{-8} + 4.02\times10^{-14}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The depolarisation factor is unknown. It is therefore set at 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.3251 and 0.6330 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CO ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 +  22851\times10^{-8} + \frac{0.456\times10^4}{71427^2 - \nu^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.016&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.168 and 0.288 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Ar ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6432.135 + \frac{286.06021\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.288 and 0.546 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Bates (1984)&lt;br /&gt;
https://doi.org/10.1016/0032-0633(84)90102-8&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;lt; &amp;lt;/math&amp;gt; 18315 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(21351.3 + \frac{21.85670}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 18315 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 34722 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(20564.8 + \frac{24.80899}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 34722 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(22120.4 + \frac{20.31876}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;gt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23796.7 + \frac{16.89884}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.09 + 1.385\times10^{-11}\nu^2 + 1.488\times10^{-20}\nu^4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa. They are valid between 0.198 and 2.0 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;. Beyond this range, extrapolation is used.&lt;br /&gt;
&lt;br /&gt;
== Mass extinction coefficient ==&lt;br /&gt;
&lt;br /&gt;
The mass extinction coefficient is related to the molar cross section of scattering by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu,i} = \sigma_{\nu,i} \frac{N_A}{\bar{M}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;N_A&amp;lt;/math&amp;gt; is Avogadro constant and &amp;lt;math&amp;gt;\bar{M}&amp;lt;/math&amp;gt; is the average molecular mass of the atmosphere.&lt;br /&gt;
&lt;br /&gt;
For a gas mixture, the extinction coefficient is equal to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu} = \sum_{i=1}^N x_i k_{\nu,i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optical depth == &lt;br /&gt;
&lt;br /&gt;
Optical thickness is defined as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} \sigma_{\nu} N dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\rho dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, according to the hydrostatic balance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;dp = \rho g dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, we have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\frac{dp}{g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A coefficient &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; is added to convert &amp;lt;math&amp;gt;Pa&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;mbar&amp;lt;/math&amp;gt; used in radiative transfer.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in Generic PCM ==&lt;br /&gt;
&lt;br /&gt;
[[File:Rayleigh_scattering.png|thumb|Tauvar for each molecule]]&lt;br /&gt;
&lt;br /&gt;
The Rayleigh scattering routine is determined for each spectral band defined in the correlated-k routine and at each pressure level. The routine follows the path below:&lt;br /&gt;
* Each spectral band &amp;lt;math&amp;gt;NW&amp;lt;/math&amp;gt; is recut by the &amp;lt;math&amp;gt;Nfine&amp;lt;/math&amp;gt; parameter. Rayleigh scattering calculations are performed on a loop on Nfine for each spectral band.&lt;br /&gt;
* The refractive index &amp;lt;math&amp;gt;ng&amp;lt;/math&amp;gt; and the King factor &amp;lt;math&amp;gt;Fk&amp;lt;/math&amp;gt; are set.&lt;br /&gt;
* The extinction coefficient is calculated in two stages. &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt;, the part dependent on the wavenumber, is calculated, then &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;, the part dependent on pressure and temperature (if it exists). Otherwise, the reference pressure &amp;lt;math&amp;gt;P0&amp;lt;/math&amp;gt; and temperature &amp;lt;math&amp;gt;T0&amp;lt;/math&amp;gt; of the refractive index measurements are used for &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;.&lt;br /&gt;
* The product &amp;lt;math&amp;gt;Tauvari \times Tauconsti&amp;lt;/math&amp;gt; is calculated at the end to give the extinction coefficient &amp;lt;math&amp;gt;Tauvar&amp;lt;/math&amp;gt; . The figure opposite shows this variable in function of wavenumber for each molecule used in the Generic PCM.&lt;br /&gt;
* After this loop, the extinction coefficient is then weighted by the black body function for each spectral band as &amp;lt;math&amp;gt; \text{TAURAY(P,NW)} = \frac{\int_{\nu' \in \text{band}} \text{TAUVAR} (P,\nu') B_{\nu} \, \mathrm{d}\nu'}{\int B_{\nu} \, \mathrm{d}\nu'} &amp;lt;/math&amp;gt; .&lt;br /&gt;
* Finally, the optical depth is calculated in optcv.F90, where the thickness of the layer &amp;lt;math&amp;gt;dP&amp;lt;/math&amp;gt; is added (&amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; was already added on &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each unit in this routine follows the International System of Units. HOWEVER, for all other routines in the radiative part of the model, the pressure is in mbar/hPa! That is why we add a &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; factor at the end for &amp;lt;math&amp;gt;Tauray&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
If you want to add a new molecule, simply enter its refractive index and King factor and use the same &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt; formulas, as for the previous molecules.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in exo_k ==&lt;br /&gt;
&lt;br /&gt;
Rayleigh routine in exo_k is available here : &lt;br /&gt;
&lt;br /&gt;
http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol&lt;br /&gt;
&lt;br /&gt;
Exo_k uses formalism from :&lt;br /&gt;
&lt;br /&gt;
''Caldas'' (2019) Effects of a fully 3D atmospheric structure on exoplanet transmission spectra: retrieval biases due to day–night temperature gradients : https://hal.archives-ouvertes.fr/hal-02005332/document&lt;br /&gt;
&lt;br /&gt;
Have a look on equation (12) &amp;amp; appendix D&lt;br /&gt;
&lt;br /&gt;
=== Formalism ===&lt;br /&gt;
&lt;br /&gt;
We consider a layer.&lt;br /&gt;
&lt;br /&gt;
dP is the difference of pressure between the two levels that define the layer.&lt;br /&gt;
&lt;br /&gt;
dN is the number of  molecules per m2 &amp;amp; dm is the mass per m2 of the layer&lt;br /&gt;
&lt;br /&gt;
dTau is the optical depth for a given wavelength (or wavenumber)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_{molecule}&amp;lt;/math&amp;gt; is the mass of one molecule of the considered gas&lt;br /&gt;
&lt;br /&gt;
g is the gravity&lt;br /&gt;
&lt;br /&gt;
sigma_mol is the Rayleigh scattering cross section of the molecule&lt;br /&gt;
&lt;br /&gt;
dTau = sigma_mol * dN&lt;br /&gt;
&lt;br /&gt;
sigma_mol = sigma_mol(wavenumber in cm-1)&lt;br /&gt;
&lt;br /&gt;
which gives : dTau = sigma_mol &amp;lt;math&amp;gt; \displaystyle \frac{dm}{m_{molecule}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then : dTau &amp;lt;math&amp;gt; \displaystyle = \frac{\text{sigma_mol}}{g * m_{molecule}} dP&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dP here is in Pascal&lt;br /&gt;
&lt;br /&gt;
=== Relations between LMDZ &amp;amp; Exo_k formalisms ===&lt;br /&gt;
&lt;br /&gt;
LMDZ &amp;amp; exo_k formalism are linked as following :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \displaystyle \text{(tauconsti * tauvari)} = \frac{\text{sigma_mol}}{g * m_{molecule}} * \text{scalep}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be careful with units !!! (cm-1 for wavenumbers in exo_k, microns for wavelengths in LMDZ)&lt;br /&gt;
&lt;br /&gt;
Last but not least : not to forget the ''scalep'' factor in LMDZ !&lt;br /&gt;
scalep = 100, because P is in mBar in optcv.F90 .&lt;br /&gt;
So we move from Pascal to mBar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=File:Rayleigh_scattering.png&amp;diff=3189</id>
		<title>File:Rayleigh scattering.png</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=File:Rayleigh_scattering.png&amp;diff=3189"/>
				<updated>2026-01-21T14:18:48Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: Milcareck uploaded a new version of File:Rayleigh scattering.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=File:Rayleigh_scattering.png&amp;diff=3188</id>
		<title>File:Rayleigh scattering.png</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=File:Rayleigh_scattering.png&amp;diff=3188"/>
				<updated>2026-01-21T14:11:29Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3187</id>
		<title>The traceur.def Input File</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=The_traceur.def_Input_File&amp;diff=3187"/>
				<updated>2026-01-21T14:00:09Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it for? ==&lt;br /&gt;
&lt;br /&gt;
Tracers need to be listed in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
Characteristics of the tracers can be also specified in ''traceur.def''.&lt;br /&gt;
&lt;br /&gt;
It should not be confused with [[tracer.def]], which is the configuration file for [[DYNAMICO]].&lt;br /&gt;
&lt;br /&gt;
== What is a tracer? ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The model may include different types of tracers:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;condensed species (e.g., CO2, H2O, dust)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;chemically active species&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;radiatively active gases (e.g., water vapor)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
In the code, all tracers are stored in one three-dimensional array q, the third index of&lt;br /&gt;
which corresponds to each individual tracer. In input &lt;br /&gt;
([https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_start.nc_and_startfi.nc_input_files ''start.nc'', ''startfi.nc''])&lt;br /&gt;
and output files tracers are stored separately using their individual names. Loading specific&lt;br /&gt;
tracers requires that the approriate tracer names are set in the ''traceur.def'' file, &lt;br /&gt;
and specific computations for given tracers (e.g. computing the water or CO2&lt;br /&gt;
cycles) is controlled by setting the corresponding options in the &lt;br /&gt;
[https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_callphys.def_Input_File ''callphys.def''] file.&lt;br /&gt;
&lt;br /&gt;
== File structure ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Old&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2&lt;br /&gt;
h2o_vap&lt;br /&gt;
h2o_ice&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Modern&amp;quot; version ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ModernTrac-v1&lt;br /&gt;
#&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
# !! README !!&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
#  Welcome, this is the modern traceur.def !&lt;br /&gt;
# &lt;br /&gt;
#         ---&amp;gt; DON'T TOUCH/REMOVE THE FIRST LINE OF HEADER #ModernTrac-v1 &amp;lt;---&lt;br /&gt;
#&lt;br /&gt;
# * You can use this area to write as many comments as you want starting lines with #.&lt;br /&gt;
# * You cannot have comment lines in the middle nor at the end, only at the top.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# 0. Philosophy  This modern version of traceur.def gather in a single file what was&lt;br /&gt;
# ~~~~~~~~~~~~~  previously in traceur.def AND gases.def plus some hard-coded things.&lt;br /&gt;
#&lt;br /&gt;
# 1. Structure  After the header, first line is the total number of modern tracers in&lt;br /&gt;
# ~~~~~~~~~~~~  your file, ie not only tracers sent to dynamics, but also species that&lt;br /&gt;
#               takes part in the composition, radiative transfer, chemistry, etc.&lt;br /&gt;
#&lt;br /&gt;
#               Then, each line needs to start with the specie name ... and that's the&lt;br /&gt;
#               only mandatory information ! But you can specify all the options you&lt;br /&gt;
#               want in separate blocks following 'option=value', assuming this option&lt;br /&gt;
#               is defined in traceur_h.F90 &amp;amp; initracer.F for physics, infotrac.F90 &lt;br /&gt;
#               for dynamics or chimiedata_h.F90 &amp;amp; calchim_asis.F90 for chemistry.&lt;br /&gt;
#               Indeed this file is read once by dynamics, once by physics and once by&lt;br /&gt;
#               chemistry who keep only the information needed.&lt;br /&gt;
#&lt;br /&gt;
#               Note that by default a tracer listed below will be sent to dynamics&lt;br /&gt;
#               except if you specify is_dyn=0. If nothing is given, then is_dyn=1.&lt;br /&gt;
#               Not yet fully implemented.&lt;br /&gt;
#&lt;br /&gt;
# 3. Options.   Implemented options listed below.&lt;br /&gt;
# ~~~~~~~~~~~~  For dynamic see &amp;quot;infotrac.F90&amp;quot;.&lt;br /&gt;
#               For physic see &amp;quot;initracer.F90&amp;quot;.&lt;br /&gt;
#               For chemistry see &amp;quot;calchim_asis.F90&amp;quot;.&lt;br /&gt;
#                        init see &amp;quot;inichim_1D.F90&amp;quot; and &amp;quot;inichim_newstart.F90&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
# Dynamic:      vadv           ! index of vertical trasport schema&lt;br /&gt;
#               hadv           ! index of horizontal trasport schema&lt;br /&gt;
#               tnom_transp    ! transporting fluid short name: CRisi&lt;br /&gt;
#&lt;br /&gt;
# Physic:       mmol           ! mole mass of tracer [g.mol-1]&lt;br /&gt;
#               aki            ! coefficient of thermal concduction&lt;br /&gt;
#               cpi            ! heat capacity [J.kg-1.K-1]&lt;br /&gt;
#               is_chim        ! 1 if tracer used in chemistry, else 0&lt;br /&gt;
#               is_rad         ! 1 if tracer used in radiative transfer, else 0&lt;br /&gt;
#               is_recomb      ! 1 if tracer used in recombining scheme, else 0&lt;br /&gt;
#                                (if 1, must have is_rad=1)&lt;br /&gt;
#               is_recomb_qset ! 1 if tracer k-corr assume predefined vmr, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb=1)&lt;br /&gt;
#               is_recomb_qotf ! 1 if tracer recombination is done on-the-fly, else 0&lt;br /&gt;
#                                (if 1, must have is_recomb_qset=0)&lt;br /&gt;
#&lt;br /&gt;
# Chemistry:    SF_mode        ! 1 if surface set up value, else 2 sedimentation velocity&lt;br /&gt;
#               SF_value       ! [vmr] if SF_mode=1, else [cm.s-1]&lt;br /&gt;
#               prod_rate      ! if SF_mode=2 production flux [molecules.m-2.s-1]&lt;br /&gt;
#&lt;br /&gt;
#      init:    qx             ! value that initialize constant profile [vmr]&lt;br /&gt;
#               qxf            ! file that initialize profile [Pa,vmr] (1 line header)&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Random Ex :&lt;br /&gt;
#               4&lt;br /&gt;
#               n2 is_dyn=0&lt;br /&gt;
#               co2 cpi=450.0 is_dyn=1 mmol=44.&lt;br /&gt;
#               hdo hadv=14 vadv=10 tnom_transp=air&lt;br /&gt;
#               h2s&lt;br /&gt;
#&lt;br /&gt;
# Insert your tracers list and options below !&lt;br /&gt;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
29&lt;br /&gt;
h2o_ice                 mmol=18   &lt;br /&gt;
co2                     mmol=44   is_chim=1    SF_mode=1    SF_value=4.0e-4    is_rad=1&lt;br /&gt;
co                      mmol=28   is_chim=1&lt;br /&gt;
o                       mmol=16   is_chim=1&lt;br /&gt;
o1d                     mmol=16   is_chim=1&lt;br /&gt;
o2                      mmol=32   is_chim=1    SF_mode=1    SF_value=2.1e-1&lt;br /&gt;
o3                      mmol=48   is_chim=1    is_rad=1 is_recomb=1 is_recomb_qotf=1&lt;br /&gt;
h                       mmol=1    is_chim=1&lt;br /&gt;
h2                      mmol=2    is_chim=1&lt;br /&gt;
oh                      mmol=17   is_chim=1&lt;br /&gt;
ho2                     mmol=33   is_chim=1&lt;br /&gt;
h2o2                    mmol=34   is_chim=1&lt;br /&gt;
h2o_vap                 mmol=18   is_chim=1    is_rad=1&lt;br /&gt;
ch4                     mmol=16   is_chim=1    SF_mode=1    SF_value=1.8e-6    is_rad=1&lt;br /&gt;
ch3                     mmol=15   is_chim=1&lt;br /&gt;
cho                     mmol=29   is_chim=1&lt;br /&gt;
ch2o                    mmol=30   is_chim=1&lt;br /&gt;
ch3o                    mmol=31   is_chim=1&lt;br /&gt;
ch3o2                   mmol=47   is_chim=1&lt;br /&gt;
ch3o2h                  mmol=48   is_chim=1&lt;br /&gt;
n                       mmol=14   is_chim=1&lt;br /&gt;
no                      mmol=30   is_chim=1&lt;br /&gt;
no2                     mmol=46   is_chim=1&lt;br /&gt;
n2                      mmol=28   is_chim=1    is_rad=1&lt;br /&gt;
hno3                    mmol=63   is_chim=1&lt;br /&gt;
hno4                    mmol=79   is_chim=1&lt;br /&gt;
n2o                     mmol=44   is_chim=1    SF_mode=1    SF_value=3.3e-7&lt;br /&gt;
no3                     mmol=62   is_chim=1&lt;br /&gt;
n2o5                    mmol=108  is_chim=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initialisation ==&lt;br /&gt;
&lt;br /&gt;
[In development 21/01/2026]&lt;br /&gt;
&lt;br /&gt;
=== In 3D ===&lt;br /&gt;
&lt;br /&gt;
WARNING: Contrary to what is written in the '''ModernTrac-v1''' documentation, tracers cannot be initialised in the '''traceur.def''' file (qx is not read in 3D). &lt;br /&gt;
&lt;br /&gt;
To initialise the tracers in 3D, you must run a newstart. During the newstart, when you are asked to change the tracers, you can choose between initialising to a constant (q=x) or to a profile (q=profile). Next, a list of all the tracers is displayed and you must enter the number of the tracer you want to change. After making this choice, simply enter the value of the constant (+surface value for this case) or the file name of the profile. You must repeat this for each tracer you want to modify.&lt;br /&gt;
&lt;br /&gt;
On dynamico, there is no newstart for now. You can add only tracers by hand by using the tracer_settings.py in the start.nc file of your first run (the makestart run). &lt;br /&gt;
&lt;br /&gt;
=== In 1D ===&lt;br /&gt;
&lt;br /&gt;
In 1D, the initial distribution of each tracer can be read from a file named &amp;quot;'''profile_&amp;lt;tracer name&amp;gt;'''&amp;quot; (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).&lt;br /&gt;
&lt;br /&gt;
If you only want to initialise to a constant value, you must add '''qx=...''' on your traceur.def file.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Category:Inputs]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Photochemistry_of_the_Generic_PCM&amp;diff=3180</id>
		<title>Photochemistry of the Generic PCM</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Photochemistry_of_the_Generic_PCM&amp;diff=3180"/>
				<updated>2026-01-14T10:38:45Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General Use =&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
Photochemistry in the generic model is largely independent of the and does not require to recompile it (just make sure that you have linked the ''LAPACK'' and ''BLAS'' libraries).&lt;br /&gt;
&lt;br /&gt;
== callphys.def ==&lt;br /&gt;
In order to use photochemistry, you simply need to have the following line in '''callphys.def''':&lt;br /&gt;
 photochem  = .true.&lt;br /&gt;
Other flags related to photochemistry are:&lt;br /&gt;
* '''photoheat''': turn on or off heating by UV absorption.&lt;br /&gt;
* '''jonline''': turn on or off online photolysis.&lt;br /&gt;
* '''stellarflux''': name of the stellar flux file.&lt;br /&gt;
* '''depos''': turn on or off deposition.&lt;br /&gt;
&lt;br /&gt;
== traceur.def ==&lt;br /&gt;
All chemical species must be listed in [[The_traceur.def_Input_File|'''traceurs.def''']] ('''which needs to follow the modern layout''').&lt;br /&gt;
&lt;br /&gt;
== Reaction network ==&lt;br /&gt;
Besides the species- and reaction-specific data files ([[#Photolysis reaction|see below]]), you need one file: '''network.def''' (previously '''reactfile''' where it was located in the '''chemnetwork''' folder) for the reaction network. The first line of the file is ignored, then for each line, the syntax of the '''network.def''' is as follows:  &lt;br /&gt;
* Columns 1-50 are reserved for reactants. Their names must match those given [[The_traceur.def_Input_File|'''traceurs.def''']], in particular, if you have both water vapour and water ice as tracers, named h2o_vap and h2o_ice respectively, the name to use for water vapour in chemical reaction is h2o_vap. Reactant species must be separated by any number of blank spaces.&lt;br /&gt;
* Columns 51-100 are reserved for products, with the same rules applying. Notice that in the case of a third body reaction, the third body appears only with the reactants and is omitted on the products side. &lt;br /&gt;
* Column 101 is an integer designating the type of reaction: 0 for photolysis, 1, 2 or 3 for other reactions, depending on their reaction rate formula. The four next spaces are blank.&lt;br /&gt;
* Column 106 and after are dedicated to parameters specific to each reaction type.&lt;br /&gt;
Note that lines can be commented out by starting them with the character &amp;quot;!&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Photolysis ==&lt;br /&gt;
=== Online photolysis ===&lt;br /&gt;
In the baseline use of the photochemistry model, photolysis are computed at the runtime (online), by solving the UV radiative transfer using the TUV solver, considering species-specific UV cross section. o do so, first make sure that the apropriate flag is set to true in the '''callphys.def''':&lt;br /&gt;
 jonline = .true.&lt;br /&gt;
Photolysis reactions are identified by a 0 at column 101 of the '''network.def'''. They need two types of files (which need to be placed in '''datadir/cross_sections/'''): &lt;br /&gt;
# cross sections (syntax: first line: wavelength in nm, second line cross section in cm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;, first line is ignored)&lt;br /&gt;
# yield rates (syntax: first line: wavelength in nm, second line: photodissociation yield, first line is ignored)&lt;br /&gt;
These data can be found in benchmark cases for common species (e.g. water), or on the following pages for more exotic ones: [https://www.uv-vis-spectral-atlas-mainz.org/uvvis/ Mainz spectral atlas], [https://phidrates.space.swri.edu/ phidrates], [https://home.strw.leidenuniv.nl/~moldata/ Leiden University].  &lt;br /&gt;
The parameters for photolysis reaction in the '''network.def''' are given as follows, from column 106: an identifier character string starting with &amp;quot;j&amp;quot;, an integer corresponding to the number of cross section files (one for each temperature range), the lower bound of each temperature range, the name of each cross section file, the name of the yield rate file. For example, the following line describes the photolysis of O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; into two O atoms in the ground state:&lt;br /&gt;
 o2              hv                                o               o                                 0    jo2_o               4    150  200  250  300  O2_150.abs O2_200.abs O2_250.abs O2_300.abs o2_o.yld&lt;br /&gt;
In this case, 4 different cross section files exist, corresponding to the temperature range 150 K-200 K, 200 K-250 K, 250 K-300 K, &amp;gt;300 K.&lt;br /&gt;
=== Offline photolysis ===&lt;br /&gt;
=== Stellar flux ===&lt;br /&gt;
In order to compute photolysis (is it also the case for offline photolysis?), you need to provide a UV stellar spectrum. This file must be located in datadir/stellar_spectra/photochem_stellar_spectra, an is composed of a 2-lines header and 2 columns, the left one indicating wavelength (in nm) and the right one indicating the flux (in photons/cm²/s/nm).&lt;br /&gt;
=== Constant photodissociation rates ===&lt;br /&gt;
Sometimes photodissociation rates are simply given as a constant throughout the atmosphere. One way to reproduce that is to treat these reactions as type 1 reaction (see below).&lt;br /&gt;
&lt;br /&gt;
== Reaction rate formulae ==&lt;br /&gt;
Many reaction rate parametrizations can be found in [https://jpldataeval.jpl.nasa.gov/pdf/NASA-JPL%20Evaluation%2019-5.pdf here]. The model currently accounts for three different formula for the reaction rate (more exotic ones can be hard-coded in the '''chimiedata_h.F90''' file, as indicated in [https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Other_GCM_Configurations_worth_knowing_about#Compiling_a_test_case_.28TRAPPIST-1e.29 the TRAPPIST-1e example]). The chosen formula is by 1, 2, or 3 at column 51 or the '''network.def'''.They read respectively:&lt;br /&gt;
# The simple form of the reaction rate is &amp;lt;p&amp;gt;:&amp;lt;math&amp;gt;k=a\left(\frac{T}{T_0}\right)^ce^{\frac{-b}{T} }[M]^d&amp;lt;/math&amp;gt;Its parameters (to give in the '''network.def''' in the same order, starting from column 106) are &amp;lt;math&amp;gt;a, b, c, T_0, d&amp;lt;/math&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
# Termolecular reactions have low- and high-pressure-limiting rate constant (&amp;lt;math&amp;gt;k_0&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;k_\infty&amp;lt;/math&amp;gt;, respectively). Their effective rate constant is then given by &amp;lt;p&amp;gt;:&amp;lt;math&amp;gt;k=ge^{-\frac{h}{T} }+\frac{k_0\left(\frac{T}{T_0}\right)^ne^{\frac{-a_0}{T} }[M]^{d_{\text up} } }{1+\frac{k_0\left(\frac{T}{T_0}\right)^ne^{\frac{-a_0}{T} } }{k_\infty\left(\frac{T}{T_0}\right)^me^{\frac{-b_0}{T} } }[M]^{d_{\text down} } }fc^{\frac{1}{1+\left[\log_{10}\left(\frac{k_0\left(\frac{T}{T_0}\right)^ne^{\frac{-a_0}{T} } }{k_\infty\left(\frac{T}{T_0}\right)^me^{\frac{-b_0}{T} } }[M] \right) \right]^2 } }&amp;lt;/math&amp;gt;Its parameters (to give in the '''network.def''' in the same order, starting from column 106) are &amp;lt;math&amp;gt;k_0, n, a_0, k_\infty, m, b_0, T_0, f_c, g, h, d_{\text up}, d_{\text down}&amp;lt;/math&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
# Finally, a last form of the reaction rate is &amp;lt;p&amp;gt;:&amp;lt;math&amp;gt;\frac{k_0\left(\frac{T}{T_0}\right)^ne^{\frac{-a_0}{T} }[M]^{d_{\text up} } }{1+\frac{k_0\left(\frac{T}{T_0}\right)^ne^{\frac{-a_0}{T} } }{k_\infty\left(\frac{T}{T_0}\right)^me^{\frac{-b_0}{T} } }[M]^{d_{\text down} } }[F_{\text cent}]^X,&amp;lt;/math&amp;gt;with &amp;lt;math&amp;gt;F_{\text cent}=1-ae^{-\frac{T}{T^{***} } }+ae^{-\frac{T}{T^* } }+ae^{-\frac{T^{**}}{T } }&amp;lt;/math&amp;gt;, and :&amp;lt;math&amp;gt;X=\left[1+\left[\frac{\log_{10}\left(\frac{k_0\left(\frac{T}{T_0}\right)^ne^{\frac{-a_0}{T} } }{k_\infty\left(\frac{T}{T_0}\right)^me^{\frac{-b_0}{T} } }[M] \right)+c }{N-d\left(\log_{10}\left(\frac{k_0\left(\frac{T}{T_0}\right)^ne^{\frac{-a_0}{T} } }{k_\infty\left(\frac{T}{T_0}\right)^me^{\frac{-b_0}{T} } }[M] \right) \right)+c } \right]^2 \right]^{-1},&amp;lt;/math&amp;gt;with &amp;lt;math&amp;gt;c=-0.4-0.67\log_{10}(F_{\text cent})&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;N=0.75-1.27\log_{10}(F_{\text cent})&amp;lt;/math&amp;gt;, and &amp;lt;math&amp;gt;d=0.14&amp;lt;/math&amp;gt;.&lt;br /&gt;
::Its parameters (to give in the '''network.def''' in the same order, starting from column 106) are &amp;lt;math&amp;gt;k_0, n, a_0, k_\infty, m, b_0, T_0, a, T^{***}, T^*, T^{**}, d_{\text up}, d_{\text down}&amp;lt;/math&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example, the following line describes the 3-body reaction CO + O + M = CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + M, whose reaction rate is &amp;lt;math&amp;gt;k=2.2\times10^{-33}e^{-\frac{1780}{T} }[M]&amp;lt;/math&amp;gt; (be careful, here &amp;lt;math&amp;gt;[M]&amp;lt;/math&amp;gt; corresponds to the molecular density of the atmosphere, not that of the third body):&lt;br /&gt;
 co              o               M                 co2                                               1    2.2e-33     -1780.0     0.0         1           1.0&lt;br /&gt;
&lt;br /&gt;
= Boundary conditions =&lt;br /&gt;
All processes described in this section are implemented in the '''deposition_source.F90''' file in LMDZ.GENERIC/libf/aeronostd.  &lt;br /&gt;
For each chemical species, two types of surface boundary conditions can be enforced in the chemistry, specified by the '''SF_mode''' in the [[The_traceur.def_Input_File|traceur.def]] file. If none of the flags mentioned below is given, the default boundary conditions are no flux.&lt;br /&gt;
&lt;br /&gt;
== Fixed mixing ratio ==&lt;br /&gt;
&lt;br /&gt;
This boundary condition is enforced by setting SF_mode=1. The value of the surface VMR is then passed to the flag SF_value.&lt;br /&gt;
&lt;br /&gt;
== Deposition velocity and surface production ==&lt;br /&gt;
&lt;br /&gt;
This boundary condition is enforced by setting SF_mode=2. It enforces a surface deposition $$v_{\rm dep}$$ inducing an outflux $$F=-v_{\rm dep}\times[X]$$ with v_dep the surface deposition velocity and [X] the VMR of the tracer in the first atmosphere layer, as well as a fixed production rate (added to each cell of the first atmosphere layer). The value of the deposition velocity (in cm/s) is passed to the flag '''SF_value''' and the production rate (in molecules/m$$^2$$/s) is passed to the flag '''prod_rate'''&lt;br /&gt;
&lt;br /&gt;
In case of surface deposition/production, a production rate can also be specified for each tracer using the flag '''prod_rate''' (value in molecules/m$$^2$$/s). Below is an example of a chunk of a traceur.def file specifying a fixed CO$$_2$$ volume mixing ratio and a surface deposition of CO of 10$$^{-8}$$ cm/s along with a production rate of 10$$^5$$ molecules/m$$^2$$/s:&lt;br /&gt;
&lt;br /&gt;
 co2 mmol=44 is_chim=1 SF_mode=1&lt;br /&gt;
 co  mmol=28 is_chim=1 SF_mode=1 SF_value=1e-8 prod_rate=1e5&lt;br /&gt;
&lt;br /&gt;
== Escape ==&lt;br /&gt;
Whatever the prescribed boundary condition, an escape rate can also be given at the top of the atmosphere. A parametrization of H escape from H$$_2$$, CH$$_4$$ and H$$_2$$O is currently implemented and commented out.&lt;br /&gt;
&lt;br /&gt;
= Using hard-coded rate constants =&lt;br /&gt;
&lt;br /&gt;
You might sometimes want to track a reaction whose rate constant is not capture by either of the three above parametrizations. In this case you'll need to get your hands dirty and hard-code the rate constant parametrization in the code. Notice that the reaction should not be included in the network.def in this case (it is however a good practice to indicate it as a commented line and write &amp;quot;hard-coded', both to keep track of your network and because the post-processing tools will notify it by reading the network.def). Here is how to proceed:&lt;br /&gt;
&lt;br /&gt;
First, identify the type of your reaction: currently, the model distinguishes between 1) bimolecular reactions (A + B -&amp;gt; C (+ D)), 2) quadratic reactions (A + A -&amp;gt; B (+C)), 3) quenching reactions (A + C -&amp;gt; B + C), and 4) heterogeneous reactions (e.g. A + ice -&amp;gt; B + C). Bimolecular reactions are given type '''v4''', quadratic reactions are given type '''v3''', and both quenching an heterogeneous reactions are given type '''vphot''' (the same as photodissociation reactions).     &lt;br /&gt;
&lt;br /&gt;
Then, open the file '''LMDZ.GENERIC/libf/aeronostd/chimiedata_h.F90'''. This file has a dedicated section for hard-coded reactions. Some of them are already there, commented out. We'll use one of them (the reaction CO + OH -&amp;gt; CO2 + H) as a example on how to proceed. This is a bimolecular reaction, so we first need to increment the counter of hard-coded reactions of type '''v_4''':&lt;br /&gt;
 integer, parameter :: n4_hard_coding    = 1&lt;br /&gt;
In the master branch version of the code, the variable ''n4_hard_coding'' is set to 0. If you're version of the code already has hard-coded reactions, then simply add one to the current value of ''n4_hard_coding''.     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the same file, you will find a subroutine called ''indice_HC'' for registering hard-coded reactions. You can create a space for your reaction, taking example of what's already there. For instance our example reaction is already there:&lt;br /&gt;
 !===========================================================&lt;br /&gt;
 !      e001 : CO + OH -&amp;gt; CO2 + H &lt;br /&gt;
 !===========================================================&lt;br /&gt;
 ! nb_reaction_4 = nb_reaction_4 + 1&lt;br /&gt;
 ! indice_4(nb_reaction_4) = z4spec(1.0, indexchim('co'), 1.0, indexchim('oh'), 1.0, indexchim('co2'), 1.0, indexchim('h'))&lt;br /&gt;
To use it, you must uncomment the two last lines. The top one increments the number of reactions of type ''v4'', and the second one registers the reacting species for your new reaction.&lt;br /&gt;
&lt;br /&gt;
Then go to the subroutine ''reactionrates_HC''. This is where you will write down the parametrization formula into the reaction rates table (the variable '''v_4''' for bimolecular reactions, '''v_3''' for quadratic reactions, or '''v_phot''' for all others). Again, you can take example of what's already there. If you want to use our example reaction, find the dedicated space, opening with the line:&lt;br /&gt;
 !---  e001: oh + co -&amp;gt; co2 + h&lt;br /&gt;
and simply uncomment the following lines:&lt;br /&gt;
 !nb_reaction_4 = nb_reaction_4 + 1&lt;br /&gt;
to update the index at which the rate is written in table '''v_4''', and then (for instance):&lt;br /&gt;
 !     jpl 2015&lt;br /&gt;
 &lt;br /&gt;
 !do ilev = 1,nlayer&lt;br /&gt;
 !!oh + co -&amp;gt; h + co2&lt;br /&gt;
 !   rate1 = 1.5e-13*(t(ilev)/300.)**(0.0)&lt;br /&gt;
 !!oh + co + m -&amp;gt; hoco&lt;br /&gt;
 !   ak0 = 5.9e-33*(t(ilev)/300.)**(-1.0)&lt;br /&gt;
 !   ak1 = 1.1e-12*(t(ilev)/300.)**(1.3)&lt;br /&gt;
 !   rate2 = (ak0*dens(ilev))/(1. + ak0*dens(ilev)/ak1)&lt;br /&gt;
 !   xpo2 = 1./(1. + alog10((ak0*dens(ilev))/ak1)**2)&lt;br /&gt;
 !      &lt;br /&gt;
 !   v_4(ilev,nb_reaction_4) = rate1 + rate2*0.6**xpo2&lt;br /&gt;
 !end do&lt;br /&gt;
(except the first one) to use the parametrization from the JPL 2015 collection (linked above). Notice that several parametrizations are implemented; to use another one simply uncomment another block, or write your own.&lt;br /&gt;
&lt;br /&gt;
== Hard-coding reactions with 3 products ==&lt;br /&gt;
The model does not natively handle reactions with 3 products. The trick is to instead split it into 2 &amp;quot;semi-reactions&amp;quot;, for instance instead of HNO3 + OH -&amp;gt; H2O + O + NO2, add 0.5 HNO3 + 0.5 OH -&amp;gt; H2O + 0.5 NO2 and 0.5 HNO3 + 0.5 OH -&amp;gt; O + 0.5 NO2 (or any stoichiometrically-equivalent couple). Each semi-reaction then has the same constant rate as the total reaction. Don't forget to count them as two distinct reactions.&lt;br /&gt;
&lt;br /&gt;
= Python post-processing tools for photochemistry =&lt;br /&gt;
A mini python library is available in the '''util''' directory of the Generic model (LMDZ.GENERIC/utils), along with a demonstration jupyter notebook.&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3178</id>
		<title>Rayleigh scattering</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3178"/>
				<updated>2026-01-13T11:03:21Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cross section ==&lt;br /&gt;
&lt;br /&gt;
The effective cross section for the i-th particle of small size relative to the wavelength and in the electric dipole approximation is equal to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 \left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;\nu&amp;lt;/math&amp;gt; is the wave number in &amp;lt;math&amp;gt;m^{-1}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; is the molar volume in &amp;lt;math&amp;gt;molecule.m^{-3}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;n_{\nu,i}&amp;lt;/math&amp;gt; is the real refractive index, &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt; is the depolarisation factor.&lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;math&amp;gt;\left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt; is also called the King factor and is denoted by &amp;lt;math&amp;gt;F_k (\nu,i)&amp;lt;/math&amp;gt;. So,:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 F_k (\nu,i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The volume number can be obtained from the ideal gas law. Thus, the cross-sectional area depends on the temperature &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and the pressure &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt;. The refractive index also depends on the conditions &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, but in scientific literature, this dependence is very often unknown. Therefore, it is not possible to make the cross section dependent on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; if the dependence of the refractive index on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; is unknown. It is therefore necessary to fix &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; for the calculation of the cross section at the &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; where the refractive index was measured. &lt;br /&gt;
The cross section is expected to vary little with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; in the case of a gas, but due to the dependence of &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; on &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; and the variation of the refractive index with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, if any dependence is omitted, the cross section can be significantly erroneous by several orders of magnitude. The H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O molecule is the only one for which the variation of the refractive index with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; has been measured or estimated. Thus, the variation of the cross section with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; can be applied to this molecule using the formula introduced below.&lt;br /&gt;
&lt;br /&gt;
Rayleigh scattering, Brillouin scattering (not applicable in atmospheres) and Raman scattering are not taken into account in the calculation of this cross section. Only Rayleigh scattering (also known as the Cabannes peak) is taken into account.&lt;br /&gt;
&lt;br /&gt;
The refractive indices and King factors of each molecule studied in the Generic PCM are described below.&lt;br /&gt;
&lt;br /&gt;
=== CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.1427\times10^3\left(\frac{5799.25}{128908.9^2 - \nu^2} + \frac{120.05}{89223.8^2 - \nu^2} + \frac{5.3334}{75037.5^2 - \nu^2} + \frac{4.3244}{67837.7^2 - \nu^2} + \frac{0.1218145\times10^{-4}}{2418.136^2 - \nu^2}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.1364 + 25.3\times10^{-12}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.1807 and 1.8172 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at wavelengths below 0.1807 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous power-of-four formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Cuthbertson and Cuthbertson (1920)&lt;br /&gt;
https://doi.org/10.1098/rspa.1920.0020&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{6914.45}{156.85 - \nu^2}\right)\times 10^{-5}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
For 4860 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 21360 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(5677.465 + \frac{318.81874\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 21360 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6498.2 + \frac{307.4335\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, extrapolation is performed using the formula valid between 21,360 and 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O ===&lt;br /&gt;
&lt;br /&gt;
Reference: Harvey et al. (1998)&lt;br /&gt;
https://doi.org/10.1063/1.556029&lt;br /&gt;
&lt;br /&gt;
In the case of water, the refractive index is known to depend on T and P. However, it should be noted that the interpolation formula for water vapour is based on very incomplete data for certain wavelength ranges at certain temperatures and pressures (see reference for more details).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_0 =  0.244257733 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_1 = 9.74634476\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_2 = -3.73234996\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_3 = 2.68678472\times10^{-4} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_4 = 1.58920570\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_5 = 2.45934259\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_6 = 0.900704920 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_7 = -1.66626219\times10^{-2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{UV} = 0.2292020\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{IR} = 5.432937\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \rho_0 = 1000\; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    T_0 = 273.15\; K &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_0 = 0.589\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;b_{\lambda,i, T, p} = \left( a_0 + a_1\bar{\rho} + a_2\bar{T} + a_3\bar{T}\bar{\lambda}^2 + \frac{a_4}{\bar{\lambda}^2} + \frac{a_5}{\bar{\lambda}^2 - \lambda_{UV}^2} + \frac{a_6}{\bar{\lambda}^2 - \lambda_{IR}^2} \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\rho} = \frac{\rho}{\rho_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{T} = \frac{T}{T_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\lambda} = \frac{\lambda}{\lambda_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\lambda,i, T, p} = \frac{\sqrt{2b_{\lambda,i, T, p}+1}}{\sqrt{1-b_{\lambda,i, T, p}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the coefficients in the refractive index interpolation formula are in wavelength (&amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;). If you want to use wave numbers in &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, simply replace &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;10000/\nu(cm^{-1})&amp;lt;/math&amp;gt;, which is equal to &amp;lt;math&amp;gt;\lambda(\mu m)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to &amp;lt;math&amp;gt;3\times10^{-4}&amp;lt;/math&amp;gt;. The source of this factor comes from Murphy (1977) &lt;br /&gt;
https://doi.org/10.1063/1.434794&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times3\times10^{-4}}{6-7\times3\times10^{-4}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas are valid between 0.2 and 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.2 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Barrell and Sears (1939)&lt;br /&gt;
https://doi.org/10.1098/rsta.1939.0004&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(245.40+2.187\times\left(\frac{10000}{\nu}\right)^{-2} \right)\times 10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths greater than 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Ciddor (1996)&lt;br /&gt;
https://doi.org/10.1364/AO.35.001566&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.022\times10^{-8}\left(295.235 + 2.6422\times(\nu\times10^{-4})^2 - 0.03238\times(\nu\times10^{-4})^4 + 0.004028\times(\nu\times10^{-4})^6\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 293.15 K and a pressure of 1333 Pa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{14895.6}{180.7 - (\nu\times10^{-4})^2} + \frac{4903.7}{92-(\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to 0.02. The source of this factor comes from Hansen and Travis (1974)&lt;br /&gt;
https://doi.org/10.1007/BF00168069&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times0.02}{6-7\times0.02}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 273.15 K and a pressure of 1013.25 hPa. It is valid between 0.1680 and 1.6945 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.1680 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23.79+\frac{12307.2}{109.832 - (\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== He ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(2283 + \frac{1.8102\times10^{13}}{1.5342\times10^{10} - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.2753 and 20.5813 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CH&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 46662\times10^{-8} + 4.02\times10^{-14}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The depolarisation factor is unknown. It is therefore set at 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.3251 and 0.6330 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CO ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 +  22851\times10^{-8} + \frac{0.456\times10^4}{71427^2 - \nu^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.016&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.168 and 0.288 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Ar ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6432.135 + \frac{286.06021\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.288 and 0.546 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Bates (1984)&lt;br /&gt;
https://doi.org/10.1016/0032-0633(84)90102-8&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;lt; &amp;lt;/math&amp;gt; 18315 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(21351.3 + \frac{21.85670}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 18315 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 34722 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(20564.8 + \frac{24.80899}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 34722 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(22120.4 + \frac{20.31876}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;gt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23796.7 + \frac{16.89884}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.09 + 1.385\times10^{-11}\nu^2 + 1.488\times10^{-20}\nu^4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa. They are valid between 0.198 and 2.0 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;. Beyond this range, extrapolation is used.&lt;br /&gt;
&lt;br /&gt;
== Mass extinction coefficient ==&lt;br /&gt;
&lt;br /&gt;
The mass extinction coefficient is related to the molar cross section of scattering by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu,i} = \sigma_{\nu,i} \frac{N_A}{\bar{M}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;N_A&amp;lt;/math&amp;gt; is Avogadro constant and &amp;lt;math&amp;gt;\bar{M}&amp;lt;/math&amp;gt; is the average molecular mass of the atmosphere.&lt;br /&gt;
&lt;br /&gt;
For a gas mixture, the extinction coefficient is equal to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu} = \sum_{i=1}^N x_i k_{\nu,i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optical depth == &lt;br /&gt;
&lt;br /&gt;
Optical thickness is defined as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} \sigma_{\nu} N dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\rho dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, according to the hydrostatic balance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;dp = \rho g dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, we have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\frac{dp}{g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A coefficient &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; is added to convert &amp;lt;math&amp;gt;Pa&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;mbar&amp;lt;/math&amp;gt; used in radiative transfer.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in Generic PCM ==&lt;br /&gt;
&lt;br /&gt;
The Rayleigh scattering routine is determined for each spectral band defined in the correlated-k routine and at each pressure level. The routine follows the path below:&lt;br /&gt;
* Each spectral band &amp;lt;math&amp;gt;NW&amp;lt;/math&amp;gt; is recut by the &amp;lt;math&amp;gt;Nfine&amp;lt;/math&amp;gt; parameter. Rayleigh scattering calculations are performed on a loop on Nfine for each spectral band.&lt;br /&gt;
* The refractive index &amp;lt;math&amp;gt;ng&amp;lt;/math&amp;gt; and the King factor &amp;lt;math&amp;gt;Fk&amp;lt;/math&amp;gt; are set.&lt;br /&gt;
* The extinction coefficient is calculated in two stages. &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt;, the part dependent on the wavenumber, is calculated, then &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;, the part dependent on pressure and temperature (if it exists). Otherwise, the reference pressure &amp;lt;math&amp;gt;P0&amp;lt;/math&amp;gt; and temperature &amp;lt;math&amp;gt;T0&amp;lt;/math&amp;gt; of the refractive index measurements are used for &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;.&lt;br /&gt;
* The product &amp;lt;math&amp;gt;Tauvari \times Tauconsti&amp;lt;/math&amp;gt; is calculated at the end to give the extinction coefficient &amp;lt;math&amp;gt;Tauvar&amp;lt;/math&amp;gt; .&lt;br /&gt;
* After this loop, the extinction coefficient is then weighted by the black body function for each spectral band as &amp;lt;math&amp;gt; \text{TAURAY(P,NW)} = \frac{\int_{\nu' \in \text{band}} \text{TAUVAR} (P,\nu') B_{\nu} \, \mathrm{d}\nu'}{\int B_{\nu} \, \mathrm{d}\nu'} &amp;lt;/math&amp;gt; .&lt;br /&gt;
* Finally, the optical depth is calculated in optcv.F90, where the thickness of the layer &amp;lt;math&amp;gt;dP&amp;lt;/math&amp;gt; is added (&amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; was already added on &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Each unit in this routine follows the International System of Units. HOWEVER, for all other routines in the radiative part of the model, the pressure is in mbar/hPa! That is why we add a &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; factor at the end for &amp;lt;math&amp;gt;Tauray&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
If you want to add a new molecule, simply enter its refractive index and King factor and use the same &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt; formulas, as for the previous molecules.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in exo_k ==&lt;br /&gt;
&lt;br /&gt;
Rayleigh routine in exo_k is available here : &lt;br /&gt;
&lt;br /&gt;
http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol&lt;br /&gt;
&lt;br /&gt;
Exo_k uses formalism from :&lt;br /&gt;
&lt;br /&gt;
''Caldas'' (2019) Effects of a fully 3D atmospheric structure on exoplanet transmission spectra: retrieval biases due to day–night temperature gradients : https://hal.archives-ouvertes.fr/hal-02005332/document&lt;br /&gt;
&lt;br /&gt;
Have a look on equation (12) &amp;amp; appendix D&lt;br /&gt;
&lt;br /&gt;
=== Formalism ===&lt;br /&gt;
&lt;br /&gt;
We consider a layer.&lt;br /&gt;
&lt;br /&gt;
dP is the difference of pressure between the two levels that define the layer.&lt;br /&gt;
&lt;br /&gt;
dN is the number of  molecules per m2 &amp;amp; dm is the mass per m2 of the layer&lt;br /&gt;
&lt;br /&gt;
dTau is the optical depth for a given wavelength (or wavenumber)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_{molecule}&amp;lt;/math&amp;gt; is the mass of one molecule of the considered gas&lt;br /&gt;
&lt;br /&gt;
g is the gravity&lt;br /&gt;
&lt;br /&gt;
sigma_mol is the Rayleigh scattering cross section of the molecule&lt;br /&gt;
&lt;br /&gt;
dTau = sigma_mol * dN&lt;br /&gt;
&lt;br /&gt;
sigma_mol = sigma_mol(wavenumber in cm-1)&lt;br /&gt;
&lt;br /&gt;
which gives : dTau = sigma_mol &amp;lt;math&amp;gt; \displaystyle \frac{dm}{m_{molecule}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then : dTau &amp;lt;math&amp;gt; \displaystyle = \frac{\text{sigma_mol}}{g * m_{molecule}} dP&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dP here is in Pascal&lt;br /&gt;
&lt;br /&gt;
=== Relations between LMDZ &amp;amp; Exo_k formalisms ===&lt;br /&gt;
&lt;br /&gt;
LMDZ &amp;amp; exo_k formalism are linked as following :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \displaystyle \text{(tauconsti * tauvari)} = \frac{\text{sigma_mol}}{g * m_{molecule}} * \text{scalep}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be careful with units !!! (cm-1 for wavenumbers in exo_k, microns for wavelengths in LMDZ)&lt;br /&gt;
&lt;br /&gt;
Last but not least : not to forget the ''scalep'' factor in LMDZ !&lt;br /&gt;
scalep = 100, because P is in mBar in optcv.F90 .&lt;br /&gt;
So we move from Pascal to mBar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3177</id>
		<title>Rayleigh scattering</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3177"/>
				<updated>2026-01-13T10:31:58Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cross section ==&lt;br /&gt;
&lt;br /&gt;
The effective cross section for the i-th particle of small size relative to the wavelength and in the electric dipole approximation is equal to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 \left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;\nu&amp;lt;/math&amp;gt; is the wave number in &amp;lt;math&amp;gt;m^{-1}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; is the molar volume in &amp;lt;math&amp;gt;molecule.m^{-3}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;n_{\nu,i}&amp;lt;/math&amp;gt; is the real refractive index, &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt; is the depolarisation factor.&lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;math&amp;gt;\left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt; is also called the King factor and is denoted by &amp;lt;math&amp;gt;F_k (\nu,i)&amp;lt;/math&amp;gt;. So,:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 F_k (\nu,i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The volume number can be obtained from the ideal gas law. Thus, the cross-sectional area depends on the temperature &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and the pressure &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt;. The refractive index also depends on the conditions &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, but in scientific literature, this dependence is very often unknown. Therefore, it is not possible to make the cross section dependent on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; if the dependence of the refractive index on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; is unknown. It is therefore necessary to fix &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; for the calculation of the cross section at the &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; where the refractive index was measured. &lt;br /&gt;
The cross section is expected to vary little with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; in the case of a gas, but due to the dependence of &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; on &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; and the variation of the refractive index with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, if any dependence is omitted, the cross section can be significantly erroneous by several orders of magnitude. The H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O molecule is the only one for which the variation of the refractive index with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; has been measured or estimated. Thus, the variation of the cross section with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; can be applied to this molecule using the formula introduced below.&lt;br /&gt;
&lt;br /&gt;
Rayleigh scattering, Brillouin scattering (not applicable in atmospheres) and Raman scattering are not taken into account in the calculation of this cross section. Only Rayleigh scattering (also known as the Cabannes peak) is taken into account.&lt;br /&gt;
&lt;br /&gt;
The refractive indices and King factors of each molecule studied in the Generic PCM are described below.&lt;br /&gt;
&lt;br /&gt;
=== CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.1427\times10^3\left(\frac{5799.25}{128908.9^2 - \nu^2} + \frac{120.05}{89223.8^2 - \nu^2} + \frac{5.3334}{75037.5^2 - \nu^2} + \frac{4.3244}{67837.7^2 - \nu^2} + \frac{0.1218145\times10^{-4}}{2418.136^2 - \nu^2}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.1364 + 25.3\times10^{-12}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.1807 and 1.8172 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at wavelengths below 0.1807 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous power-of-four formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Cuthbertson and Cuthbertson (1920)&lt;br /&gt;
https://doi.org/10.1098/rspa.1920.0020&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{6914.45}{156.85 - \nu^2}\right)\times 10^{-5}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
For 4860 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 21360 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(5677.465 + \frac{318.81874\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 21360 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6498.2 + \frac{307.4335\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, extrapolation is performed using the formula valid between 21,360 and 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O ===&lt;br /&gt;
&lt;br /&gt;
Reference: Harvey et al. (1998)&lt;br /&gt;
https://doi.org/10.1063/1.556029&lt;br /&gt;
&lt;br /&gt;
In the case of water, the refractive index is known to depend on T and P. However, it should be noted that the interpolation formula for water vapour is based on very incomplete data for certain wavelength ranges at certain temperatures and pressures (see reference for more details).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_0 =  0.244257733 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_1 = 9.74634476\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_2 = -3.73234996\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_3 = 2.68678472\times10^{-4} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_4 = 1.58920570\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_5 = 2.45934259\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_6 = 0.900704920 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_7 = -1.66626219\times10^{-2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{UV} = 0.2292020\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{IR} = 5.432937\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \rho_0 = 1000\; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    T_0 = 273.15\; K &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_0 = 0.589\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;b_{\lambda,i, T, p} = \left( a_0 + a_1\bar{\rho} + a_2\bar{T} + a_3\bar{T}\bar{\lambda}^2 + \frac{a_4}{\bar{\lambda}^2} + \frac{a_5}{\bar{\lambda}^2 - \lambda_{UV}^2} + \frac{a_6}{\bar{\lambda}^2 - \lambda_{IR}^2} \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\rho} = \frac{\rho}{\rho_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{T} = \frac{T}{T_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\lambda} = \frac{\lambda}{\lambda_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\lambda,i, T, p} = \frac{\sqrt{2b_{\lambda,i, T, p}+1}}{\sqrt{1-b_{\lambda,i, T, p}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the coefficients in the refractive index interpolation formula are in wavelength (&amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;). If you want to use wave numbers in &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, simply replace &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;10000/\nu(cm^{-1})&amp;lt;/math&amp;gt;, which is equal to &amp;lt;math&amp;gt;\lambda(\mu m)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to &amp;lt;math&amp;gt;3\times10^{-4}&amp;lt;/math&amp;gt;. The source of this factor comes from Murphy (1977) &lt;br /&gt;
https://doi.org/10.1063/1.434794&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times3\times10^{-4}}{6-7\times3\times10^{-4}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas are valid between 0.2 and 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.2 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Barrell and Sears (1939)&lt;br /&gt;
https://doi.org/10.1098/rsta.1939.0004&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(245.40+2.187\times\left(\frac{10000}{\nu}\right)^{-2} \right)\times 10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths greater than 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Ciddor (1996)&lt;br /&gt;
https://doi.org/10.1364/AO.35.001566&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.022\times10^{-8}\left(295.235 + 2.6422\times(\nu\times10^{-4})^2 - 0.03238\times(\nu\times10^{-4})^4 + 0.004028\times(\nu\times10^{-4})^6\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 293.15 K and a pressure of 1333 Pa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{14895.6}{180.7 - (\nu\times10^{-4})^2} + \frac{4903.7}{92-(\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to 0.02. The source of this factor comes from Hansen and Travis (1974)&lt;br /&gt;
https://doi.org/10.1007/BF00168069&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times0.02}{6-7\times0.02}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 273.15 K and a pressure of 1013.25 hPa. It is valid between 0.1680 and 1.6945 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.1680 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23.79+\frac{12307.2}{109.832 - (\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== He ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(2283 + \frac{1.8102\times10^{13}}{1.5342\times10^{10} - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.2753 and 20.5813 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CH&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 46662\times10^{-8} + 4.02\times10^{-14}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The depolarisation factor is unknown. It is therefore set at 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.3251 and 0.6330 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CO ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 +  22851\times10^{-8} + \frac{0.456\times10^4}{71427^2 - \nu^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.016&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.168 and 0.288 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Ar ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6432.135 + \frac{286.06021\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.288 and 0.546 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Bates (1984)&lt;br /&gt;
https://doi.org/10.1016/0032-0633(84)90102-8&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;lt; &amp;lt;/math&amp;gt; 18315 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(21351.3 + \frac{21.85670}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 18315 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 34722 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(20564.8 + \frac{24.80899}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 34722 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(22120.4 + \frac{20.31876}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;gt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23796.7 + \frac{16.89884}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.09 + 1.385\times10^{-11}\nu^2 + 1.488\times10^{-20}\nu^4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa. They are valid between 0.198 and 2.0 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;. Beyond this range, extrapolation is used.&lt;br /&gt;
&lt;br /&gt;
== Mass extinction coefficient ==&lt;br /&gt;
&lt;br /&gt;
The mass extinction coefficient is related to the molar cross section of scattering by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu,i} = \sigma_{\nu,i} \frac{N_A}{\bar{M}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;N_A&amp;lt;/math&amp;gt; is Avogadro constant and &amp;lt;math&amp;gt;\bar{M}&amp;lt;/math&amp;gt; is the average molecular mass of the atmosphere.&lt;br /&gt;
&lt;br /&gt;
For a gas mixture, the extinction coefficient is equal to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu} = \sum_{i=1}^N x_i k_{\nu,i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optical depth == &lt;br /&gt;
&lt;br /&gt;
Optical thickness is defined as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} \sigma_{\nu} N dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\rho dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, according to the hydrostatic balance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;dp = \rho g dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, we have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\frac{dp}{g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A coefficient &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; is added to convert &amp;lt;math&amp;gt;Pa&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;mbar&amp;lt;/math&amp;gt; used in radiative transfer.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in Generic PCM ==&lt;br /&gt;
&lt;br /&gt;
The Rayleigh scattering routine is determined for each spectral band defined in the correlated-k routine and at each pressure level. The routine follows the path below:&lt;br /&gt;
* Each spectral band is recut by the &amp;lt;math&amp;gt;Nfine&amp;lt;/math&amp;gt; parameter. Rayleigh scattering calculations are performed on a loop on Nfine for each spectral band.&lt;br /&gt;
* The refractive index &amp;lt;math&amp;gt;ng&amp;lt;/math&amp;gt; and the King factor &amp;lt;math&amp;gt;Fk&amp;lt;/math&amp;gt; are set.&lt;br /&gt;
* The extinction coefficient is calculated in two stages. &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt;, the part dependent on the wavenumber, is calculated, then &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;, the part dependent on pressure and temperature (if it exists). Otherwise, the reference pressure &amp;lt;math&amp;gt;P0&amp;lt;/math&amp;gt; and temperature &amp;lt;math&amp;gt;T0&amp;lt;/math&amp;gt; of the refractive index measurements are used for &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;.&lt;br /&gt;
* After this loop, the extinction coefficient is then weighted by the black body function for each spectral band.&lt;br /&gt;
* Finally, the optical depth is calculated in optcv.F90, where the thickness of the layer &amp;lt;math&amp;gt;dP&amp;lt;/math&amp;gt; is added (&amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; was already added on &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Each unit in this routine follows the International System of Units. HOWEVER, for all other routines in the radiative part of the model, the pressure is in mbar/hPa! That is why we add a &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; factor at the end for &amp;lt;math&amp;gt;Tauray&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
If you want to add a new molecule, simply enter its refractive index and King factor and use the same &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt; formulas, as for the previous molecules.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in exo_k ==&lt;br /&gt;
&lt;br /&gt;
Rayleigh routine in exo_k is available here : &lt;br /&gt;
&lt;br /&gt;
http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol&lt;br /&gt;
&lt;br /&gt;
Exo_k uses formalism from :&lt;br /&gt;
&lt;br /&gt;
''Caldas'' (2019) Effects of a fully 3D atmospheric structure on exoplanet transmission spectra: retrieval biases due to day–night temperature gradients : https://hal.archives-ouvertes.fr/hal-02005332/document&lt;br /&gt;
&lt;br /&gt;
Have a look on equation (12) &amp;amp; appendix D&lt;br /&gt;
&lt;br /&gt;
=== Formalism ===&lt;br /&gt;
&lt;br /&gt;
We consider a layer.&lt;br /&gt;
&lt;br /&gt;
dP is the difference of pressure between the two levels that define the layer.&lt;br /&gt;
&lt;br /&gt;
dN is the number of  molecules per m2 &amp;amp; dm is the mass per m2 of the layer&lt;br /&gt;
&lt;br /&gt;
dTau is the optical depth for a given wavelength (or wavenumber)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_{molecule}&amp;lt;/math&amp;gt; is the mass of one molecule of the considered gas&lt;br /&gt;
&lt;br /&gt;
g is the gravity&lt;br /&gt;
&lt;br /&gt;
sigma_mol is the Rayleigh scattering cross section of the molecule&lt;br /&gt;
&lt;br /&gt;
dTau = sigma_mol * dN&lt;br /&gt;
&lt;br /&gt;
sigma_mol = sigma_mol(wavenumber in cm-1)&lt;br /&gt;
&lt;br /&gt;
which gives : dTau = sigma_mol &amp;lt;math&amp;gt; \displaystyle \frac{dm}{m_{molecule}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then : dTau &amp;lt;math&amp;gt; \displaystyle = \frac{\text{sigma_mol}}{g * m_{molecule}} dP&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dP here is in Pascal&lt;br /&gt;
&lt;br /&gt;
=== Relations between LMDZ &amp;amp; Exo_k formalisms ===&lt;br /&gt;
&lt;br /&gt;
LMDZ &amp;amp; exo_k formalism are linked as following :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \displaystyle \text{(tauconsti * tauvari)} = \frac{\text{sigma_mol}}{g * m_{molecule}} * \text{scalep}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be careful with units !!! (cm-1 for wavenumbers in exo_k, microns for wavelengths in LMDZ)&lt;br /&gt;
&lt;br /&gt;
Last but not least : not to forget the ''scalep'' factor in LMDZ !&lt;br /&gt;
scalep = 100, because P is in mBar in optcv.F90 .&lt;br /&gt;
So we move from Pascal to mBar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3176</id>
		<title>Rayleigh scattering</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3176"/>
				<updated>2026-01-13T10:25:28Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cross section ==&lt;br /&gt;
&lt;br /&gt;
The effective cross section for the i-th particle of small size relative to the wavelength and in the electric dipole approximation is equal to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 \left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;\nu&amp;lt;/math&amp;gt; is the wave number in &amp;lt;math&amp;gt;m^{-1}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; is the molar volume in &amp;lt;math&amp;gt;molecule.m^{-3}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;n_{\nu,i}&amp;lt;/math&amp;gt; is the real refractive index, &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt; is the depolarisation factor.&lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;math&amp;gt;\left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt; is also called the King factor and is denoted by &amp;lt;math&amp;gt;F_k (\nu,i)&amp;lt;/math&amp;gt;. So,:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 F_k (\nu,i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The volume number can be obtained from the ideal gas law. Thus, the cross-sectional area depends on the temperature &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and the pressure &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt;. The refractive index also depends on the conditions &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, but in scientific literature, this dependence is very often unknown. Therefore, it is not possible to make the cross section dependent on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; if the dependence of the refractive index on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; is unknown. It is therefore necessary to fix &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; for the calculation of the cross section at the &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; where the refractive index was measured. &lt;br /&gt;
The cross section is expected to vary little with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; in the case of a gas, but due to the dependence of &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; on &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; and the variation of the refractive index with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, if any dependence is omitted, the cross section can be significantly erroneous by several orders of magnitude. The H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O molecule is the only one for which the variation of the refractive index with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; has been measured or estimated. Thus, the variation of the cross section with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; can be applied to this molecule using the formula introduced below.&lt;br /&gt;
&lt;br /&gt;
Rayleigh scattering, Brillouin scattering (not applicable in atmospheres) and Raman scattering are not taken into account in the calculation of this cross section. Only Rayleigh scattering (also known as the Cabannes peak) is taken into account.&lt;br /&gt;
&lt;br /&gt;
The refractive indices and King factors of each molecule studied in the Generic PCM are described below.&lt;br /&gt;
&lt;br /&gt;
=== CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.1427\times10^3\left(\frac{5799.25}{128908.9^2 - \nu^2} + \frac{120.05}{89223.8^2 - \nu^2} + \frac{5.3334}{75037.5^2 - \nu^2} + \frac{4.3244}{67837.7^2 - \nu^2} + \frac{0.1218145\times10^{-4}}{2418.136^2 - \nu^2}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.1364 + 25.3\times10^{-12}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.1807 and 1.8172 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at wavelengths below 0.1807 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous power-of-four formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Cuthbertson and Cuthbertson (1920)&lt;br /&gt;
https://doi.org/10.1098/rspa.1920.0020&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{6914.45}{156.85 - \nu^2}\right)\times 10^{-5}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
For 4860 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 21360 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(5677.465 + \frac{318.81874\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 21360 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6498.2 + \frac{307.4335\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, extrapolation is performed using the formula valid between 21,360 and 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O ===&lt;br /&gt;
&lt;br /&gt;
Reference: Harvey et al. (1998)&lt;br /&gt;
https://doi.org/10.1063/1.556029&lt;br /&gt;
&lt;br /&gt;
In the case of water, the refractive index is known to depend on T and P. However, it should be noted that the interpolation formula for water vapour is based on very incomplete data for certain wavelength ranges at certain temperatures and pressures (see reference for more details).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_0 =  0.244257733 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_1 = 9.74634476\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_2 = -3.73234996\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_3 = 2.68678472\times10^{-4} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_4 = 1.58920570\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_5 = 2.45934259\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_6 = 0.900704920 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_7 = -1.66626219\times10^{-2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{UV} = 0.2292020\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{IR} = 5.432937\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \rho_0 = 1000\; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    T_0 = 273.15\; K &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_0 = 0.589\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;b_{\lambda,i, T, p} = \left( a_0 + a_1\bar{\rho} + a_2\bar{T} + a_3\bar{T}\bar{\lambda}^2 + \frac{a_4}{\bar{\lambda}^2} + \frac{a_5}{\bar{\lambda}^2 - \lambda_{UV}^2} + \frac{a_6}{\bar{\lambda}^2 - \lambda_{IR}^2} \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\rho} = \frac{\rho}{\rho_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{T} = \frac{T}{T_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\lambda} = \frac{\lambda}{\lambda_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\lambda,i, T, p} = \frac{\sqrt{2b_{\lambda,i, T, p}+1}}{\sqrt{1-b_{\lambda,i, T, p}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the coefficients in the refractive index interpolation formula are in wavelength (&amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;). If you want to use wave numbers in &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, simply replace &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;10000/\nu(cm^{-1})&amp;lt;/math&amp;gt;, which is equal to &amp;lt;math&amp;gt;\lambda(\mu m)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to &amp;lt;math&amp;gt;3\times10^{-4}&amp;lt;/math&amp;gt;. The source of this factor comes from Murphy (1977) &lt;br /&gt;
https://doi.org/10.1063/1.434794&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times3\times10^{-4}}{6-7\times3\times10^{-4}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas are valid between 0.2 and 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.2 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Barrell and Sears (1939)&lt;br /&gt;
https://doi.org/10.1098/rsta.1939.0004&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(245.40+2.187\times\left(\frac{10000}{\nu}\right)^{-2} \right)\times 10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths greater than 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Ciddor (1996)&lt;br /&gt;
https://doi.org/10.1364/AO.35.001566&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.022\times10^{-8}\left(295.235 + 2.6422\times(\nu\times10^{-4})^2 - 0.03238\times(\nu\times10^{-4})^4 + 0.004028\times(\nu\times10^{-4})^6\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 293.15 K and a pressure of 1333 Pa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{14895.6}{180.7 - (\nu\times10^{-4})^2} + \frac{4903.7}{92-(\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to 0.02. The source of this factor comes from Hansen and Travis (1974)&lt;br /&gt;
https://doi.org/10.1007/BF00168069&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times0.02}{6-7\times0.02}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 273.15 K and a pressure of 1013.25 hPa. It is valid between 0.1680 and 1.6945 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.1680 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23.79+\frac{12307.2}{109.832 - (\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== He ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(2283 + \frac{1.8102\times10^{13}}{1.5342\times10^{10} - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.2753 and 20.5813 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CH&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 46662\times10^{-8} + 4.02\times10^{-14}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The depolarisation factor is unknown. It is therefore set at 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.3251 and 0.6330 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CO ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 +  22851\times10^{-8} + \frac{0.456\times10^4}{71427^2 - \nu^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.016&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.168 and 0.288 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Ar ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6432.135 + \frac{286.06021\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.288 and 0.546 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Bates (1984)&lt;br /&gt;
https://doi.org/10.1016/0032-0633(84)90102-8&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;lt; &amp;lt;/math&amp;gt; 18315 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(21351.3 + \frac{21.85670}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 18315 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 34722 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(20564.8 + \frac{24.80899}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 34722 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(22120.4 + \frac{20.31876}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;gt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23796.7 + \frac{16.89884}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.09 + 1.385\times10^{-11}\nu^2 + 1.488\times10^{-20}\nu^4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa. They are valid between 0.198 and 2.0 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;. Beyond this range, extrapolation is used.&lt;br /&gt;
&lt;br /&gt;
== Mass extinction coefficient ==&lt;br /&gt;
&lt;br /&gt;
The mass extinction coefficient is related to the molar cross section of scattering by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu,i} = \sigma_{\nu,i} \frac{N_A}{\bar{M}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;N_A&amp;lt;/math&amp;gt; is Avogadro constant and &amp;lt;math&amp;gt;\bar{M}&amp;lt;/math&amp;gt; is the average molecular mass of the atmosphere.&lt;br /&gt;
&lt;br /&gt;
For a gas mixture, the extinction coefficient is equal to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu} = \sum_{i=1}^N x_i k_{\nu,i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optical depth == &lt;br /&gt;
&lt;br /&gt;
Optical thickness is defined as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} \sigma_{\nu} N dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\rho dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, according to the hydrostatic balance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;dp = \rho g dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, we have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\frac{dp}{g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A coefficient &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; is added to convert &amp;lt;math&amp;gt;Pa&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;mbar&amp;lt;/math&amp;gt; used in radiative transfer.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in Generic PCM ==&lt;br /&gt;
&lt;br /&gt;
The Rayleigh scattering routine is determined for each spectral band defined in the correlated-k routine and at each pressure level. The routine follows the path below:&lt;br /&gt;
* Each spectral band is recut by the &amp;lt;math&amp;gt;Nfine&amp;lt;/math&amp;gt; parameter. Rayleigh scattering calculations are performed on a loop on Nfine for each spectral band.&lt;br /&gt;
* The refractive index &amp;lt;math&amp;gt;ng&amp;lt;/math&amp;gt; and the King factor &amp;lt;math&amp;gt;Fk&amp;lt;/math&amp;gt; are set.&lt;br /&gt;
* The extinction coefficient is calculated in two stages. &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt;, the part dependent on the wavenumber, is calculated, then &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;, the part dependent on pressure and temperature (if it exists). Otherwise, the reference pressure &amp;lt;math&amp;gt;P0&amp;lt;/math&amp;gt; and temperature &amp;lt;math&amp;gt;T0&amp;lt;/math&amp;gt; of the refractive index measurements are used for &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;.&lt;br /&gt;
* After this loop, the extinction coefficient is then weighted by the black body function for each spectral band.&lt;br /&gt;
* Finally, the optical depth is calculated in optcv.F90, where the thickness of the layer &amp;lt;math&amp;gt;dP&amp;lt;/math&amp;gt; is added (&amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; was already added on &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you want to add a new molecule, simply enter its refractive index and King factor and use the same &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt; formulas, as for the previous molecules.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in exo_k ==&lt;br /&gt;
&lt;br /&gt;
Rayleigh routine in exo_k is available here : &lt;br /&gt;
&lt;br /&gt;
http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol&lt;br /&gt;
&lt;br /&gt;
Exo_k uses formalism from :&lt;br /&gt;
&lt;br /&gt;
''Caldas'' (2019) Effects of a fully 3D atmospheric structure on exoplanet transmission spectra: retrieval biases due to day–night temperature gradients : https://hal.archives-ouvertes.fr/hal-02005332/document&lt;br /&gt;
&lt;br /&gt;
Have a look on equation (12) &amp;amp; appendix D&lt;br /&gt;
&lt;br /&gt;
=== Formalism ===&lt;br /&gt;
&lt;br /&gt;
We consider a layer.&lt;br /&gt;
&lt;br /&gt;
dP is the difference of pressure between the two levels that define the layer.&lt;br /&gt;
&lt;br /&gt;
dN is the number of  molecules per m2 &amp;amp; dm is the mass per m2 of the layer&lt;br /&gt;
&lt;br /&gt;
dTau is the optical depth for a given wavelength (or wavenumber)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_{molecule}&amp;lt;/math&amp;gt; is the mass of one molecule of the considered gas&lt;br /&gt;
&lt;br /&gt;
g is the gravity&lt;br /&gt;
&lt;br /&gt;
sigma_mol is the Rayleigh scattering cross section of the molecule&lt;br /&gt;
&lt;br /&gt;
dTau = sigma_mol * dN&lt;br /&gt;
&lt;br /&gt;
sigma_mol = sigma_mol(wavenumber in cm-1)&lt;br /&gt;
&lt;br /&gt;
which gives : dTau = sigma_mol &amp;lt;math&amp;gt; \displaystyle \frac{dm}{m_{molecule}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then : dTau &amp;lt;math&amp;gt; \displaystyle = \frac{\text{sigma_mol}}{g * m_{molecule}} dP&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dP here is in Pascal&lt;br /&gt;
&lt;br /&gt;
=== Relations between LMDZ &amp;amp; Exo_k formalisms ===&lt;br /&gt;
&lt;br /&gt;
LMDZ &amp;amp; exo_k formalism are linked as following :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \displaystyle \text{(tauconsti * tauvari)} = \frac{\text{sigma_mol}}{g * m_{molecule}} * \text{scalep}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be careful with units !!! (cm-1 for wavenumbers in exo_k, microns for wavelengths in LMDZ)&lt;br /&gt;
&lt;br /&gt;
Last but not least : not to forget the ''scalep'' factor in LMDZ !&lt;br /&gt;
scalep = 100, because P is in mBar in optcv.F90 .&lt;br /&gt;
So we move from Pascal to mBar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3175</id>
		<title>Rayleigh scattering</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3175"/>
				<updated>2026-01-13T10:23:39Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cross section ==&lt;br /&gt;
&lt;br /&gt;
The effective cross section for the i-th particle of small size relative to the wavelength and in the electric dipole approximation is equal to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 \left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;\nu&amp;lt;/math&amp;gt; is the wave number in &amp;lt;math&amp;gt;m^{-1}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; is the molar volume in &amp;lt;math&amp;gt;molecule.m^{-3}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;n_{\nu,i}&amp;lt;/math&amp;gt; is the real refractive index, &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt; is the depolarisation factor.&lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;math&amp;gt;\left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt; is also called the King factor and is denoted by &amp;lt;math&amp;gt;F_k (\nu,i)&amp;lt;/math&amp;gt;. So,:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 F_k (\nu,i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The volume number can be obtained from the ideal gas law. Thus, the cross-sectional area depends on the temperature &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and the pressure &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt;. The refractive index also depends on the conditions &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, but in scientific literature, this dependence is very often unknown. Therefore, it is not possible to make the cross section dependent on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; if the dependence of the refractive index on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; is unknown. It is therefore necessary to fix &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; for the calculation of the cross section at the &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; where the refractive index was measured. &lt;br /&gt;
The cross section is expected to vary little with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; in the case of a gas, but due to the dependence of &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; on &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; and the variation of the refractive index with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, if any dependence is omitted, the cross section can be significantly erroneous by several orders of magnitude. The H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O molecule is the only one for which the variation of the refractive index with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; has been measured or estimated. Thus, the variation of the cross section with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; can be applied to this molecule using the formula introduced below.&lt;br /&gt;
&lt;br /&gt;
Rayleigh scattering, Brillouin scattering (not applicable in atmospheres) and Raman scattering are not taken into account in the calculation of this cross section. Only Rayleigh scattering (also known as the Cabannes peak) is taken into account.&lt;br /&gt;
&lt;br /&gt;
The refractive indices and King factors of each molecule studied in the Generic PCM are described below.&lt;br /&gt;
&lt;br /&gt;
=== CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.1427\times10^3\left(\frac{5799.25}{128908.9^2 - \nu^2} + \frac{120.05}{89223.8^2 - \nu^2} + \frac{5.3334}{75037.5^2 - \nu^2} + \frac{4.3244}{67837.7^2 - \nu^2} + \frac{0.1218145\times10^{-4}}{2418.136^2 - \nu^2}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.1364 + 25.3\times10^{-12}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.1807 and 1.8172 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at wavelengths below 0.1807 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous power-of-four formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Cuthbertson and Cuthbertson (1920)&lt;br /&gt;
https://doi.org/10.1098/rspa.1920.0020&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{6914.45}{156.85 - \nu^2}\right)\times 10^{-5}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
For 4860 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 21360 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(5677.465 + \frac{318.81874\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 21360 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6498.2 + \frac{307.4335\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, extrapolation is performed using the formula valid between 21,360 and 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O ===&lt;br /&gt;
&lt;br /&gt;
Reference: Harvey et al. (1998)&lt;br /&gt;
https://doi.org/10.1063/1.556029&lt;br /&gt;
&lt;br /&gt;
In the case of water, the refractive index is known to depend on T and P. However, it should be noted that the interpolation formula for water vapour is based on very incomplete data for certain wavelength ranges at certain temperatures and pressures (see reference for more details).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_0 =  0.244257733 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_1 = 9.74634476\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_2 = -3.73234996\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_3 = 2.68678472\times10^{-4} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_4 = 1.58920570\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_5 = 2.45934259\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_6 = 0.900704920 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_7 = -1.66626219\times10^{-2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{UV} = 0.2292020\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{IR} = 5.432937\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \rho_0 = 1000\; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    T_0 = 273.15\; K &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_0 = 0.589\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;b_{\lambda,i, T, p} = \left( a_0 + a_1\bar{\rho} + a_2\bar{T} + a_3\bar{T}\bar{\lambda}^2 + \frac{a_4}{\bar{\lambda}^2} + \frac{a_5}{\bar{\lambda}^2 - \lambda_{UV}^2} + \frac{a_6}{\bar{\lambda}^2 - \lambda_{IR}^2} \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\rho} = \frac{\rho}{\rho_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{T} = \frac{T}{T_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\lambda} = \frac{\lambda}{\lambda_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\lambda,i, T, p} = \frac{\sqrt{2b_{\lambda,i, T, p}+1}}{\sqrt{1-b_{\lambda,i, T, p}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the coefficients in the refractive index interpolation formula are in wavelength (&amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;). If you want to use wave numbers in &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, simply replace &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;10000/\nu(cm^{-1})&amp;lt;/math&amp;gt;, which is equal to &amp;lt;math&amp;gt;\lambda(\mu m)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to &amp;lt;math&amp;gt;3\times10^{-4}&amp;lt;/math&amp;gt;. The source of this factor comes from Murphy (1977) &lt;br /&gt;
https://doi.org/10.1063/1.434794&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times3\times10^{-4}}{6-7\times3\times10^{-4}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas are valid between 0.2 and 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.2 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Barrell and Sears (1939)&lt;br /&gt;
https://doi.org/10.1098/rsta.1939.0004&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(245.40+2.187\times\left(\frac{10000}{\nu}\right)^{-2} \right)\times 10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths greater than 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Ciddor (1996)&lt;br /&gt;
https://doi.org/10.1364/AO.35.001566&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.022\times10^{-8}\left(295.235 + 2.6422\times(\nu\times10^{-4})^2 - 0.03238\times(\nu\times10^{-4})^4 + 0.004028\times(\nu\times10^{-4})^6\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 293.15 K and a pressure of 1333 Pa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{14895.6}{180.7 - (\nu\times10^{-4})^2} + \frac{4903.7}{92-(\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to 0.02. The source of this factor comes from Hansen and Travis (1974)&lt;br /&gt;
https://doi.org/10.1007/BF00168069&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times0.02}{6-7\times0.02}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 273.15 K and a pressure of 1013.25 hPa. It is valid between 0.1680 and 1.6945 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.1680 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23.79+\frac{12307.2}{109.832 - (\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== He ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(2283 + \frac{1.8102\times10^{13}}{1.5342\times10^{10} - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.2753 and 20.5813 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CH&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 46662\times10^{-8} + 4.02\times10^{-14}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The depolarisation factor is unknown. It is therefore set at 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.3251 and 0.6330 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CO ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 +  22851\times10^{-8} + \frac{0.456\times10^4}{71427^2 - \nu^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.016&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.168 and 0.288 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Ar ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6432.135 + \frac{286.06021\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.288 and 0.546 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Bates (1984)&lt;br /&gt;
https://doi.org/10.1016/0032-0633(84)90102-8&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;lt; &amp;lt;/math&amp;gt; 18315 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(21351.3 + \frac{21.85670}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 18315 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 34722 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(20564.8 + \frac{24.80899}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 34722 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(22120.4 + \frac{20.31876}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;gt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23796.7 + \frac{16.89884}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.09 + 1.385\times10^{-11}\nu^2 + 1.488\times10^{-20}\nu^4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa. They are valid between 0.198 and 2.0 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;. Beyond this range, extrapolation is used.&lt;br /&gt;
&lt;br /&gt;
== Mass extinction coefficient ==&lt;br /&gt;
&lt;br /&gt;
The mass extinction coefficient is related to the molar cross section of scattering by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu,i} = \sigma_{\nu,i} \frac{N_A}{\bar{M}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;N_A&amp;lt;/math&amp;gt; is Avogadro constant and &amp;lt;math&amp;gt;\bar{M}&amp;lt;/math&amp;gt; is the average molecular mass of the atmosphere.&lt;br /&gt;
&lt;br /&gt;
For a gas mixture, the extinction coefficient is equal to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu} = \sum_{i=1}^N x_i k_{\nu,i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optical depth == &lt;br /&gt;
&lt;br /&gt;
Optical thickness is defined as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} \sigma_{\nu} N dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\rho dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, according to the hydrostatic balance&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;dp = \rho g dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, we have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\frac{dp}{g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A coefficient &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; is added to convert &amp;lt;math&amp;gt;Pa&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;mbar&amp;lt;/math&amp;gt; used in radiative transfer.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in Generic PCM ==&lt;br /&gt;
&lt;br /&gt;
The Rayleigh scattering routine is determined for each spectral band defined in the correlated-k routine and at each pressure level. The routine follows the path below:&lt;br /&gt;
* Each spectral band is recut by the &amp;lt;math&amp;gt;Nfine&amp;lt;/math&amp;gt; parameter. Rayleigh scattering calculations are performed on a loop on Nfine for each spectral band.&lt;br /&gt;
* The refractive index &amp;lt;math&amp;gt;ng&amp;lt;/math&amp;gt; and the King factor &amp;lt;math&amp;gt;Fk&amp;lt;/math&amp;gt; are set.&lt;br /&gt;
* The extinction coefficient is calculated in two stages. &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt;, the part dependent on the wavenumber, is calculated, then &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;, the part dependent on pressure and temperature (if it exists). Otherwise, the reference pressure &amp;lt;math&amp;gt;P0&amp;lt;/math&amp;gt; and temperature &amp;lt;math&amp;gt;T0&amp;lt;/math&amp;gt; of the refractive index measurements are used.&lt;br /&gt;
* After this loop, the extinction coefficient is then weighted by the black body function for each spectral band.&lt;br /&gt;
* Next, the optical depth is calculated in optcv.F90, where the thickness of the layer &amp;lt;math&amp;gt;dP&amp;lt;/math&amp;gt; is added (&amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; was already added on &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you want to add a new molecule, simply enter its refractive index and King factor and use the same &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt; formulas, as for the previous molecules.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in exo_k ==&lt;br /&gt;
&lt;br /&gt;
Rayleigh routine in exo_k is available here : &lt;br /&gt;
&lt;br /&gt;
http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol&lt;br /&gt;
&lt;br /&gt;
Exo_k uses formalism from :&lt;br /&gt;
&lt;br /&gt;
''Caldas'' (2019) Effects of a fully 3D atmospheric structure on exoplanet transmission spectra: retrieval biases due to day–night temperature gradients : https://hal.archives-ouvertes.fr/hal-02005332/document&lt;br /&gt;
&lt;br /&gt;
Have a look on equation (12) &amp;amp; appendix D&lt;br /&gt;
&lt;br /&gt;
=== Formalism ===&lt;br /&gt;
&lt;br /&gt;
We consider a layer.&lt;br /&gt;
&lt;br /&gt;
dP is the difference of pressure between the two levels that define the layer.&lt;br /&gt;
&lt;br /&gt;
dN is the number of  molecules per m2 &amp;amp; dm is the mass per m2 of the layer&lt;br /&gt;
&lt;br /&gt;
dTau is the optical depth for a given wavelength (or wavenumber)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_{molecule}&amp;lt;/math&amp;gt; is the mass of one molecule of the considered gas&lt;br /&gt;
&lt;br /&gt;
g is the gravity&lt;br /&gt;
&lt;br /&gt;
sigma_mol is the Rayleigh scattering cross section of the molecule&lt;br /&gt;
&lt;br /&gt;
dTau = sigma_mol * dN&lt;br /&gt;
&lt;br /&gt;
sigma_mol = sigma_mol(wavenumber in cm-1)&lt;br /&gt;
&lt;br /&gt;
which gives : dTau = sigma_mol &amp;lt;math&amp;gt; \displaystyle \frac{dm}{m_{molecule}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then : dTau &amp;lt;math&amp;gt; \displaystyle = \frac{\text{sigma_mol}}{g * m_{molecule}} dP&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dP here is in Pascal&lt;br /&gt;
&lt;br /&gt;
=== Relations between LMDZ &amp;amp; Exo_k formalisms ===&lt;br /&gt;
&lt;br /&gt;
LMDZ &amp;amp; exo_k formalism are linked as following :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \displaystyle \text{(tauconsti * tauvari)} = \frac{\text{sigma_mol}}{g * m_{molecule}} * \text{scalep}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be careful with units !!! (cm-1 for wavenumbers in exo_k, microns for wavelengths in LMDZ)&lt;br /&gt;
&lt;br /&gt;
Last but not least : not to forget the ''scalep'' factor in LMDZ !&lt;br /&gt;
scalep = 100, because P is in mBar in optcv.F90 .&lt;br /&gt;
So we move from Pascal to mBar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3174</id>
		<title>Rayleigh scattering</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3174"/>
				<updated>2026-01-13T10:20:34Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cross section ==&lt;br /&gt;
&lt;br /&gt;
The effective cross section for the i-th particle of small size relative to the wavelength and in the electric dipole approximation is equal to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 \left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;\nu&amp;lt;/math&amp;gt; is the wave number in &amp;lt;math&amp;gt;m^{-1}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; is the molar volume in &amp;lt;math&amp;gt;molecule.m^{-3}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;n_{\nu,i}&amp;lt;/math&amp;gt; is the real refractive index, &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt; is the depolarisation factor.&lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;math&amp;gt;\left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt; is also called the King factor and is denoted by &amp;lt;math&amp;gt;F_k (\nu,i)&amp;lt;/math&amp;gt;. So, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 F_k (\nu,i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The volume number can be obtained from the ideal gas law. Thus, the cross-sectional area depends on the temperature &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and the pressure &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt;. The refractive index also depends on the conditions &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, but in scientific literature, this dependence is very often unknown. Therefore, it is not possible to make the cross section dependent on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; if the dependence of the refractive index on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; is unknown. It is therefore necessary to fix &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; for the calculation of the cross section at the &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; where the refractive index was measured. &lt;br /&gt;
The cross section is expected to vary little with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; in the case of a gas, but due to the dependence of &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; on &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; and the variation of the refractive index with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, if any dependence is omitted, the cross section can be significantly erroneous by several orders of magnitude. The H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O molecule is the only one for which the variation of the refractive index with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; has been measured or estimated. Thus, the variation of the cross section with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; can be applied to this molecule using the formula introduced below.&lt;br /&gt;
&lt;br /&gt;
Rayleigh scattering, Brillouin scattering (not applicable in atmospheres) and Raman scattering are not taken into account in the calculation of this cross section. Only Rayleigh scattering (also known as the Cabannes peak) is taken into account.&lt;br /&gt;
&lt;br /&gt;
The refractive indices and King factors of each molecule studied in the Generic PCM are described below.&lt;br /&gt;
&lt;br /&gt;
=== CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.1427\times10^3\left(\frac{5799.25}{128908.9^2 - \nu^2} + \frac{120.05}{89223.8^2 - \nu^2} + \frac{5.3334}{75037.5^2 - \nu^2} + \frac{4.3244}{67837.7^2 - \nu^2} + \frac{0.1218145\times10^{-4}}{2418.136^2 - \nu^2}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.1364 + 25.3\times10^{-12}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.1807 and 1.8172 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at wavelengths below 0.1807 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous power-of-four formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Cuthbertson and Cuthbertson (1920)&lt;br /&gt;
https://doi.org/10.1098/rspa.1920.0020&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{6914.45}{156.85 - \nu^2}\right)\times 10^{-5}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
For 4860 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 21360 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(5677.465 + \frac{318.81874\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 21360 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6498.2 + \frac{307.4335\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, extrapolation is performed using the formula valid between 21,360 and 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O ===&lt;br /&gt;
&lt;br /&gt;
Reference: Harvey et al. (1998)&lt;br /&gt;
https://doi.org/10.1063/1.556029&lt;br /&gt;
&lt;br /&gt;
In the case of water, the refractive index is known to depend on T and P. However, it should be noted that the interpolation formula for water vapour is based on very incomplete data for certain wavelength ranges at certain temperatures and pressures (see reference for more details).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_0 =  0.244257733 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_1 = 9.74634476\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_2 = -3.73234996\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_3 = 2.68678472\times10^{-4} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_4 = 1.58920570\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_5 = 2.45934259\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_6 = 0.900704920 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_7 = -1.66626219\times10^{-2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{UV} = 0.2292020\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{IR} = 5.432937\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \rho_0 = 1000\; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    T_0 = 273.15\; K &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_0 = 0.589\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;b_{\lambda,i, T, p} = \left( a_0 + a_1\bar{\rho} + a_2\bar{T} + a_3\bar{T}\bar{\lambda}^2 + \frac{a_4}{\bar{\lambda}^2} + \frac{a_5}{\bar{\lambda}^2 - \lambda_{UV}^2} + \frac{a_6}{\bar{\lambda}^2 - \lambda_{IR}^2} \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\rho} = \frac{\rho}{\rho_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{T} = \frac{T}{T_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\lambda} = \frac{\lambda}{\lambda_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\lambda,i, T, p} = \frac{\sqrt{2b_{\lambda,i, T, p}+1}}{\sqrt{1-b_{\lambda,i, T, p}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the coefficients in the refractive index interpolation formula are in wavelength (&amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;). If you want to use wave numbers in &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, simply replace &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;10000/\nu(cm^{-1})&amp;lt;/math&amp;gt;, which is equal to &amp;lt;math&amp;gt;\lambda(\mu m)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to &amp;lt;math&amp;gt;3\times10^{-4}&amp;lt;/math&amp;gt;. The source of this factor comes from Murphy (1977) &lt;br /&gt;
https://doi.org/10.1063/1.434794&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times3\times10^{-4}}{6-7\times3\times10^{-4}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas are valid between 0.2 and 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.2 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Barrell and Sears (1939)&lt;br /&gt;
https://doi.org/10.1098/rsta.1939.0004&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(245.40+2.187\times\left(\frac{10000}{\nu}\right)^{-2} \right)\times 10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths greater than 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Ciddor (1996)&lt;br /&gt;
https://doi.org/10.1364/AO.35.001566&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.022\times10^{-8}\left(295.235 + 2.6422\times(\nu\times10^{-4})^2 - 0.03238\times(\nu\times10^{-4})^4 + 0.004028\times(\nu\times10^{-4})^6\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 293.15 K and a pressure of 1333 Pa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{14895.6}{180.7 - (\nu\times10^{-4})^2} + \frac{4903.7}{92-(\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to 0.02. The source of this factor comes from Hansen and Travis (1974)&lt;br /&gt;
https://doi.org/10.1007/BF00168069&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times0.02}{6-7\times0.02}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 273.15 K and a pressure of 1013.25 hPa. It is valid between 0.1680 and 1.6945 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.1680 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23.79+\frac{12307.2}{109.832 - (\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== He ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(2283 + \frac{1.8102\times10^{13}}{1.5342\times10^{10} - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.2753 and 20.5813 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CH&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 46662\times10^{-8} + 4.02\times10^{-14}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The depolarisation factor is unknown. It is therefore set at 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.3251 and 0.6330 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CO ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 +  22851\times10^{-8} + \frac{0.456\times10^4}{71427^2 - \nu^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.016&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.168 and 0.288 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Ar ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6432.135 + \frac{286.06021\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.288 and 0.546 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Bates (1984)&lt;br /&gt;
https://doi.org/10.1016/0032-0633(84)90102-8&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;lt; &amp;lt;/math&amp;gt; 18315 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(21351.3 + \frac{21.85670}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 18315 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 34722 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(20564.8 + \frac{24.80899}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 34722 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(22120.4 + \frac{20.31876}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;gt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23796.7 + \frac{16.89884}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.09 + 1.385\times10^{-11}\nu^2 + 1.488\times10^{-20}\nu^4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa. They are valid between 0.198 and 2.0 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;. Beyond this range, extrapolation is used.&lt;br /&gt;
&lt;br /&gt;
== Mass extinction coefficient ==&lt;br /&gt;
&lt;br /&gt;
The mass extinction coefficient is related to the molar cross section of scattering by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu,i} = \sigma_{\nu,i} \frac{N_A}{\bar{M}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;N_A&amp;lt;/math&amp;gt; is Avogadro constant and &amp;lt;math&amp;gt;\bar{M}&amp;lt;/math&amp;gt; is the average molecular mass of the atmosphere.&lt;br /&gt;
&lt;br /&gt;
For a gas mixture, the extinction coefficient is equal to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu} = \sum_{i=1}^N x_i k_{\nu,i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optical depth == &lt;br /&gt;
&lt;br /&gt;
Optical thickness is defined as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} \sigma_{\nu} N dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\rho dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, according to the hydrostatic balance:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;dp = \rho g dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, we have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\frac{dp}{g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A coefficient &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; is added to convert &amp;lt;math&amp;gt;Pa&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;mbar&amp;lt;/math&amp;gt; used in radiative transfer.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in Generic PCM ==&lt;br /&gt;
&lt;br /&gt;
The Rayleigh scattering routine is determined for each spectral band defined in the correlated-k routine and at each pressure level. The routine follows the path below:&lt;br /&gt;
* Each spectral band is recut by the &amp;lt;math&amp;gt;Nfine&amp;lt;/math&amp;gt; parameter. Rayleigh scattering calculations are performed on a loop on Nfine for each spectral band.&lt;br /&gt;
* The refractive index &amp;lt;math&amp;gt;ng&amp;lt;/math&amp;gt; and the King factor &amp;lt;math&amp;gt;Fk&amp;lt;/math&amp;gt; are set.&lt;br /&gt;
* The extinction coefficient is calculated in two stages. &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt;, the part dependent on the wavenumber, is calculated, then &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;, the part dependent on pressure and temperature (if it exists). Otherwise, the reference pressure &amp;lt;math&amp;gt;P0&amp;lt;/math&amp;gt; and temperature &amp;lt;math&amp;gt;T0&amp;lt;/math&amp;gt; of the refractive index measurements are used.&lt;br /&gt;
* After this loop, the extinction coefficient is then weighted by the black body function for each spectral band.&lt;br /&gt;
* Next, the optical depth is calculated in optcv.F90, where the thickness of the layer &amp;lt;math&amp;gt;dP&amp;lt;/math&amp;gt; is added (&amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; was already added on &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
If you want to add a new molecule, simply enter its refractive index and King factor and use the same &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt; formulas, as for the previous molecules.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in exo_k ==&lt;br /&gt;
&lt;br /&gt;
Rayleigh routine in exo_k is available here : &lt;br /&gt;
&lt;br /&gt;
http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol&lt;br /&gt;
&lt;br /&gt;
Exo_k uses formalism from :&lt;br /&gt;
&lt;br /&gt;
''Caldas'' (2019) Effects of a fully 3D atmospheric structure on exoplanet transmission spectra: retrieval biases due to day–night temperature gradients : https://hal.archives-ouvertes.fr/hal-02005332/document&lt;br /&gt;
&lt;br /&gt;
Have a look on equation (12) &amp;amp; appendix D&lt;br /&gt;
&lt;br /&gt;
=== Formalism ===&lt;br /&gt;
&lt;br /&gt;
We consider a layer.&lt;br /&gt;
&lt;br /&gt;
dP is the difference of pressure between the two levels that define the layer.&lt;br /&gt;
&lt;br /&gt;
dN is the number of  molecules per m2 &amp;amp; dm is the mass per m2 of the layer&lt;br /&gt;
&lt;br /&gt;
dTau is the optical depth for a given wavelength (or wavenumber)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_{molecule}&amp;lt;/math&amp;gt; is the mass of one molecule of the considered gas&lt;br /&gt;
&lt;br /&gt;
g is the gravity&lt;br /&gt;
&lt;br /&gt;
sigma_mol is the Rayleigh scattering cross section of the molecule&lt;br /&gt;
&lt;br /&gt;
dTau = sigma_mol * dN&lt;br /&gt;
&lt;br /&gt;
sigma_mol = sigma_mol(wavenumber in cm-1)&lt;br /&gt;
&lt;br /&gt;
which gives : dTau = sigma_mol &amp;lt;math&amp;gt; \displaystyle \frac{dm}{m_{molecule}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then : dTau &amp;lt;math&amp;gt; \displaystyle = \frac{\text{sigma_mol}}{g * m_{molecule}} dP&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dP here is in Pascal&lt;br /&gt;
&lt;br /&gt;
=== Relations between LMDZ &amp;amp; Exo_k formalisms ===&lt;br /&gt;
&lt;br /&gt;
LMDZ &amp;amp; exo_k formalism are linked as following :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \displaystyle \text{(tauconsti * tauvari)} = \frac{\text{sigma_mol}}{g * m_{molecule}} * \text{scalep}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be careful with units !!! (cm-1 for wavenumbers in exo_k, microns for wavelengths in LMDZ)&lt;br /&gt;
&lt;br /&gt;
Last but not least : not to forget the ''scalep'' factor in LMDZ !&lt;br /&gt;
scalep = 100, because P is in mBar in optcv.F90 .&lt;br /&gt;
So we move from Pascal to mBar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3173</id>
		<title>Rayleigh scattering</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3173"/>
				<updated>2026-01-13T10:16:00Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cross section ==&lt;br /&gt;
&lt;br /&gt;
The effective cross section for the i-th particle of small size relative to the wavelength and in the electric dipole approximation is equal to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 \left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;\nu&amp;lt;/math&amp;gt; is the wave number in &amp;lt;math&amp;gt;m^{-1}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; is the molar volume in &amp;lt;math&amp;gt;molecule.m^{-3}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;n_{\nu,i}&amp;lt;/math&amp;gt; is the real refractive index, &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt; is the depolarisation factor.&lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;math&amp;gt;\left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt; is also called the King factor and is denoted by &amp;lt;math&amp;gt;F_k (\nu,i)&amp;lt;/math&amp;gt;. So, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 F_k (\nu,i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The volume number can be obtained from the ideal gas law. Thus, the cross-sectional area depends on the temperature &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and the pressure &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt;. The refractive index also depends on the conditions &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, but in scientific literature, this dependence is very often unknown. Therefore, it is not possible to make the cross section dependent on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; if the dependence of the refractive index on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; is unknown. It is therefore necessary to fix &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; for the calculation of the cross section at the &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; where the refractive index was measured. &lt;br /&gt;
The cross section is expected to vary little with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; in the case of a gas, but due to the dependence of &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; on &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; and the variation of the refractive index with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, if any dependence is omitted, the cross section can be significantly erroneous by several orders of magnitude. The H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O molecule is the only one for which the variation of the refractive index with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; has been measured or estimated. Thus, the variation of the cross section with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; can be applied to this molecule using the formula introduced below.&lt;br /&gt;
&lt;br /&gt;
Rayleigh scattering, Brillouin scattering (not applicable in atmospheres) and Raman scattering are not taken into account in the calculation of this cross section. Only Rayleigh scattering (also known as the Cabannes peak) is taken into account.&lt;br /&gt;
&lt;br /&gt;
The refractive indices and King factors of each molecule studied in the Generic PCM are described below.&lt;br /&gt;
&lt;br /&gt;
=== CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.1427\times10^3\left(\frac{5799.25}{128908.9^2 - \nu^2} + \frac{120.05}{89223.8^2 - \nu^2} + \frac{5.3334}{75037.5^2 - \nu^2} + \frac{4.3244}{67837.7^2 - \nu^2} + \frac{0.1218145\times10^{-4}}{2418.136^2 - \nu^2}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.1364 + 25.3\times10^{-12}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.1807 and 1.8172 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at wavelengths below 0.1807 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous power-of-four formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Cuthbertson and Cuthbertson (1920)&lt;br /&gt;
https://doi.org/10.1098/rspa.1920.0020&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{6914.45}{156.85 - \nu^2}\right)\times 10^{-5}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
For 4860 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 21360 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(5677.465 + \frac{318.81874\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 21360 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6498.2 + \frac{307.4335\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, extrapolation is performed using the formula valid between 21,360 and 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O ===&lt;br /&gt;
&lt;br /&gt;
Reference: Harvey et al. (1998)&lt;br /&gt;
https://doi.org/10.1063/1.556029&lt;br /&gt;
&lt;br /&gt;
In the case of water, the refractive index is known to depend on T and P. However, it should be noted that the interpolation formula for water vapour is based on very incomplete data for certain wavelength ranges at certain temperatures and pressures (see reference for more details).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_0 =  0.244257733 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_1 = 9.74634476\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_2 = -3.73234996\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_3 = 2.68678472\times10^{-4} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_4 = 1.58920570\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_5 = 2.45934259\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_6 = 0.900704920 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_7 = -1.66626219\times10^{-2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{UV} = 0.2292020\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{IR} = 5.432937\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \rho_0 = 1000\; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    T_0 = 273.15\; K &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_0 = 0.589\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;b_{\lambda,i, T, p} = \left( a_0 + a_1\bar{\rho} + a_2\bar{T} + a_3\bar{T}\bar{\lambda}^2 + \frac{a_4}{\bar{\lambda}^2} + \frac{a_5}{\bar{\lambda}^2 - \lambda_{UV}^2} + \frac{a_6}{\bar{\lambda}^2 - \lambda_{IR}^2} \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\rho} = \frac{\rho}{\rho_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{T} = \frac{T}{T_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\lambda} = \frac{\lambda}{\lambda_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\lambda,i, T, p} = \frac{\sqrt{2b_{\lambda,i, T, p}+1}}{\sqrt{1-b_{\lambda,i, T, p}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the coefficients in the refractive index interpolation formula are in wavelength (&amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;). If you want to use wave numbers in &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, simply replace &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;10000/\nu(cm^{-1})&amp;lt;/math&amp;gt;, which is equal to &amp;lt;math&amp;gt;\lambda(\mu m)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to &amp;lt;math&amp;gt;3\times10^{-4}&amp;lt;/math&amp;gt;. The source of this factor comes from Murphy (1977) &lt;br /&gt;
https://doi.org/10.1063/1.434794&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times3\times10^{-4}}{6-7\times3\times10^{-4}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas are valid between 0.2 and 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.2 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Barrell and Sears (1939)&lt;br /&gt;
https://doi.org/10.1098/rsta.1939.0004&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(245.40+2.187\times\left(\frac{10000}{\nu}\right)^{-2} \right)\times 10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths greater than 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Ciddor (1996)&lt;br /&gt;
https://doi.org/10.1364/AO.35.001566&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.022\times10^{-8}\left(295.235 + 2.6422\times(\nu\times10^{-4})^2 - 0.03238\times(\nu\times10^{-4})^4 + 0.004028\times(\nu\times10^{-4})^6\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 293.15 K and a pressure of 1333 Pa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{14895.6}{180.7 - (\nu\times10^{-4})^2} + \frac{4903.7}{92-(\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to 0.02. The source of this factor comes from Hansen and Travis (1974)&lt;br /&gt;
https://doi.org/10.1007/BF00168069&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times0.02}{6-7\times0.02}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 273.15 K and a pressure of 1013.25 hPa. It is valid between 0.1680 and 1.6945 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.1680 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23.79+\frac{12307.2}{109.832 - (\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== He ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(2283 + \frac{1.8102\times10^{13}}{1.5342\times10^{10} - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.2753 and 20.5813 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CH&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 46662\times10^{-8} + 4.02\times10^{-14}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The depolarisation factor is unknown. It is therefore set at 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.3251 and 0.6330 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CO ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 +  22851\times10^{-8} + \frac{0.456\times10^4}{71427^2 - \nu^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.016&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.168 and 0.288 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Ar ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6432.135 + \frac{286.06021\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.288 and 0.546 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Bates (1984)&lt;br /&gt;
https://doi.org/10.1016/0032-0633(84)90102-8&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;lt; &amp;lt;/math&amp;gt; 18315 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(21351.3 + \frac{21.85670}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 18315 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 34722 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(20564.8 + \frac{24.80899}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 34722 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(22120.4 + \frac{20.31876}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;gt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23796.7 + \frac{16.89884}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.09 + 1.385\times10^{-11}\nu^2 + 1.488\times10^{-20}\nu^4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa. They are valid between 0.198 and 2.0 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;. Beyond this range, extrapolation is used.&lt;br /&gt;
&lt;br /&gt;
== Mass extinction coefficient ==&lt;br /&gt;
&lt;br /&gt;
The mass extinction coefficient is related to the molar cross section of scattering by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu,i} = \sigma_{\nu,i} \frac{N_A}{\bar{M}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;N_A&amp;lt;/math&amp;gt; is Avogadro constant and &amp;lt;math&amp;gt;\bar{M}&amp;lt;/math&amp;gt; is the average molecular mass of the atmosphere.&lt;br /&gt;
&lt;br /&gt;
For a gas mixture, the extinction coefficient is equal to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu} = \sum_{i=1}^N x_i k_{\nu,i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optical depth == &lt;br /&gt;
&lt;br /&gt;
Optical thickness is defined as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} \sigma_{\nu} N dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\rho dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, according to the hydrostatic balance:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;dp = \rho g dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, we have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\frac{dp}{g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A coefficient &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; is added to convert &amp;lt;math&amp;gt;Pa&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;mbar&amp;lt;/math&amp;gt; used in radiative transfer.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in Generic PCM ==&lt;br /&gt;
&lt;br /&gt;
The Rayleigh scattering routine is determined for each spectral band defined in the correlated-k routine and at each pressure level. The routine follows the path below:&lt;br /&gt;
* Each spectral band is recut by the &amp;lt;math&amp;gt;Nfine&amp;lt;/math&amp;gt; parameter. Rayleigh scattering calculations are performed on a loop on Nfine for each spectral band.&lt;br /&gt;
* The refractive index &amp;lt;math&amp;gt;ng&amp;lt;/math&amp;gt; and the King factor &amp;lt;math&amp;gt;Fk&amp;lt;/math&amp;gt; are set.&lt;br /&gt;
* The extinction coefficient is calculated in two stages. &amp;lt;math&amp;gt;Tauvari&amp;lt;/math&amp;gt;, the part dependent on the wavenumber, is calculated, then &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;, the part dependent on pressure and temperature (if it exists). Otherwise, the reference pressure &amp;lt;math&amp;gt;P0&amp;lt;/math&amp;gt; and temperature &amp;lt;math&amp;gt;T0&amp;lt;/math&amp;gt; of the refractive index measurements are used.&lt;br /&gt;
* After this loop, the extinction coefficient is then weighted by the black body function for each spectral band.&lt;br /&gt;
* Next, the optical depth is calculated in optcv.F90, where the thickness of the layer &amp;lt;math&amp;gt;dP&amp;lt;/math&amp;gt; is added (&amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; was already added on &amp;lt;math&amp;gt;Tauconsti&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering in exo_k ==&lt;br /&gt;
&lt;br /&gt;
Rayleigh routine in exo_k is available here : &lt;br /&gt;
&lt;br /&gt;
http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol&lt;br /&gt;
&lt;br /&gt;
Exo_k uses formalism from :&lt;br /&gt;
&lt;br /&gt;
''Caldas'' (2019) Effects of a fully 3D atmospheric structure on exoplanet transmission spectra: retrieval biases due to day–night temperature gradients : https://hal.archives-ouvertes.fr/hal-02005332/document&lt;br /&gt;
&lt;br /&gt;
Have a look on equation (12) &amp;amp; appendix D&lt;br /&gt;
&lt;br /&gt;
=== Formalism ===&lt;br /&gt;
&lt;br /&gt;
We consider a layer.&lt;br /&gt;
&lt;br /&gt;
dP is the difference of pressure between the two levels that define the layer.&lt;br /&gt;
&lt;br /&gt;
dN is the number of  molecules per m2 &amp;amp; dm is the mass per m2 of the layer&lt;br /&gt;
&lt;br /&gt;
dTau is the optical depth for a given wavelength (or wavenumber)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_{molecule}&amp;lt;/math&amp;gt; is the mass of one molecule of the considered gas&lt;br /&gt;
&lt;br /&gt;
g is the gravity&lt;br /&gt;
&lt;br /&gt;
sigma_mol is the Rayleigh scattering cross section of the molecule&lt;br /&gt;
&lt;br /&gt;
dTau = sigma_mol * dN&lt;br /&gt;
&lt;br /&gt;
sigma_mol = sigma_mol(wavenumber in cm-1)&lt;br /&gt;
&lt;br /&gt;
which gives : dTau = sigma_mol &amp;lt;math&amp;gt; \displaystyle \frac{dm}{m_{molecule}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then : dTau &amp;lt;math&amp;gt; \displaystyle = \frac{\text{sigma_mol}}{g * m_{molecule}} dP&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dP here is in Pascal&lt;br /&gt;
&lt;br /&gt;
=== Relations between LMDZ &amp;amp; Exo_k formalisms ===&lt;br /&gt;
&lt;br /&gt;
LMDZ &amp;amp; exo_k formalism are linked as following :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \displaystyle \text{(tauconsti * tauvari)} = \frac{\text{sigma_mol}}{g * m_{molecule}} * \text{scalep}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be careful with units !!! (cm-1 for wavenumbers in exo_k, microns for wavelengths in LMDZ)&lt;br /&gt;
&lt;br /&gt;
Last but not least : not to forget the ''scalep'' factor in LMDZ !&lt;br /&gt;
scalep = 100, because P is in mBar in optcv.F90 .&lt;br /&gt;
So we move from Pascal to mBar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3172</id>
		<title>Rayleigh scattering</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Rayleigh_scattering&amp;diff=3172"/>
				<updated>2026-01-12T18:45:42Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cross section ==&lt;br /&gt;
&lt;br /&gt;
The effective cross section for the i-th particle of small size relative to the wavelength and in the electric dipole approximation is equal to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 \left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;\nu&amp;lt;/math&amp;gt; is the wave number in &amp;lt;math&amp;gt;m^{-1}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; is the molar volume in &amp;lt;math&amp;gt;molecule.m^{-3}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;n_{\nu,i}&amp;lt;/math&amp;gt; is the real refractive index, &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt; is the depolarisation factor.&lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;math&amp;gt;\left( \frac{6+3\delta_{\nu,i}}{6-7\delta_{\nu,i}}\right)&amp;lt;/math&amp;gt; is also called the King factor and is denoted by &amp;lt;math&amp;gt;F_k (\nu,i)&amp;lt;/math&amp;gt;. So, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_{\nu,i} = \frac{24\pi^3 \nu^4}{N^2 } \left(\frac{n_{\nu,i}^2 -1}{n_{\nu,i}^2 +2}\right)^2 F_k (\nu,i)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The volume number can be obtained from the ideal gas law. Thus, the cross-sectional area depends on the temperature &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and the pressure &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt;. The refractive index also depends on the conditions &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, but in scientific literature, this dependence is very often unknown. Therefore, it is not possible to make the cross section dependent on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; if the dependence of the refractive index on &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; is unknown. It is therefore necessary to fix &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; for the calculation of the cross section at the &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; where the refractive index was measured. &lt;br /&gt;
The cross section is expected to vary little with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; in the case of a gas, but due to the dependence of &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; on &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt; and the variation of the refractive index with &amp;lt;math&amp;gt;T,P&amp;lt;/math&amp;gt;, if any dependence is omitted, the cross section can be significantly erroneous by several orders of magnitude. The H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O molecule is the only one for which the variation of the refractive index with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; has been measured or estimated. Thus, the variation of the cross section with &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; can be applied to this molecule using the formula introduced below.&lt;br /&gt;
&lt;br /&gt;
Rayleigh scattering, Brillouin scattering (not applicable in atmospheres) and Raman scattering are not taken into account in the calculation of this cross section. Only Rayleigh scattering (also known as the Cabannes peak) is taken into account.&lt;br /&gt;
&lt;br /&gt;
The refractive indices and King factors of each molecule studied in the Generic PCM are described below.&lt;br /&gt;
&lt;br /&gt;
=== CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.1427\times10^3\left(\frac{5799.25}{128908.9^2 - \nu^2} + \frac{120.05}{89223.8^2 - \nu^2} + \frac{5.3334}{75037.5^2 - \nu^2} + \frac{4.3244}{67837.7^2 - \nu^2} + \frac{0.1218145\times10^{-4}}{2418.136^2 - \nu^2}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.1364 + 25.3\times10^{-12}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.1807 and 1.8172 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at wavelengths below 0.1807 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous power-of-four formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Cuthbertson and Cuthbertson (1920)&lt;br /&gt;
https://doi.org/10.1098/rspa.1920.0020&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{6914.45}{156.85 - \nu^2}\right)\times 10^{-5}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== N&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
For 4860 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 21360 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(5677.465 + \frac{318.81874\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 21360 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6498.2 + \frac{307.4335\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.034 + 3.17\times10^{-12}\nu&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, extrapolation is performed using the formula valid between 21,360 and 39370 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O ===&lt;br /&gt;
&lt;br /&gt;
Reference: Harvey et al. (1998)&lt;br /&gt;
https://doi.org/10.1063/1.556029&lt;br /&gt;
&lt;br /&gt;
In the case of water, the refractive index is known to depend on T and P. However, it should be noted that the interpolation formula for water vapour is based on very incomplete data for certain wavelength ranges at certain temperatures and pressures (see reference for more details).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_0 =  0.244257733 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_1 = 9.74634476\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_2 = -3.73234996\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_3 = 2.68678472\times10^{-4} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_4 = 1.58920570\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_5 = 2.45934259\times10^{-3} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_6 = 0.900704920 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    a_7 = -1.66626219\times10^{-2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{UV} = 0.2292020\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_{IR} = 5.432937\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \rho_0 = 1000\; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    T_0 = 273.15\; K &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \lambda_0 = 0.589\; \mu m &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;b_{\lambda,i, T, p} = \left( a_0 + a_1\bar{\rho} + a_2\bar{T} + a_3\bar{T}\bar{\lambda}^2 + \frac{a_4}{\bar{\lambda}^2} + \frac{a_5}{\bar{\lambda}^2 - \lambda_{UV}^2} + \frac{a_6}{\bar{\lambda}^2 - \lambda_{IR}^2} \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\rho} = \frac{\rho}{\rho_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{T} = \frac{T}{T_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;    \bar{\lambda} = \frac{\lambda}{\lambda_0} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\lambda,i, T, p} = \frac{\sqrt{2b_{\lambda,i, T, p}+1}}{\sqrt{1-b_{\lambda,i, T, p}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the coefficients in the refractive index interpolation formula are in wavelength (&amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;). If you want to use wave numbers in &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;, simply replace &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;10000/\nu(cm^{-1})&amp;lt;/math&amp;gt;, which is equal to &amp;lt;math&amp;gt;\lambda(\mu m)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to &amp;lt;math&amp;gt;3\times10^{-4}&amp;lt;/math&amp;gt;. The source of this factor comes from Murphy (1977) &lt;br /&gt;
https://doi.org/10.1063/1.434794&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times3\times10^{-4}}{6-7\times3\times10^{-4}}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas are valid between 0.2 and 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.2 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Barrell and Sears (1939)&lt;br /&gt;
https://doi.org/10.1098/rsta.1939.0004&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(245.40+2.187\times\left(\frac{10000}{\nu}\right)^{-2} \right)\times 10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths greater than 1.1 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Ciddor (1996)&lt;br /&gt;
https://doi.org/10.1364/AO.35.001566&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 1.022\times10^{-8}\left(295.235 + 2.6422\times(\nu\times10^{-4})^2 - 0.03238\times(\nu\times10^{-4})^4 + 0.004028\times(\nu\times10^{-4})^6\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 293.15 K and a pressure of 1333 Pa.&lt;br /&gt;
&lt;br /&gt;
=== H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(\frac{14895.6}{180.7 - (\nu\times10^{-4})^2} + \frac{4903.7}{92-(\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For King's factor, this is the depolarisation coefficient &amp;lt;math&amp;gt;\delta_{\nu,i}&amp;lt;/math&amp;gt;, which is known. It is equal to 0.02. The source of this factor comes from Hansen and Travis (1974)&lt;br /&gt;
https://doi.org/10.1007/BF00168069&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = \left( \frac{6+3\times0.02}{6-7\times0.02}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 273.15 K and a pressure of 1013.25 hPa. It is valid between 0.1680 and 1.6945 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid singularities at lengths shorter than 0.1680 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt; associated with the previous formulation, we extrapolate using the following formula:&lt;br /&gt;
&lt;br /&gt;
Reference: Peck and Huang (1977)&lt;br /&gt;
https://doi.org/10.1364/JOSA.67.001550&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23.79+\frac{12307.2}{109.832 - (\nu\times10^{-4})^2}\right)\times10^{-6}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It applies to a temperature of 273.15 K and a pressure of 1013.25 hPa.&lt;br /&gt;
&lt;br /&gt;
=== He ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(2283 + \frac{1.8102\times10^{13}}{1.5342\times10^{10} - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.2753 and 20.5813 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CH&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + 46662\times10^{-8} + 4.02\times10^{-14}\nu^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The depolarisation factor is unknown. It is therefore set at 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.3251 and 0.6330 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== CO ===&lt;br /&gt;
&lt;br /&gt;
Reference: Sneep and Ubachs (2005)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2004.07.025&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 +  22851\times10^{-8} + \frac{0.456\times10^4}{71427^2 - \nu^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.016&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.168 and 0.288 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Ar ===&lt;br /&gt;
&lt;br /&gt;
Reference: Thalman et al. (2014)&lt;br /&gt;
https://doi.org/10.1016/j.jqsrt.2014.05.030&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(6432.135 + \frac{286.06021\times10^{12}}{14.4\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formula applies for a temperature of 288.15 K and a pressure of 1013.25 hPa. It is valid between 0.288 and 0.546 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Reference: Bates (1984)&lt;br /&gt;
https://doi.org/10.1016/0032-0633(84)90102-8&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;lt; &amp;lt;/math&amp;gt; 18315 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(21351.3 + \frac{21.85670}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 18315 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 34722 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(20564.8 + \frac{24.80899}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 34722 &amp;lt;math&amp;gt;cm^{-1} &amp;lt; \nu &amp;lt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(22120.4 + \frac{20.31876}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;\nu &amp;gt; &amp;lt;/math&amp;gt; 45248 &amp;lt;math&amp;gt;cm^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n_{\nu,i} = 1 + \left(23796.7 + \frac{16.89884}{4.09\times10^9 - \nu^2}\right)\times10^{-8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F_k (\nu,i) = 1.09 + 1.385\times10^{-11}\nu^2 + 1.488\times10^{-20}\nu^4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The interpolation formulas apply for a temperature of 288.15 K and a pressure of 1013.25 hPa. They are valid between 0.198 and 2.0 &amp;lt;math&amp;gt;\mu m&amp;lt;/math&amp;gt;. Beyond this range, extrapolation is used.&lt;br /&gt;
&lt;br /&gt;
== Mass extinction coefficient ==&lt;br /&gt;
&lt;br /&gt;
The mass extinction coefficient is related to the molar cross section of scattering by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu,i} = \sigma_{\nu,i} \frac{N_A}{\bar{M}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;N_A&amp;lt;/math&amp;gt; is Avogadro constant and &amp;lt;math&amp;gt;\bar{M}&amp;lt;/math&amp;gt; is the average molecular mass of the atmosphere.&lt;br /&gt;
&lt;br /&gt;
For a gas mixture, the extinction coefficient is equal to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_{\nu} = \sum_{i=1}^N x_i k_{\nu,i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optical depth == &lt;br /&gt;
&lt;br /&gt;
Optical thickness is defined as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} \sigma_{\nu} N dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\rho dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, according to the hydrostatic balance:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;dp = \rho g dz&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, we have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{\nu} = \int_{z_1}^{z_2} k_{\nu}\frac{dp}{g}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A coefficient &amp;lt;math&amp;gt;scalep&amp;lt;/math&amp;gt; is added to convert &amp;lt;math&amp;gt;Pa&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;mbar&amp;lt;/math&amp;gt; used in radiative transfer.&lt;br /&gt;
&lt;br /&gt;
== Rayleigh scattering on exo_k ==&lt;br /&gt;
&lt;br /&gt;
Rayleigh routine in exo_k is avalaible here : &lt;br /&gt;
&lt;br /&gt;
http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol&lt;br /&gt;
&lt;br /&gt;
Exo_k uses formalism from :&lt;br /&gt;
&lt;br /&gt;
''Caldas'' (2019) Effects of a fully 3D atmospheric structure on exoplanet transmission spectra: retrieval biases due to day–night temperature gradients : https://hal.archives-ouvertes.fr/hal-02005332/document&lt;br /&gt;
&lt;br /&gt;
Have a look on equation (12) &amp;amp; appendix D&lt;br /&gt;
&lt;br /&gt;
=== Formalism ===&lt;br /&gt;
&lt;br /&gt;
We consider a layer.&lt;br /&gt;
&lt;br /&gt;
dP is the difference of pressure between the two levels that define the layer.&lt;br /&gt;
&lt;br /&gt;
dN is the number of  molecules per m2 &amp;amp; dm is the mass per m2 of the layer&lt;br /&gt;
&lt;br /&gt;
dTau is the optical depth for a given wavelength (or wavenumber)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;m_{molecule}&amp;lt;/math&amp;gt; is the mass of one molecule of the considered gas&lt;br /&gt;
&lt;br /&gt;
g is the gravity&lt;br /&gt;
&lt;br /&gt;
sigma_mol is the Rayleigh scattering cross section of the molecule&lt;br /&gt;
&lt;br /&gt;
dTau = sigma_mol * dN&lt;br /&gt;
&lt;br /&gt;
sigma_mol = sigma_mol(wavenumber in cm-1)&lt;br /&gt;
&lt;br /&gt;
which gives : dTau = sigma_mol &amp;lt;math&amp;gt; \displaystyle \frac{dm}{m_{molecule}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then : dTau &amp;lt;math&amp;gt; \displaystyle = \frac{\text{sigma_mol}}{g * m_{molecule}} dP&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dP here is in Pascal&lt;br /&gt;
&lt;br /&gt;
=== Relations between LMDZ &amp;amp; Exo_k formalisms ===&lt;br /&gt;
&lt;br /&gt;
LMDZ &amp;amp; exo_k formalism are linked as following :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \displaystyle \text{(tauconsti * tauvari)} = \frac{\text{sigma_mol}}{g * m_{molecule}} * \text{scalep}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be careful with units !!! (cm-1 for wavenumbers in exo_k, microns for wavelengths in LMDZ)&lt;br /&gt;
&lt;br /&gt;
Last but not least : not to forget the ''scalep'' factor in LMDZ !&lt;br /&gt;
scalep = 100, because P is in mBar in optcv.F90 .&lt;br /&gt;
So we move from Pascal to mBar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Advanced_Use_of_the_GCM&amp;diff=1963</id>
		<title>Advanced Use of the GCM</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Advanced_Use_of_the_GCM&amp;diff=1963"/>
				<updated>2024-02-29T09:48:50Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Running in parallel ==&lt;br /&gt;
&lt;br /&gt;
For large simulation (long run, high resolution etc...), the computational cost can be huge and hence the run time very long.&lt;br /&gt;
To overcome this issue, the model can be run in parallel. This however requires a few extra steps (compared to compiling and running the serial version of the code).&lt;br /&gt;
For all the details see [[Parallelism | the dedicated page]].&lt;br /&gt;
&lt;br /&gt;
== Disambiguation between ifort, mpif90, etc. ==&lt;br /&gt;
&lt;br /&gt;
For users not used to compilers and/or compiling and running codes in parallel, namely in MPI mode, there is often some confusion which hopefully the following paragraph might help clarify:&lt;br /&gt;
* the compiler (typically gfortran, ifort, pgfortran, etc.) is the required tool to compile the Fortran source code and generate an executable. It is strongly recommended that libraries used by a program are also compiled using the same compiler. Thus if you plan to use different compilers to compile the model, note that you should also have at hand versions of the libraries it uses also compiled with these compilers.&lt;br /&gt;
* the MPI (Message Passing Interface) library is a library used to solve problems using multiple processes by enabling message-passing between the otherwise independent processes. There are a number of available MPI libraries out there, e.g. OpenMPI, MPICH or IntelMPI to name a few (you can check out the [[Building an MPI library]] page for some information about installing an MPI library). The important point here is that on a given machine the MPI library is related to a given compiler and that it provides related wrappers to compile and run with. Typically (but not always) the compiler wrapper is '''mpif90''' and the execution wrapper is '''mpirun'''. If you want to know which compiler is wrapped in the '''mpif90''' compiler wrapper, check out the output of:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mpif90 --version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* In addition a second type of parallelism, shared memory parallelism known as OpenMP, is also implemented in the code. In contradistinction to MPI, OpenMP does not require an external library but is instead implemented as a compiler feature. At run time one must then specify some dedicated environment variables (such as OMP_NUM_THREADS and OMP_STACKSIZE) to specify the number of threads to use per process.&lt;br /&gt;
* In practice one should favor compiling and running with both MPI and OPenMP enabled.&lt;br /&gt;
* For much more detailed information about compiling and running in parallel, check out the [[Parallelism | the page dedicated to Parallelism]].&lt;br /&gt;
&lt;br /&gt;
== A word about the IOIPSL and XIOS libraries ==&lt;br /&gt;
* The IOIPSL (Input Output IPSL) library is a library that has developed by the IPSL community to handle input and outputs of (mostly terrestrial) climate models. For the Generic PCM only a small part of this library is actually used, related to reading and processing the input [[The_run.def_Input_File | run.def]] file. For more details check out the [[The IOIPSL Library]] page.&lt;br /&gt;
* The [https://forge.ipsl.jussieu.fr/ioserver/wiki XIOS] (Xml I/O Server) library is based on client-server principles where the server manages the outputs asynchronously from the client (the climate model) so that the bottleneck of writing data in a parallel environment is alleviated. All aspects of the outputs (name, units, file, post-processing operations, etc.) are then controlled by dedicated XML files which are read at run-time. Using XIOS is currently optional (and requires compiling the GCM with the XIOS library). More about the XIOS library, how to install and use it, etc. [[The XIOS Library| here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Playing with the output files ==&lt;br /&gt;
&lt;br /&gt;
=== Changing the output temporal resolution and time duration ===&lt;br /&gt;
&lt;br /&gt;
* To change the total time of a simulation, you need to open the 'For all the details see [[The_run.def_Input_File | run.def]]. file and change the variable 'nday':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nday = 1000 # this means the simulation will run for 1000 days ; and that the associated output files will also be computed for a total duration of 1000 days&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: in the example, they are not necessarily 1000 Earth days, because it depends on the definition of the day duration that has been taken in the start files.&lt;br /&gt;
&lt;br /&gt;
* To change the temporal resolution of the output files, you need to open the [[The_run.def_Input_File | run.def]] file and change the variable 'ecritphy':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ecritphy = 200 # this means the simulation will write variables in the output files every 200 time steps of the simulation.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The output temporal resolution of the output files then depends also on the number of timestep per day ('day_step' variable in [[The_run.def_Input_File | run.def]] file). In this example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nday = 1000&lt;br /&gt;
daystep = 800&lt;br /&gt;
ecritphy = 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file will provide results every 0.25 days (800/200), and for a total duration of 1000 days (so 4000 time values in total).&lt;br /&gt;
&lt;br /&gt;
=== Changing the output variable ===&lt;br /&gt;
&lt;br /&gt;
To select the variable provided in the output file diagfi.nc, you simply need to add the list of variables needed in the [[The_diagfi.def_Input_File | diagfi.def]].&lt;br /&gt;
&lt;br /&gt;
Note for experts: Some technical variables need to be de-commented in 'physiq_mod.F90' file to be written in the output files.&lt;br /&gt;
&lt;br /&gt;
=== Spectral outputs ===&lt;br /&gt;
&lt;br /&gt;
It is possible to provide spectral outputs such as the OLR (Outgoing Longwave Radiation, i.e. the thermal emission of the planet at the top of the atmosphere), the OSR (Outgoing Stellar Radiation, i.e. the light reflected by the planet at the top of the atmosphere), or the GSR (Ground Stellar Radiation, i.e. the light emitted by the star that reaches the surface of the planet).&lt;br /&gt;
&lt;br /&gt;
For this, you need to activate the option 'specOLR' in the [[The_callphys.def_Input_File | callphys.def]] file, as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
specOLR    = .true.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The simulations will then create diagspec_VI.nc and diagspec_IR.nc files (along with the standard diagfi.nc file), which contain the spectra of OLR, OSR, GSR, etc.&lt;br /&gt;
&lt;br /&gt;
Note: The resolution of the spectra is defined by that of the correlated-k (opacity) files used for the simulation.&lt;br /&gt;
&lt;br /&gt;
=== Statistical outputs ===&lt;br /&gt;
&lt;br /&gt;
TBD (explain how to compute stats.nc files as well as what is inside)&lt;br /&gt;
&lt;br /&gt;
== How to Change Vertical and Horizontal Resolutions ==&lt;br /&gt;
&lt;br /&gt;
=== When you are using the regular longitude/latitude horizontal grid ===&lt;br /&gt;
To run at a different grid resolution than available initial conditions files, one needs to use the tools ''newstart.e'' and ''start2archive.e''&lt;br /&gt;
&lt;br /&gt;
For example, to create initial states at grid resolution 32×24×25 from NetCDF files start and startfi at grid resolution 64×48×32 :&lt;br /&gt;
&lt;br /&gt;
* Create file ''start_archive.nc'' with ''start2archive.e'' compiled at grid resolution 64×48×32 using old file ''z2sig.def'' used previously&lt;br /&gt;
* Create files ''restart.nc'' and ''restartfi.nc'' with ''newstart.e'' compiled at grid resolution 32×24×25, using a new file ''z2sig.def'' (more details below on the choice of the ''z2sig.def'').&lt;br /&gt;
* While executing ''newstart.e'', you need to choose the answer '0 - from a file start_archive' and then press enter to all other requests.&lt;br /&gt;
&lt;br /&gt;
==== What you need to ''know'' about the ''z2sig.def'' file ====&lt;br /&gt;
&lt;br /&gt;
For a model with Nlay layers, the [[The_z2sig.def_Input_File | z2sig.def]] file must contain at least Nlay+1 lines (the other not being read).&lt;br /&gt;
&lt;br /&gt;
The first line is a scale height ($$H$$). The following lines are the target pseudo-altitudes for the model from the bottom up ($$z_i$$).&lt;br /&gt;
The units do not matter as long as you use the same ones for both. &lt;br /&gt;
&lt;br /&gt;
The model will use these altitudes to compute a target pressure grid ($$p_i$$ ) as follows:&lt;br /&gt;
\begin{align}&lt;br /&gt;
  \label{def:pseudoalt}&lt;br /&gt;
  p_i &amp;amp;= p_s \exp(-z_i/H),&lt;br /&gt;
\end{align}&lt;br /&gt;
where $$p_s$$ is the surface pressure. &lt;br /&gt;
&lt;br /&gt;
As you can see, the scale height and pseudo altitudes enter the equation only through their ratio. So they do not have to to be the real scale-height and altitudes of the atmosphere you are simulating.&lt;br /&gt;
So you can use the same [[The_z2sig.def_Input_File | z2sig.def]].def for different planets. &lt;br /&gt;
&lt;br /&gt;
There is no hard rule to follow to determine the altitude/pressure levels you should use. As a rule of thumb, layers should be thiner near the surface to properly resolve the surface boundary layer. Then they should gradually increase in size over a couple scale heights and transition to constant thickness above that. Of course, some specific applications may require thinner layers in some specific parts of the atmospheres. &lt;br /&gt;
&lt;br /&gt;
A little trick for those who prefer to think in terms of (log)pressure: if you use $$H=  1/\ln 10 \approx 0.43429448$$, then $$z_i=x$$ corresponds to a pressure difference with the surface of exactly x pressure decades (i.e. at $$z=1$$, $$p=0.1p_s$$). This is particularly useful for giant-planet applications.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- [NOT RELEVANT??] If you want to create starts files with tracers for 50 layers using a start archive.nc obtained for 32 layers, do not forget to use the ini_q option in newstart in order to correctly initialize tracers value for layer 33 to layer 50. You just have to answer yes to the question on thermosphere initialization if you want to initialize the thermosphere part only (l=33 to l=50), and no if you want to initialize tracers for all layers (l=0 to l=50). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''WE SHOULD WRITE A PAGE (LINK HERE) ABOUT HYBRID VERTICAL COORDINATES'''&lt;br /&gt;
&lt;br /&gt;
=== When you are using the DYNAMICO icosahedral horizontal grid ===&lt;br /&gt;
&lt;br /&gt;
The horizontal resolution for the DYNAMICO dynamical core is managed from several setting files, online during the execution. &lt;br /&gt;
To this purpose, each part  of the GCM managing the in/output fields ('''ICOSAGCM''', '''ICOSA_LMDZ''', '''XIOS''') requires to know the input and output grids: &lt;br /&gt;
&lt;br /&gt;
'''1. ''context_lmdz_physics.xml'':'''&lt;br /&gt;
&lt;br /&gt;
You can find several grid setup already defined:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;lt;domain_definition&amp;gt;&lt;br /&gt;
    &amp;lt;domain id=&amp;quot;dom_96_95&amp;quot; ni_glo=&amp;quot;96&amp;quot; nj_glo=&amp;quot;95&amp;quot; type=&amp;quot;rectilinear&amp;quot;  &amp;gt;&lt;br /&gt;
      &amp;lt;generate_rectilinear_domain/&amp;gt;&lt;br /&gt;
      &amp;lt;interpolate_domain order=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;domain id=&amp;quot;dom_144_142&amp;quot; ni_glo=&amp;quot;144&amp;quot; nj_glo=&amp;quot;142&amp;quot; type=&amp;quot;rectilinear&amp;quot;  &amp;gt;&lt;br /&gt;
      &amp;lt;generate_rectilinear_domain/&amp;gt;&lt;br /&gt;
      &amp;lt;interpolate_domain order=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;domain id=&amp;quot;dom_512_360&amp;quot; ni_glo=&amp;quot;512&amp;quot; nj_glo=&amp;quot;360&amp;quot; type=&amp;quot;rectilinear&amp;quot;  &amp;gt;&lt;br /&gt;
      &amp;lt;generate_rectilinear_domain/&amp;gt;&lt;br /&gt;
      &amp;lt;interpolate_domain order=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;domain id=&amp;quot;dom_720_360&amp;quot; ni_glo=&amp;quot;720&amp;quot; nj_glo=&amp;quot;360&amp;quot; type=&amp;quot;rectilinear&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;generate_rectilinear_domain/&amp;gt;&lt;br /&gt;
      &amp;lt;interpolate_domain order=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;domain id=&amp;quot;dom_out&amp;quot; domain_ref=&amp;quot;dom_720_360&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/domain_definition&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, the output grid for the physics fields is defined by &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;domain id=&amp;quot;dom_out&amp;quot; domain_ref=&amp;quot;dom_720_360&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which is an half-degree horizontal resolution. To change this resolution, you have to change name of the '''domain_ref''' grid, for instance: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;domain id=&amp;quot;dom_out&amp;quot; domain_ref=&amp;quot;dom_96_95&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. ''run_icosa.def'': setting file to execute a simulation''' &lt;br /&gt;
&lt;br /&gt;
In this file, regarding of the horizontal resolution intended, you have to set the number of subdivision on the main triangle. &lt;br /&gt;
For reminder, each hexagonal mesh is divided in several main triangles and each main triangles are divided in suitable number of sub-triangles according the horizontal resolution&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
#nbp --&amp;gt; number of subdivision on a main triangle: integer (default=40)&lt;br /&gt;
#              nbp = sqrt((nbr_lat x nbr_lon)/10)&lt;br /&gt;
#              nbp:                 20   40   80  160&lt;br /&gt;
#              T-edge length (km): 500  250  120   60&lt;br /&gt;
#              Example: nbp(128x96) = 35 -&amp;gt; 40&lt;br /&gt;
#                       nbp(256x192)= 70 -&amp;gt; 80&lt;br /&gt;
#                       nbp(360x720)= 160 -&amp;gt; 160&lt;br /&gt;
nbp = 160&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have chosen the 96_95 output grid in ''context_lmdz_physics.xml'', you have to calculate $$nbp = \sqrt(96x95) / 10 = 10$$ and  in this case &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
nbp = 20&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the number of subdivision of the main triangle, you have to define the number subdivision over each direction. At this stage you need to be careful as the number of subdivisions on each direction:&lt;br /&gt;
* needs to be set according to the number of subdivisions on the main triangle '''nbp'''&lt;br /&gt;
* will determine the number of processors on which the GCM will be most effective&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
## sub splitting of main rhombus : integer (default=1)&lt;br /&gt;
#nsplit_i=1&lt;br /&gt;
#nsplit_j=1&lt;br /&gt;
#omp_level_size=1&lt;br /&gt;
###############################################################&lt;br /&gt;
## There must be less MPIxOpenMP processes than the 10 x nsplit_i x nsplit_j tiles&lt;br /&gt;
## typically for pure MPI runs, let nproc = 10 x nsplit_i x nsplit_j&lt;br /&gt;
## it is better to have nbp/nsplit_i  &amp;gt; 10 and nbp/nplit_j &amp;gt; 10&lt;br /&gt;
###############################################################&lt;br /&gt;
#### 40 noeuds de 24 processeurs = 960 procs&lt;br /&gt;
nsplit_i=12&lt;br /&gt;
nsplit_j=8&lt;br /&gt;
&lt;br /&gt;
#### 50 noeuds de 24 processeurs = 1200 procs&lt;br /&gt;
#nsplit_i=10&lt;br /&gt;
#nsplit_j=12&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With the same example as above, the 96_95 output grid requires:&lt;br /&gt;
$$nsplit_i &amp;lt; 2$$ and $$nsplit_j &amp;lt; 2$$&lt;br /&gt;
We advise you to select:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
## sub splitting of main rhombus : integer (default=1)&lt;br /&gt;
nsplit_i=1&lt;br /&gt;
nsplit_j=1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and using 10 processors.&lt;br /&gt;
&lt;br /&gt;
== How to Change the Topography (or remove it) ==&lt;br /&gt;
&lt;br /&gt;
The generic model can use in principle any type of surface topography, provided that the topographic data file is available in the right format, and put in the right place. The information content on the surface topography is contained in the ''startfi.nc'', and we do have developed tools (see below) to modify the ''startfi.nc'' to account for a new surface topography.&lt;br /&gt;
&lt;br /&gt;
To change the surface topography of a simulation, we recommend to follow the procedure detailed below:&lt;br /&gt;
&lt;br /&gt;
* Create file ''start_archive.nc'' with ''start2archive.e'' compiled at the same (horizontal and vertical) resolution than the ''start.nc'' and ''startfi.nc'' files.&lt;br /&gt;
* Create files ''restart.nc'' and ''restartfi.nc'' with ''newstart.e'' compiled again at the same (horizontal and vertical) resolution. &lt;br /&gt;
* While executing ''newstart.e'', you need to choose the answer '0 - from a file start_archive' and then press enter to all other requests.&lt;br /&gt;
* At some point, the script ''newstart.e'' asks you to chose the surface topography you want from the list of files available in your 'datagcm/surface_data/' directory. &lt;br /&gt;
&lt;br /&gt;
We do have a repository of for Venus, Earth and Mars through time available at https://web.lmd.jussieu.fr/~lmdz/planets/LMDZ.GENERIC/datagcm/surface_data/. You can download the surface topography files and place them in your 'datagcm/surface_data/' directory.&lt;br /&gt;
&lt;br /&gt;
We also offer a tutorial to design new topography maps here: https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Building_Surface_Topography_Files&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Special note: To remove the topography, you can simply add the following tag in callphys.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nosurf  = .true.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to Change the Stellar Spectrum ==&lt;br /&gt;
&lt;br /&gt;
To simulate the effect of the star's radiation on a given planetary atmosphere, it is necessary to accurately represent the stellar spectrum (spectral shape and total bolometric flux) at the top of this atmosphere. In the model, we have set up two different options to model the stellar spectra of any star.&lt;br /&gt;
&lt;br /&gt;
=== Black Body Stellar Spectra ===&lt;br /&gt;
&lt;br /&gt;
First, it is possible to simply use a black body. In this case, the stellar spectrum depends only on the effective temperature of the star which is provided to the model.&lt;br /&gt;
&lt;br /&gt;
For this, you need to activate the option 'stelbbody' in the [[The_callphys.def_Input_File | callphys.def]] file, as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stelbbody  = .true.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then add, also in the [[The_callphys.def_Input_File | callphys.def]] file, the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stelTbb   = 3500.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to specify the effective temperature of the host star. (in this example, we have chosen a M-star with an effective temperature of 3500K)&lt;br /&gt;
&lt;br /&gt;
=== Pre-Tabulated spectra ===&lt;br /&gt;
&lt;br /&gt;
Second, the model can read a file containing any pre-computed stellar spectrum. Traditionally, we have used synthetic spectra from the PHOENIX database, that we adapt to the Generic PCM by decreasing the spectral resolution (use 10000 points with a fixed spectral resolution of 0.001 micron) and by adapting the units (in W/m2/micron). This is the option that is generally preferred to better represent the effect of the star (whose real spectrum can strongly deviate from the black body approximation).&lt;br /&gt;
&lt;br /&gt;
For this, you need to make sure the option 'stelbbody' in the [[The_callphys.def_Input_File | callphys.def]] file is equal to .false. (it not specified, by default stelbbody is assumed to be .false.).&lt;br /&gt;
&lt;br /&gt;
Then you need to add in the [[The_callphys.def_Input_File | callphys.def]] file, the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
startype = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and change the value of startype depending on the star you want to model. (here 1 means we use the solar spectrum)&lt;br /&gt;
&lt;br /&gt;
To know which stellar spectra are available, you need to open the file LMDZ.GENERIC/libf/phystd/ave_stelspec.F90 and adapt the value of startype accordingly. You also need to make sure the spectra are available in your /datadir/stellar_spectra (or /datagcm/stellar_spectra) directory.&lt;br /&gt;
&lt;br /&gt;
To calculate the true stellar spectrum at the top of the atmosphere, the Generic PCM renormalizes the stellar spectrum by the bolometric flux at 1 Astronomical Unit (AU) provided by the user, which it then converts into the true stellar spectrum by using the star-planet distance. &lt;br /&gt;
&lt;br /&gt;
To specify the flux at 1 AU, you need to add in the [[The_callphys.def_Input_File | callphys.def]] file, the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fat1AU = 1366.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(here 1366W/m2 corresponds to the flux at 1AU for the Sun)&lt;br /&gt;
&lt;br /&gt;
1st NOTE: We will improve this second part (Martin and Mathilde) by the end of 2022.&lt;br /&gt;
&lt;br /&gt;
2nd NOTE: The Generic PCM eventually has the capability to run without any stellar flux. To do that, you can simply put Fat1AU = 0. (@LUCAS_TEINTURIER, could you check that?)&lt;br /&gt;
&lt;br /&gt;
== How to Change the Opacity Tables ==&lt;br /&gt;
&lt;br /&gt;
'''SECTION ET PAGES EN COURS D'ÉCRITURE'''&lt;br /&gt;
&lt;br /&gt;
The model uses opacity tables to compute heating rates throughout the atmosphere. These opacity tables are generated &amp;quot;offline&amp;quot; for a given set of pressures, temperatures, a given composition and a specific spectral decomposition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Getting opacity tables for your desired atmospheric composition ===&lt;br /&gt;
&lt;br /&gt;
* You should first check our common repository here (https://web.lmd.jussieu.fr/~lmdz/planets/LMDZ.GENERIC/datagcm/corrk_data/) to check whether your desired opacity table is not already included.&lt;br /&gt;
We have a dedicated page on how to build new opacity tables here: https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Building_Opacity_Tables ; N&lt;br /&gt;
&lt;br /&gt;
=== Implementing your opacity tables in the Generic PCM ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
, follow these steps:&lt;br /&gt;
&lt;br /&gt;
* copy your directory containing your opacity tables in .... It has to contain...  [[Building_Opacity_Tables | you need to build opacity tables]]&lt;br /&gt;
* change corrkdir = ... in [[The_callphys.def_Input_File | callphys.def]] with the name of that directory.&lt;br /&gt;
* change gases.def: it has to be consistent with Q.dat. A special case concerns...&lt;br /&gt;
* change -b option when compiling the model with makelmdz_fcm: it has to correspond to the number of bands (in the IR x in the visible) of the new opacity tables. For instance, compile with -b 38x26 if you used 38 bands in the infrared and 26 in the visible to generate the opacity tables.&lt;br /&gt;
&lt;br /&gt;
== How to Change the Aerosols Optical Properties ==&lt;br /&gt;
&lt;br /&gt;
Aerosol optical properties are represented using three distinct properties: the extinction coefficient (Q_ext), the single scattering albedo (omega) and the asymmetry factor (g). &lt;br /&gt;
&lt;br /&gt;
The Generic PCM can compute the radiative effects of any aerosol, provided that they optical properties (Q_ext, omega, g) are tabulated and provided in the right format.&lt;br /&gt;
&lt;br /&gt;
=== Getting optical properties for your aerosols ===&lt;br /&gt;
&lt;br /&gt;
* You should first check our common repository here (https://web.lmd.jussieu.fr/~lmdz/planets/LMDZ.GENERIC/datagcm/aerosol_properties/) to check whether your favorite aerosol is not already included. The optical properties of each aerosol is built using two distinct files: one in the 'visible' (which is used in the visible part of the radiative transfer, to compute the fate of stellar radiation) and one in the 'infrared' (which is used in the thermal infrared part of the radiative transfer, to compute the fate of thermal emission by the surface and atmosphere).&lt;br /&gt;
&lt;br /&gt;
For instance, if you want to include the radiative effect of CO2 ice clouds, then you just need the files: &lt;br /&gt;
&lt;br /&gt;
- optprop_co2ice_vis_n50.dat&lt;br /&gt;
&lt;br /&gt;
- optprop_co2ice_ir_n50.dat&lt;br /&gt;
&lt;br /&gt;
* Otherwise, you can create your own tables of optical properties, using existing databases. Check this page to learn how to do this: https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Building_Tables_Of_Aerosol_Optical_Properties&lt;br /&gt;
&lt;br /&gt;
=== Implementing your aerosols in the Generic PCM ===&lt;br /&gt;
&lt;br /&gt;
Before including the aerosol scheme you want to use, you need to indicate the number of aerosol layers in callphys.def with the option '''naerkind=#number_of_aerosol_layers'''.&lt;br /&gt;
&lt;br /&gt;
There are two available aerosol schemes you can use to add a new aerosol in the Generic PCM:&lt;br /&gt;
&lt;br /&gt;
====The n-layer aerosol scheme====&lt;br /&gt;
&lt;br /&gt;
You can use the n-layer scheme (implemented by Jan Vatant d'Ollone) to easily prescribe an aerosol vertical distribution. The scheme is activated by adding ''aeronlay=.true''. in callphys.def.&lt;br /&gt;
&lt;br /&gt;
In this scheme, each layer can have different optical properties, particle sizes, etc. You can use different options (e.g. to fix the aerosol distribution between two atmospheric pressures) of the scheme with ''aeronlay_choice = 1'', 2, etc. &lt;br /&gt;
&lt;br /&gt;
Firstly, you have to precise the number of aerosols of this scheme. For instance,:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nlayaero = 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, you can indicate the properties of your aerosol layer(s) one after the other on the same line. For 3 aerosol layers, we have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
aeronlay_tauref       = 1.0 0.05 0.03&lt;br /&gt;
aeronlay_lamref       = 0.8e-6 0.8e-6 0.8e-6&lt;br /&gt;
aeronlay_choice       = 2 2 2&lt;br /&gt;
aeronlay_pbot         = 2.0e5 1.6e5 0.2e5&lt;br /&gt;
aeronlay_ptop         = 0.10e5 2.0e5 1.&lt;br /&gt;
aeronlay_sclhght      = 0.1 2.0 0.1&lt;br /&gt;
aeronlay_size         = 0.8e-6 0.05e-6 2.5e-6&lt;br /&gt;
aeronlay_nueff        = 0.3 0.3 0.3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''aeronlay_tauref'' is the optical depth at the reference wavelength ''aeronlay_lamref'' (in metres). The ''aeronlay_choice'' allows you to choose the aerosol distribution between the bottom pressure (''aeronlay_pbot'') and the top pressure (''aeronlay_ptop'') of the aerosol layer (''aeronlay_choice=1'') or from a bottom pressure (''aeronlay_pbot'') with a fractional scale height (''aeronlay_sclhght'') with the ''aeronlay_choice=2''. For the corresponding layer, if you use the choice=2, the ''aeronlay_ptop'' is deactivated. In the same way, for the choice=1, the ''aeronlay_sclhght'' is deactivated for the corresponding layer. You can choose the mean radius of the particles with the ''aeronlay_size'' (in metres) and the corresponding effective standard deviation with ''aeronlay_nueff''.&lt;br /&gt;
&lt;br /&gt;
And finally, you will need to provide the name of your aerosols optical properties tables in callphys.def. For instance:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
optprop_aeronlay_vis = optprop_neptune_n2_vis_n30.dat optprop_neptune_n3_vis_n30.dat optprop_ch4_vis.dat&lt;br /&gt;
optprop_aeronlay_ir = optprop_neptune_n2_ir_n30.dat optprop_neptune_n3_ir_n30.dat optprop_ch4_ir.dat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(here, to use the optical properties of aerosols for Neptune)&lt;br /&gt;
&lt;br /&gt;
We encourage you to search for the keyword &amp;quot;aeronlay&amp;quot; in the source code to use more specific options of the scheme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====The generic condensable scheme====&lt;br /&gt;
&lt;br /&gt;
You can use the generic condensable scheme (implemented by Lucas Teinturier) to easily compute the radiative effect of cloud particles formed by condensation.&lt;br /&gt;
The scheme has to be used conjointly to the generic condensation scheme.&lt;br /&gt;
To activate it, one needs to add the '''aerogeneric=n'''( with n&amp;gt;0 the number of condensable species handled in the scheme) in callphys.def. On top of that, one needs to add in traceur.def, on the solid/ice traceur the option '''is_rgcs = 1'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the model itself, one needs then to manually add your aerosol by modifying the suaer_corrk.F90 routine (if your favorite aerosol is not there yet already) to specify the correct names for your condensing species. A more dynamical/flexible approach will be added at some point, so one won't need to directly modify the code.&lt;br /&gt;
&lt;br /&gt;
More information on how to use the scheme is provided here: https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Radiative_Generic_Condensable_Specie&lt;br /&gt;
&lt;br /&gt;
Don’t forget to add your new aerosol species in traceur.def and adapt the -t option (with the correct number of radiatively active aerosols) at the compilation stage.&lt;br /&gt;
&lt;br /&gt;
== How to Manage Tracers ==&lt;br /&gt;
&lt;br /&gt;
Tracers are managed thanks to the [https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_traceur.def_Input_File ''traceur.def''] file.&lt;br /&gt;
&lt;br /&gt;
Specific treatment of some tracers (e.g., water vapor cycle) can be added directly in the model and an option added in [https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_callphys.def_Input_File ''callphys.def''] file.&lt;br /&gt;
&lt;br /&gt;
== Use the Z of LMDZ : Zoomed version ==&lt;br /&gt;
&lt;br /&gt;
Do we need this? Has anyone already made use of the zoom module?&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Advanced_Use_of_the_GCM&amp;diff=1962</id>
		<title>Advanced Use of the GCM</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Advanced_Use_of_the_GCM&amp;diff=1962"/>
				<updated>2024-02-29T09:46:24Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Running in parallel ==&lt;br /&gt;
&lt;br /&gt;
For large simulation (long run, high resolution etc...), the computational cost can be huge and hence the run time very long.&lt;br /&gt;
To overcome this issue, the model can be run in parallel. This however requires a few extra steps (compared to compiling and running the serial version of the code).&lt;br /&gt;
For all the details see [[Parallelism | the dedicated page]].&lt;br /&gt;
&lt;br /&gt;
== Disambiguation between ifort, mpif90, etc. ==&lt;br /&gt;
&lt;br /&gt;
For users not used to compilers and/or compiling and running codes in parallel, namely in MPI mode, there is often some confusion which hopefully the following paragraph might help clarify:&lt;br /&gt;
* the compiler (typically gfortran, ifort, pgfortran, etc.) is the required tool to compile the Fortran source code and generate an executable. It is strongly recommended that libraries used by a program are also compiled using the same compiler. Thus if you plan to use different compilers to compile the model, note that you should also have at hand versions of the libraries it uses also compiled with these compilers.&lt;br /&gt;
* the MPI (Message Passing Interface) library is a library used to solve problems using multiple processes by enabling message-passing between the otherwise independent processes. There are a number of available MPI libraries out there, e.g. OpenMPI, MPICH or IntelMPI to name a few (you can check out the [[Building an MPI library]] page for some information about installing an MPI library). The important point here is that on a given machine the MPI library is related to a given compiler and that it provides related wrappers to compile and run with. Typically (but not always) the compiler wrapper is '''mpif90''' and the execution wrapper is '''mpirun'''. If you want to know which compiler is wrapped in the '''mpif90''' compiler wrapper, check out the output of:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mpif90 --version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* In addition a second type of parallelism, shared memory parallelism known as OpenMP, is also implemented in the code. In contradistinction to MPI, OpenMP does not require an external library but is instead implemented as a compiler feature. At run time one must then specify some dedicated environment variables (such as OMP_NUM_THREADS and OMP_STACKSIZE) to specify the number of threads to use per process.&lt;br /&gt;
* In practice one should favor compiling and running with both MPI and OPenMP enabled.&lt;br /&gt;
* For much more detailed information about compiling and running in parallel, check out the [[Parallelism | the page dedicated to Parallelism]].&lt;br /&gt;
&lt;br /&gt;
== A word about the IOIPSL and XIOS libraries ==&lt;br /&gt;
* The IOIPSL (Input Output IPSL) library is a library that has developed by the IPSL community to handle input and outputs of (mostly terrestrial) climate models. For the Generic PCM only a small part of this library is actually used, related to reading and processing the input [[The_run.def_Input_File | run.def]] file. For more details check out the [[The IOIPSL Library]] page.&lt;br /&gt;
* The [https://forge.ipsl.jussieu.fr/ioserver/wiki XIOS] (Xml I/O Server) library is based on client-server principles where the server manages the outputs asynchronously from the client (the climate model) so that the bottleneck of writing data in a parallel environment is alleviated. All aspects of the outputs (name, units, file, post-processing operations, etc.) are then controlled by dedicated XML files which are read at run-time. Using XIOS is currently optional (and requires compiling the GCM with the XIOS library). More about the XIOS library, how to install and use it, etc. [[The XIOS Library| here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Playing with the output files ==&lt;br /&gt;
&lt;br /&gt;
=== Changing the output temporal resolution and time duration ===&lt;br /&gt;
&lt;br /&gt;
* To change the total time of a simulation, you need to open the 'For all the details see [[The_run.def_Input_File | run.def]]. file and change the variable 'nday':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nday = 1000 # this means the simulation will run for 1000 days ; and that the associated output files will also be computed for a total duration of 1000 days&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: in the example, they are not necessarily 1000 Earth days, because it depends on the definition of the day duration that has been taken in the start files.&lt;br /&gt;
&lt;br /&gt;
* To change the temporal resolution of the output files, you need to open the [[The_run.def_Input_File | run.def]] file and change the variable 'ecritphy':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ecritphy = 200 # this means the simulation will write variables in the output files every 200 time steps of the simulation.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The output temporal resolution of the output files then depends also on the number of timestep per day ('day_step' variable in [[The_run.def_Input_File | run.def]] file). In this example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nday = 1000&lt;br /&gt;
daystep = 800&lt;br /&gt;
ecritphy = 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output file will provide results every 0.25 days (800/200), and for a total duration of 1000 days (so 4000 time values in total).&lt;br /&gt;
&lt;br /&gt;
=== Changing the output variable ===&lt;br /&gt;
&lt;br /&gt;
To select the variable provided in the output file diagfi.nc, you simply need to add the list of variables needed in the [[The_diagfi.def_Input_File | diagfi.def]].&lt;br /&gt;
&lt;br /&gt;
Note for experts: Some technical variables need to be de-commented in 'physiq_mod.F90' file to be written in the output files.&lt;br /&gt;
&lt;br /&gt;
=== Spectral outputs ===&lt;br /&gt;
&lt;br /&gt;
It is possible to provide spectral outputs such as the OLR (Outgoing Longwave Radiation, i.e. the thermal emission of the planet at the top of the atmosphere), the OSR (Outgoing Stellar Radiation, i.e. the light reflected by the planet at the top of the atmosphere), or the GSR (Ground Stellar Radiation, i.e. the light emitted by the star that reaches the surface of the planet).&lt;br /&gt;
&lt;br /&gt;
For this, you need to activate the option 'specOLR' in the [[The_callphys.def_Input_File | callphys.def]] file, as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
specOLR    = .true.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The simulations will then create diagspec_VI.nc and diagspec_IR.nc files (along with the standard diagfi.nc file), which contain the spectra of OLR, OSR, GSR, etc.&lt;br /&gt;
&lt;br /&gt;
Note: The resolution of the spectra is defined by that of the correlated-k (opacity) files used for the simulation.&lt;br /&gt;
&lt;br /&gt;
=== Statistical outputs ===&lt;br /&gt;
&lt;br /&gt;
TBD (explain how to compute stats.nc files as well as what is inside)&lt;br /&gt;
&lt;br /&gt;
== How to Change Vertical and Horizontal Resolutions ==&lt;br /&gt;
&lt;br /&gt;
=== When you are using the regular longitude/latitude horizontal grid ===&lt;br /&gt;
To run at a different grid resolution than available initial conditions files, one needs to use the tools ''newstart.e'' and ''start2archive.e''&lt;br /&gt;
&lt;br /&gt;
For example, to create initial states at grid resolution 32×24×25 from NetCDF files start and startfi at grid resolution 64×48×32 :&lt;br /&gt;
&lt;br /&gt;
* Create file ''start_archive.nc'' with ''start2archive.e'' compiled at grid resolution 64×48×32 using old file ''z2sig.def'' used previously&lt;br /&gt;
* Create files ''restart.nc'' and ''restartfi.nc'' with ''newstart.e'' compiled at grid resolution 32×24×25, using a new file ''z2sig.def'' (more details below on the choice of the ''z2sig.def'').&lt;br /&gt;
* While executing ''newstart.e'', you need to choose the answer '0 - from a file start_archive' and then press enter to all other requests.&lt;br /&gt;
&lt;br /&gt;
==== What you need to ''know'' about the ''z2sig.def'' file ====&lt;br /&gt;
&lt;br /&gt;
For a model with Nlay layers, the [[The_z2sig.def_Input_File | z2sig.def]] file must contain at least Nlay+1 lines (the other not being read).&lt;br /&gt;
&lt;br /&gt;
The first line is a scale height ($$H$$). The following lines are the target pseudo-altitudes for the model from the bottom up ($$z_i$$).&lt;br /&gt;
The units do not matter as long as you use the same ones for both. &lt;br /&gt;
&lt;br /&gt;
The model will use these altitudes to compute a target pressure grid ($$p_i$$ ) as follows:&lt;br /&gt;
\begin{align}&lt;br /&gt;
  \label{def:pseudoalt}&lt;br /&gt;
  p_i &amp;amp;= p_s \exp(-z_i/H),&lt;br /&gt;
\end{align}&lt;br /&gt;
where $$p_s$$ is the surface pressure. &lt;br /&gt;
&lt;br /&gt;
As you can see, the scale height and pseudo altitudes enter the equation only through their ratio. So they do not have to to be the real scale-height and altitudes of the atmosphere you are simulating.&lt;br /&gt;
So you can use the same [[The_z2sig.def_Input_File | z2sig.def]].def for different planets. &lt;br /&gt;
&lt;br /&gt;
There is no hard rule to follow to determine the altitude/pressure levels you should use. As a rule of thumb, layers should be thiner near the surface to properly resolve the surface boundary layer. Then they should gradually increase in size over a couple scale heights and transition to constant thickness above that. Of course, some specific applications may require thinner layers in some specific parts of the atmospheres. &lt;br /&gt;
&lt;br /&gt;
A little trick for those who prefer to think in terms of (log)pressure: if you use $$H=  1/\ln 10 \approx 0.43429448$$, then $$z_i=x$$ corresponds to a pressure difference with the surface of exactly x pressure decades (i.e. at $$z=1$$, $$p=0.1p_s$$). This is particularly useful for giant-planet applications.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- [NOT RELEVANT??] If you want to create starts files with tracers for 50 layers using a start archive.nc obtained for 32 layers, do not forget to use the ini_q option in newstart in order to correctly initialize tracers value for layer 33 to layer 50. You just have to answer yes to the question on thermosphere initialization if you want to initialize the thermosphere part only (l=33 to l=50), and no if you want to initialize tracers for all layers (l=0 to l=50). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''WE SHOULD WRITE A PAGE (LINK HERE) ABOUT HYBRID VERTICAL COORDINATES'''&lt;br /&gt;
&lt;br /&gt;
=== When you are using the DYNAMICO icosahedral horizontal grid ===&lt;br /&gt;
&lt;br /&gt;
The horizontal resolution for the DYNAMICO dynamical core is managed from several setting files, online during the execution. &lt;br /&gt;
To this purpose, each part  of the GCM managing the in/output fields ('''ICOSAGCM''', '''ICOSA_LMDZ''', '''XIOS''') requires to know the input and output grids: &lt;br /&gt;
&lt;br /&gt;
'''1. ''context_lmdz_physics.xml'':'''&lt;br /&gt;
&lt;br /&gt;
You can find several grid setup already defined:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;lt;domain_definition&amp;gt;&lt;br /&gt;
    &amp;lt;domain id=&amp;quot;dom_96_95&amp;quot; ni_glo=&amp;quot;96&amp;quot; nj_glo=&amp;quot;95&amp;quot; type=&amp;quot;rectilinear&amp;quot;  &amp;gt;&lt;br /&gt;
      &amp;lt;generate_rectilinear_domain/&amp;gt;&lt;br /&gt;
      &amp;lt;interpolate_domain order=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;domain id=&amp;quot;dom_144_142&amp;quot; ni_glo=&amp;quot;144&amp;quot; nj_glo=&amp;quot;142&amp;quot; type=&amp;quot;rectilinear&amp;quot;  &amp;gt;&lt;br /&gt;
      &amp;lt;generate_rectilinear_domain/&amp;gt;&lt;br /&gt;
      &amp;lt;interpolate_domain order=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;domain id=&amp;quot;dom_512_360&amp;quot; ni_glo=&amp;quot;512&amp;quot; nj_glo=&amp;quot;360&amp;quot; type=&amp;quot;rectilinear&amp;quot;  &amp;gt;&lt;br /&gt;
      &amp;lt;generate_rectilinear_domain/&amp;gt;&lt;br /&gt;
      &amp;lt;interpolate_domain order=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;domain id=&amp;quot;dom_720_360&amp;quot; ni_glo=&amp;quot;720&amp;quot; nj_glo=&amp;quot;360&amp;quot; type=&amp;quot;rectilinear&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;generate_rectilinear_domain/&amp;gt;&lt;br /&gt;
      &amp;lt;interpolate_domain order=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;domain id=&amp;quot;dom_out&amp;quot; domain_ref=&amp;quot;dom_720_360&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/domain_definition&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, the output grid for the physics fields is defined by &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;domain id=&amp;quot;dom_out&amp;quot; domain_ref=&amp;quot;dom_720_360&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which is an half-degree horizontal resolution. To change this resolution, you have to change name of the '''domain_ref''' grid, for instance: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;domain id=&amp;quot;dom_out&amp;quot; domain_ref=&amp;quot;dom_96_95&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. ''run_icosa.def'': setting file to execute a simulation''' &lt;br /&gt;
&lt;br /&gt;
In this file, regarding of the horizontal resolution intended, you have to set the number of subdivision on the main triangle. &lt;br /&gt;
For reminder, each hexagonal mesh is divided in several main triangles and each main triangles are divided in suitable number of sub-triangles according the horizontal resolution&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
#nbp --&amp;gt; number of subdivision on a main triangle: integer (default=40)&lt;br /&gt;
#              nbp = sqrt((nbr_lat x nbr_lon)/10)&lt;br /&gt;
#              nbp:                 20   40   80  160&lt;br /&gt;
#              T-edge length (km): 500  250  120   60&lt;br /&gt;
#              Example: nbp(128x96) = 35 -&amp;gt; 40&lt;br /&gt;
#                       nbp(256x192)= 70 -&amp;gt; 80&lt;br /&gt;
#                       nbp(360x720)= 160 -&amp;gt; 160&lt;br /&gt;
nbp = 160&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have chosen the 96_95 output grid in ''context_lmdz_physics.xml'', you have to calculate $$nbp = \sqrt(96x95) / 10 = 10$$ and  in this case &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
nbp = 20&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the number of subdivision of the main triangle, you have to define the number subdivision over each direction. At this stage you need to be careful as the number of subdivisions on each direction:&lt;br /&gt;
* needs to be set according to the number of subdivisions on the main triangle '''nbp'''&lt;br /&gt;
* will determine the number of processors on which the GCM will be most effective&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
## sub splitting of main rhombus : integer (default=1)&lt;br /&gt;
#nsplit_i=1&lt;br /&gt;
#nsplit_j=1&lt;br /&gt;
#omp_level_size=1&lt;br /&gt;
###############################################################&lt;br /&gt;
## There must be less MPIxOpenMP processes than the 10 x nsplit_i x nsplit_j tiles&lt;br /&gt;
## typically for pure MPI runs, let nproc = 10 x nsplit_i x nsplit_j&lt;br /&gt;
## it is better to have nbp/nsplit_i  &amp;gt; 10 and nbp/nplit_j &amp;gt; 10&lt;br /&gt;
###############################################################&lt;br /&gt;
#### 40 noeuds de 24 processeurs = 960 procs&lt;br /&gt;
nsplit_i=12&lt;br /&gt;
nsplit_j=8&lt;br /&gt;
&lt;br /&gt;
#### 50 noeuds de 24 processeurs = 1200 procs&lt;br /&gt;
#nsplit_i=10&lt;br /&gt;
#nsplit_j=12&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With the same example as above, the 96_95 output grid requires:&lt;br /&gt;
$$nsplit_i &amp;lt; 2$$ and $$nsplit_j &amp;lt; 2$$&lt;br /&gt;
We advise you to select:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
## sub splitting of main rhombus : integer (default=1)&lt;br /&gt;
nsplit_i=1&lt;br /&gt;
nsplit_j=1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and using 10 processors.&lt;br /&gt;
&lt;br /&gt;
== How to Change the Topography (or remove it) ==&lt;br /&gt;
&lt;br /&gt;
The generic model can use in principle any type of surface topography, provided that the topographic data file is available in the right format, and put in the right place. The information content on the surface topography is contained in the ''startfi.nc'', and we do have developed tools (see below) to modify the ''startfi.nc'' to account for a new surface topography.&lt;br /&gt;
&lt;br /&gt;
To change the surface topography of a simulation, we recommend to follow the procedure detailed below:&lt;br /&gt;
&lt;br /&gt;
* Create file ''start_archive.nc'' with ''start2archive.e'' compiled at the same (horizontal and vertical) resolution than the ''start.nc'' and ''startfi.nc'' files.&lt;br /&gt;
* Create files ''restart.nc'' and ''restartfi.nc'' with ''newstart.e'' compiled again at the same (horizontal and vertical) resolution. &lt;br /&gt;
* While executing ''newstart.e'', you need to choose the answer '0 - from a file start_archive' and then press enter to all other requests.&lt;br /&gt;
* At some point, the script ''newstart.e'' asks you to chose the surface topography you want from the list of files available in your 'datagcm/surface_data/' directory. &lt;br /&gt;
&lt;br /&gt;
We do have a repository of for Venus, Earth and Mars through time available at https://web.lmd.jussieu.fr/~lmdz/planets/LMDZ.GENERIC/datagcm/surface_data/. You can download the surface topography files and place them in your 'datagcm/surface_data/' directory.&lt;br /&gt;
&lt;br /&gt;
We also offer a tutorial to design new topography maps here: https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Building_Surface_Topography_Files&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Special note: To remove the topography, you can simply add the following tag in callphys.def:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nosurf  = .true.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to Change the Stellar Spectrum ==&lt;br /&gt;
&lt;br /&gt;
To simulate the effect of the star's radiation on a given planetary atmosphere, it is necessary to accurately represent the stellar spectrum (spectral shape and total bolometric flux) at the top of this atmosphere. In the model, we have set up two different options to model the stellar spectra of any star.&lt;br /&gt;
&lt;br /&gt;
=== Black Body Stellar Spectra ===&lt;br /&gt;
&lt;br /&gt;
First, it is possible to simply use a black body. In this case, the stellar spectrum depends only on the effective temperature of the star which is provided to the model.&lt;br /&gt;
&lt;br /&gt;
For this, you need to activate the option 'stelbbody' in the [[The_callphys.def_Input_File | callphys.def]] file, as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stelbbody  = .true.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then add, also in the [[The_callphys.def_Input_File | callphys.def]] file, the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stelTbb   = 3500.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to specify the effective temperature of the host star. (in this example, we have chosen a M-star with an effective temperature of 3500K)&lt;br /&gt;
&lt;br /&gt;
=== Pre-Tabulated spectra ===&lt;br /&gt;
&lt;br /&gt;
Second, the model can read a file containing any pre-computed stellar spectrum. Traditionally, we have used synthetic spectra from the PHOENIX database, that we adapt to the Generic PCM by decreasing the spectral resolution (use 10000 points with a fixed spectral resolution of 0.001 micron) and by adapting the units (in W/m2/micron). This is the option that is generally preferred to better represent the effect of the star (whose real spectrum can strongly deviate from the black body approximation).&lt;br /&gt;
&lt;br /&gt;
For this, you need to make sure the option 'stelbbody' in the [[The_callphys.def_Input_File | callphys.def]] file is equal to .false. (it not specified, by default stelbbody is assumed to be .false.).&lt;br /&gt;
&lt;br /&gt;
Then you need to add in the [[The_callphys.def_Input_File | callphys.def]] file, the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
startype = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and change the value of startype depending on the star you want to model. (here 1 means we use the solar spectrum)&lt;br /&gt;
&lt;br /&gt;
To know which stellar spectra are available, you need to open the file LMDZ.GENERIC/libf/phystd/ave_stelspec.F90 and adapt the value of startype accordingly. You also need to make sure the spectra are available in your /datadir/stellar_spectra (or /datagcm/stellar_spectra) directory.&lt;br /&gt;
&lt;br /&gt;
To calculate the true stellar spectrum at the top of the atmosphere, the Generic PCM renormalizes the stellar spectrum by the bolometric flux at 1 Astronomical Unit (AU) provided by the user, which it then converts into the true stellar spectrum by using the star-planet distance. &lt;br /&gt;
&lt;br /&gt;
To specify the flux at 1 AU, you need to add in the [[The_callphys.def_Input_File | callphys.def]] file, the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fat1AU = 1366.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(here 1366W/m2 corresponds to the flux at 1AU for the Sun)&lt;br /&gt;
&lt;br /&gt;
1st NOTE: We will improve this second part (Martin and Mathilde) by the end of 2022.&lt;br /&gt;
&lt;br /&gt;
2nd NOTE: The Generic PCM eventually has the capability to run without any stellar flux. To do that, you can simply put Fat1AU = 0. (@LUCAS_TEINTURIER, could you check that?)&lt;br /&gt;
&lt;br /&gt;
== How to Change the Opacity Tables ==&lt;br /&gt;
&lt;br /&gt;
'''SECTION ET PAGES EN COURS D'ÉCRITURE'''&lt;br /&gt;
&lt;br /&gt;
The model uses opacity tables to compute heating rates throughout the atmosphere. These opacity tables are generated &amp;quot;offline&amp;quot; for a given set of pressures, temperatures, a given composition and a specific spectral decomposition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Getting opacity tables for your desired atmospheric composition ===&lt;br /&gt;
&lt;br /&gt;
* You should first check our common repository here (https://web.lmd.jussieu.fr/~lmdz/planets/LMDZ.GENERIC/datagcm/corrk_data/) to check whether your desired opacity table is not already included.&lt;br /&gt;
We have a dedicated page on how to build new opacity tables here: https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Building_Opacity_Tables ; N&lt;br /&gt;
&lt;br /&gt;
=== Implementing your opacity tables in the Generic PCM ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
, follow these steps:&lt;br /&gt;
&lt;br /&gt;
* copy your directory containing your opacity tables in .... It has to contain...  [[Building_Opacity_Tables | you need to build opacity tables]]&lt;br /&gt;
* change corrkdir = ... in [[The_callphys.def_Input_File | callphys.def]] with the name of that directory.&lt;br /&gt;
* change gases.def: it has to be consistent with Q.dat. A special case concerns...&lt;br /&gt;
* change -b option when compiling the model with makelmdz_fcm: it has to correspond to the number of bands (in the IR x in the visible) of the new opacity tables. For instance, compile with -b 38x26 if you used 38 bands in the infrared and 26 in the visible to generate the opacity tables.&lt;br /&gt;
&lt;br /&gt;
== How to Change the Aerosols Optical Properties ==&lt;br /&gt;
&lt;br /&gt;
Aerosol optical properties are represented using three distinct properties: the extinction coefficient (Q_ext), the single scattering albedo (omega) and the asymmetry factor (g). &lt;br /&gt;
&lt;br /&gt;
The Generic PCM can compute the radiative effects of any aerosol, provided that they optical properties (Q_ext, omega, g) are tabulated and provided in the right format.&lt;br /&gt;
&lt;br /&gt;
=== Getting optical properties for your aerosols ===&lt;br /&gt;
&lt;br /&gt;
* You should first check our common repository here (https://web.lmd.jussieu.fr/~lmdz/planets/LMDZ.GENERIC/datagcm/aerosol_properties/) to check whether your favorite aerosol is not already included. The optical properties of each aerosol is built using two distinct files: one in the 'visible' (which is used in the visible part of the radiative transfer, to compute the fate of stellar radiation) and one in the 'infrared' (which is used in the thermal infrared part of the radiative transfer, to compute the fate of thermal emission by the surface and atmosphere).&lt;br /&gt;
&lt;br /&gt;
For instance, if you want to include the radiative effect of CO2 ice clouds, then you just need the files: &lt;br /&gt;
&lt;br /&gt;
- optprop_co2ice_vis_n50.dat&lt;br /&gt;
&lt;br /&gt;
- optprop_co2ice_ir_n50.dat&lt;br /&gt;
&lt;br /&gt;
* Otherwise, you can create your own tables of optical properties, using existing databases. Check this page to learn how to do this: https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Building_Tables_Of_Aerosol_Optical_Properties&lt;br /&gt;
&lt;br /&gt;
=== Implementing your aerosols in the Generic PCM ===&lt;br /&gt;
&lt;br /&gt;
Before including the aerosol scheme you want to use, you need to indicate the number of aerosols in callphys.def with the option naerkind=#number_of_aerosols.&lt;br /&gt;
&lt;br /&gt;
There are two available aerosol schemes you can use to add a new aerosol in the Generic PCM:&lt;br /&gt;
&lt;br /&gt;
====The n-layer aerosol scheme====&lt;br /&gt;
&lt;br /&gt;
You can use the n-layer scheme (implemented by Jan Vatant d'Ollone) to easily prescribe an aerosol vertical distribution. The scheme is activated by adding ''aeronlay=.true''. in callphys.def.&lt;br /&gt;
&lt;br /&gt;
In this scheme, each layer can have different optical properties, particle sizes, etc. You can use different options (e.g. to fix the aerosol distribution between two atmospheric pressures) of the scheme with ''aeronlay_choice = 1'', 2, etc. &lt;br /&gt;
&lt;br /&gt;
Firstly, you have to precise the number of aerosols of this scheme:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nlayaero = 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, you can indicate the properties of your aerosol layer(s) one after the other on the same line. For 3 aerosol layers, we have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
aeronlay_tauref       = 1.0 0.05 0.03&lt;br /&gt;
aeronlay_lamref       = 0.8e-6 0.8e-6 0.8e-6&lt;br /&gt;
aeronlay_choice       = 2 2 2&lt;br /&gt;
aeronlay_pbot         = 2.0e5 1.6e5 0.2e5&lt;br /&gt;
aeronlay_ptop         = 0.10e5 2.0e5 1.&lt;br /&gt;
aeronlay_sclhght      = 0.1 2.0 0.1&lt;br /&gt;
aeronlay_size         = 0.8e-6 0.05e-6 2.5e-6&lt;br /&gt;
aeronlay_nueff        = 0.3 0.3 0.3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''aeronlay_tauref'' is the optical depth at the reference wavelength ''aeronlay_lamref'' (in metres). The ''aeronlay_choice'' allows you to choose the aerosol distribution between the bottom pressure (''aeronlay_pbot'') and the top pressure (''aeronlay_ptop'') of the aerosol layer (''aeronlay_choice=1'') or from a bottom pressure (''aeronlay_pbot'') with a fractional scale height (''aeronlay_sclhght'') with the ''aeronlay_choice=2''. For the corresponding layer, if you use the choice=2, the ''aeronlay_ptop'' is deactivated. In the same way, for the choice=1, the ''aeronlay_sclhght'' is deactivated for the corresponding layer. You can choose the mean radius of the particles with the ''aeronlay_size'' (in metres) and the corresponding effective standard deviation with ''aeronlay_nueff''.&lt;br /&gt;
&lt;br /&gt;
And finally, you will need to provide the name of your aerosols optical properties tables in callphys.def. For instance:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
optprop_aeronlay_vis = optprop_neptune_n2_vis_n30.dat optprop_neptune_n3_vis_n30.dat optprop_ch4_vis.dat&lt;br /&gt;
optprop_aeronlay_ir = optprop_neptune_n2_ir_n30.dat optprop_neptune_n3_ir_n30.dat optprop_ch4_ir.dat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(here, to use the optical properties of aerosols for Neptune)&lt;br /&gt;
&lt;br /&gt;
We encourage you to search for the keyword &amp;quot;aeronlay&amp;quot; in the source code to use more specific options of the scheme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====The generic condensable scheme====&lt;br /&gt;
&lt;br /&gt;
You can use the generic condensable scheme (implemented by Lucas Teinturier) to easily compute the radiative effect of cloud particles formed by condensation.&lt;br /&gt;
The scheme has to be used conjointly to the generic condensation scheme.&lt;br /&gt;
To activate it, one needs to add the '''aerogeneric=n'''( with n&amp;gt;0 the number of condensable species handled in the scheme) in callphys.def. On top of that, one needs to add in traceur.def, on the solid/ice traceur the option '''is_rgcs = 1'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the model itself, one needs then to manually add your aerosol by modifying the suaer_corrk.F90 routine (if your favorite aerosol is not there yet already) to specify the correct names for your condensing species. A more dynamical/flexible approach will be added at some point, so one won't need to directly modify the code.&lt;br /&gt;
&lt;br /&gt;
More information on how to use the scheme is provided here: https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/Radiative_Generic_Condensable_Specie&lt;br /&gt;
&lt;br /&gt;
Don’t forget to add your new aerosol species in traceur.def and adapt the -t option (with the correct number of radiatively active aerosols) at the compilation stage.&lt;br /&gt;
&lt;br /&gt;
== How to Manage Tracers ==&lt;br /&gt;
&lt;br /&gt;
Tracers are managed thanks to the [https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_traceur.def_Input_File ''traceur.def''] file.&lt;br /&gt;
&lt;br /&gt;
Specific treatment of some tracers (e.g., water vapor cycle) can be added directly in the model and an option added in [https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/The_callphys.def_Input_File ''callphys.def''] file.&lt;br /&gt;
&lt;br /&gt;
== Use the Z of LMDZ : Zoomed version ==&lt;br /&gt;
&lt;br /&gt;
Do we need this? Has anyone already made use of the zoom module?&lt;br /&gt;
&lt;br /&gt;
[[Category:Generic-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Quick_Install_and_Run_Mars_PEM&amp;diff=1556</id>
		<title>Quick Install and Run Mars PEM</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Quick_Install_and_Run_Mars_PEM&amp;diff=1556"/>
				<updated>2023-07-18T14:40:44Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: XIOS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to install the model ==&lt;br /&gt;
&lt;br /&gt;
To download the model you'll need to follow exactly the same step as dowloading the martian model. You can have a look at the section Quick Install and Run of Mars Model and follow the &amp;quot;Prerequisites: Tools and Libraries&amp;quot; steps.&lt;br /&gt;
&lt;br /&gt;
The PEM is dowlnload alongside with the LMDZ.COMMON repository.&lt;br /&gt;
The Fortran code of the PEM is in the following directory : trunk/LMDZ.COMMON/libf/evolution/&lt;br /&gt;
The main program is in the file pem.F90&lt;br /&gt;
&lt;br /&gt;
=== Compiling the test case  ===&lt;br /&gt;
To compile the PEM at the sought resolution, run (in LMDZ.COMMON):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./makelmdz_fcm -arch local -p mars -d 64x48x54 -j 8 pem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Here, we assume that you have generated the '''arch-local.*''' files as per what is suggested in the previous section.&lt;br /&gt;
The options for ''makelmdz_fcm'' used here imply:&lt;br /&gt;
* '''-p mars''': the PEM will use the &amp;quot;mars&amp;quot; physics package&lt;br /&gt;
* '''-d 64x48x54''': the PEM grid will be 64x48 in longitude x latitude, with 54 vertical levels.&lt;br /&gt;
&lt;br /&gt;
Upon successful compilation, the executable '''pem_64x48x29_phymars_seq.e''' should be generated in the '''bin''' subdirectory.&lt;br /&gt;
&lt;br /&gt;
To run the PEM you'll also need a valid PCM, you can compile it using a similar command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./makelmdz_fcm -arch local -p mars -parallel mpi_omp -io XIOS -d 64x48x54 -j 8 gcm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the PEM you'll also need a tool (reshape_xios_output) that will we explained later, you can compile it using a similar command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./makelmdz_fcm -arch local -p mars -d 64x48x54 -j 8 reshape_XIOS_output&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Inputs files  ===&lt;br /&gt;
&lt;br /&gt;
Then all the compilation stuff is done. You ll want to create a folder to run a simulation and copy all the executable there. In addition to these executables, you'll need a few other files:&lt;br /&gt;
&lt;br /&gt;
Files for the PCM run:&lt;br /&gt;
* '''start.nc''' and '''startfi.nc''', if you do a chained simulation you probably have to rename them start0.nc and startfi0.nc, the number correspond to the martian year. The dimensions should correspond to the dimension in which you compiled the executables, they can be found in the Q&amp;quot;uick Install and Run&amp;quot; of the Mars Model.&lt;br /&gt;
* '''datadir''' directory, this can be dowload by following the steps described in &amp;quot;Quick Install and Run&amp;quot; of the Mars Model.&lt;br /&gt;
* '''callphys.def''' : you can take one in LMDZ.MARS/deftank/&lt;br /&gt;
* '''traceur.def''' : you can take one in LMDZ.MARS/deftank/&lt;br /&gt;
* '''z2sig.def''' : you can take one in LMDZ.MARS/deftank/&lt;br /&gt;
* '''diagfi.def''': Optional; not necessary since we do the outputs using XIOS&lt;br /&gt;
* '''run.def''', for chained simulation rename it run.def.ref, also available in LMDZ.MARS/deftank/ . If you do not want diagfi.nc output, you can change the variable ecritphy to 6699 for example.&lt;br /&gt;
* xml files: '''iodef.xml''', '''context_lmdz_physics.xml''', '''field_def_physics_mars.xml''', '''file_def_physics_mars.xml'''. For this last file you have to change to true the enable option of the FILE 3 (diurnal averages outputs for PEM) the other can be enable to false if you do not want other outputs.&lt;br /&gt;
* '''run0''' : the file used to run chained simulation, available in LMDZ.MARS/deftank/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files for the PEM run:&lt;br /&gt;
* '''ob_ex_lsp.asc''' : Available in LMDZ.MARS/deftank/pem describing the changes in orbital parameters in marsian year&lt;br /&gt;
* '''run_PEM.def''' : The file to describe the PEM physical parametrizations you want (remember to include it in the run.def.ref or run.def_PEM)&lt;br /&gt;
* '''start_evol.nc''' : The last restart.nc of the GCM simulations&lt;br /&gt;
* '''startfi_evol.nc''' : The last restartfi.nc of the GCM simulations&lt;br /&gt;
* '''data_GCM_Y1.nc''' and '''data_GCM_Y2.nc''' : The outputs of the last 2 typical year of the GCM, they have been reshape by he utility to be in the dynamical grid&lt;br /&gt;
* '''diagfi.def''' (Optional) : you can output PEM specific variables with diagfi.def, to do so we usually set a specific output time with a specific run.def_PEM and run.def_GCM.&lt;br /&gt;
* '''startfi_PEM.nc''' (Optional) : The start file specific of the PEM, if it is not present the PEM will create a default one.&lt;br /&gt;
* '''run_pem1 : The main bash file to run chained PEM simulations, you can specify the numer of PEM iterations (num_PEM_now=,num_PEM_end=), the number of GCM run in between each PEM run (nb_GCM_call). You have to adapat it to the machine you're runnning on.&lt;br /&gt;
&lt;br /&gt;
=== Ouputs files  ===&lt;br /&gt;
* '''restart_evol.nc''' : The last start.nc of the GCM simulations modified by the PEM&lt;br /&gt;
* '''restartfi_evol.nc''' : The last restartfi.nc of the GCM simulations modified by the PEM&lt;br /&gt;
* '''restartfi_PEM.nc''' : The restart file specific of the PEM&lt;br /&gt;
* '''info_run_PEM.txt''' : A file containing the time the PEM has extrapolate and the reason it stopped&lt;br /&gt;
* '''diagfi.def''' (Optional) : Information about the run&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Planetary-Evolution-Model]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	<entry>
		<id>http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Adastra&amp;diff=1539</id>
		<title>Using Adastra</title>
		<link rel="alternate" type="text/html" href="http://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php?title=Using_Adastra&amp;diff=1539"/>
				<updated>2023-06-28T09:04:24Z</updated>
		
		<summary type="html">&lt;p&gt;Milcareck: /* Getting access to the cluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a summary of examples and tools designed to help you get used with the Adastra environment.&lt;br /&gt;
&lt;br /&gt;
== Getting access to the cluster ==&lt;br /&gt;
For people on the &amp;quot;Atmosphères Planétaires&amp;quot; GENCI project who need to open an account on Adastra, here is the procedure:&lt;br /&gt;
&lt;br /&gt;
# Go to https://www.edari.fr/utilisateur and log in via Janus or create an account if you don't have a Janus login. If this doesn't work, you can create a new eDARI account. (Make sure your profile is fully up to date including nationality)&lt;br /&gt;
# Beware! If you are on 2 lab (LMD and LATMOS for example), you must register with your email address corresponding to your Janus account.&lt;br /&gt;
# Click on &amp;quot;se rattacher à un dossier ayant obtenu des resources&amp;quot; or &amp;quot;Attach yourself to an application file that has obtained resources&amp;quot;&lt;br /&gt;
# &amp;quot;Atmosphères Planétaires&amp;quot; project number to provide:  A0140110391&lt;br /&gt;
# Ehouarn then receives an email to allow you to join the project. Once he has validated it, you receive a confirmation mail.&lt;br /&gt;
# Once approved, you have to request for an account, click on &amp;quot;CINES: créer une demande d'ouverture de compte&amp;quot;&lt;br /&gt;
# fill in the forms: name, contract end date, CINES, your lab information (LMD is the default)&lt;br /&gt;
# Access IP address  134.157.47.46 , FQDN (Fully Qualified Domain Name): ssh-out.lmd.jussieu.fr &lt;br /&gt;
# Add a second adress : 134.157.176.129 , FQDN: ciclad.ipsl.upmc.fr&lt;br /&gt;
# click on option to have access to CCFR (only important if you have access to other GENCI machines)&lt;br /&gt;
# Security officer is Julien Lenseigne for LMD (his informations are all pre-filled, except phone: +33169335172)&lt;br /&gt;
# YOU MUST THEN VALIDATE THE REQUEST: click on the &amp;quot;Valider la saisie des informations&amp;quot;&lt;br /&gt;
# You then receive an automatic mail, but it's only to tell you to go to the next step: You must now download the pre-filled form from e-dari: find &amp;quot;télécharger la demande&amp;quot; and download the pdf. Sign it, and upload it on e-dari &amp;quot;déposer la demande de création de compte&amp;quot;.&lt;br /&gt;
# Wait for your application to be preprocessed by the system...&lt;br /&gt;
&lt;br /&gt;
== A couple of pointers ==&lt;br /&gt;
&lt;br /&gt;
* Connecting to Adastra: For those who had an account on Occigen, we have retained group and login credentials from then; To connect to Adastra you need first go through the LMD gateway (hakim) or the IPSL (Ciclad/Spirit) gateway and then&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh your_cines_login@adastra.cines.fr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
And then you will probably want to switch project using the myproject command, e.g. to switch to &amp;quot;lmd1167&amp;quot; (the old &amp;quot;Atmosphères Planétaires&amp;quot; GENCI project)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
myproject -a lmd1167&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and to switch to &amp;quot;cin0391&amp;quot; (the 2023-2024 &amp;quot;Atmosphères Planétaires&amp;quot; GENCI project)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
myproject -a cin0391&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
WARNING: when you switch projects, you also switch HOME directory etc.&lt;br /&gt;
&lt;br /&gt;
To get all the info about dedicated environment variables (e.g. paths to SCRATCH, STORE, etc.) you can use&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
myproject -c&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Changing the password of your CINES account&lt;br /&gt;
When your password is close to expiring, CINES asks you to change it on this website : https://rosetta.cines.fr&lt;br /&gt;
&lt;br /&gt;
Please note that you can access this website only if you are on a machine that you declared as a gateway for Adastra. At LMD, we have generally declared hakim.lmd.jussieu.fr (aka ssh-out) and ciclad.ipsl.jussieu.fr as gateway machines. Hakim doesn't have any browser installed, but you can launch &amp;lt;code&amp;gt;firefox&amp;lt;/code&amp;gt; on Ciclad and connect to the rosetta website.&lt;br /&gt;
If that doesn't work, you will have to mail svp@cines.fr&lt;br /&gt;
&lt;br /&gt;
* Link to the Adastra technical documentation: https://dci.dci-gitlab.cines.fr/webextranet/&lt;br /&gt;
&lt;br /&gt;
== Submitting jobs ==&lt;br /&gt;
It's done using SLURM; you need to write up a job script and submit it using '''sbatch'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sbatch myjob&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You must specify in the header of the job which project ressources you are using (&amp;quot;cin0391&amp;quot; in our case):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#SBATCH --account=cin0391&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example of an MPI job to launch a simulation ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --job-name=job_mpi&lt;br /&gt;
#SBATCH --account=cin0391&lt;br /&gt;
### GENOA nodes accommodate 96 cores &lt;br /&gt;
#SBATCH --constraint=GENOA&lt;br /&gt;
### Number of Nodes to use&lt;br /&gt;
#SBATCH --nodes=1&lt;br /&gt;
### Number of MPI tasks per node&lt;br /&gt;
#SBATCH --ntasks-per-node=48 &lt;br /&gt;
### Number of OpenMP threads per MPI task&lt;br /&gt;
#SBATCH --cpus-per-task=1&lt;br /&gt;
#SBATCH --threads-per-core=1&lt;br /&gt;
###SBATCH --exclusive&lt;br /&gt;
#SBATCH --output=job_mpi_%A.out&lt;br /&gt;
#SBATCH --time=00:45:00 &lt;br /&gt;
&lt;br /&gt;
#source env modules:&lt;br /&gt;
source ../trunk/LMDZ.COMMON/arch.env &lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
&lt;br /&gt;
srun --cpu-bind=threads --label gcm_96x96x78_phyvenus_para.e &amp;gt; gcm.out 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example of a mixed MPI/OpenMP job to launch a simulation ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --job-name=job_mpi_omp&lt;br /&gt;
#SBATCH --account=cin0391&lt;br /&gt;
### GENOA nodes accommodate 96 cores &lt;br /&gt;
#SBATCH --constraint=GENOA&lt;br /&gt;
### Number of Nodes to use&lt;br /&gt;
#SBATCH --nodes=1&lt;br /&gt;
### Number of MPI tasks per node&lt;br /&gt;
#SBATCH --ntasks-per-node=24 &lt;br /&gt;
### Number of OpenMP threads per MPI task&lt;br /&gt;
#SBATCH --cpus-per-task=4&lt;br /&gt;
#SBATCH --threads-per-core=1&lt;br /&gt;
###SBATCH --exclusive&lt;br /&gt;
#SBATCH --output=job_mpi_omp_%A.out&lt;br /&gt;
#SBATCH --time=00:30:00 &lt;br /&gt;
&lt;br /&gt;
#source env modules:&lt;br /&gt;
source ../trunk/LMDZ.COMMON/arch.env &lt;br /&gt;
ulimit -s unlimited&lt;br /&gt;
&lt;br /&gt;
### OMP_NUM_THREADS value must match &amp;quot;#SBATCH --cpus-per-task&amp;quot;&lt;br /&gt;
export OMP_NUM_THREADS=4&lt;br /&gt;
export OMP_STACKSIZE=400M&lt;br /&gt;
&lt;br /&gt;
srun --cpu-bind=threads --label gcm_64x48x54_phymars_para.e &amp;gt; gcm.out 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Milcareck</name></author>	</entry>

	</feed>