Difference between revisions of "Rayleigh scattering"

From Planets
Jump to: navigation, search
 
(51 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
== About Rayleigh scattering ==
 +
 +
The following article gives a clear overview on Rayleigh scattering cross sections :
 +
 +
''Bodhaine'' (1999) On Rayleigh Optical Depth Calculations : http://web.gps.caltech.edu/~vijay/Papers/Rayleigh_Scattering/Bodhaine-etal-99.pdf
 +
 +
Have a look especially on equations (2) and (9).
 +
 
== About Rayleigh scattering in LMDZ Generic ==
 
== About Rayleigh scattering in LMDZ Generic ==
  
=== Formalism ===
+
== References ==
  
==== References ====
+
=== LMDZ ===
  
''Hansen'' (1974) : https://ui.adsabs.harvard.edu/link_gateway/1974SSRv...16..527H/ADS_PDF
+
LMDZ uses formalism from :
  
Rayleigh routine in exo_k : http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol
+
''Hansen'' (1974) Light scattering in planetary atmospheres : https://ui.adsabs.harvard.edu/link_gateway/1974SSRv...16..527H/ADS_PDF
 +
 
 +
Have a look on equations (2.29) to (2.32).
 +
 
 +
=== exo_k ===
 +
 
 +
Rayleigh routine in exo_k is avalaible here :  
 +
 
 +
http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol
  
 
Exo_k uses formalism from :
 
Exo_k uses formalism from :
''Caldas'' (2019) : https://hal.archives-ouvertes.fr/hal-02005332/document
 
  
==== Relations between LMDZ & Exo_k formalisms ====
+
''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
 +
 
 +
Have a look on equation (12) & appendix D
 +
 
 +
== Formalism ==
 +
 
 +
We consider a layer.
 +
 
 +
dP is the difference of pressure between the two levels that define the layer.
 +
 
 +
dN is the number of  molecules per m2 & dm is the mass per m2 of the layer
 +
 
 +
dTau is the optical depth for a given wavelength (or wavenumber)
 +
 
 +
<math>m_{molecule}</math> is the mass of one molecule of the considered gas
 +
 
 +
g is the gravity
  
In LMDZ, in optcv.F90 we have :
+
sigma_mol is the Rayleigh scattering cross section of the molecule
  
TRAY(K,NW)  = TAURAY(NW) * DPR(K)
+
=== LMDZ formalism ===
  
In exo_k, in rayleigh.py we have :
+
dTau = (tauconsti * tauvari) * dP
  
TRAY <math> \displaystyle = \sigma_{exok} dN </math> with <math> \displaystyle \sigma_{exok} </math> the cross section and dN in molecules/m2
+
tauvari = tauvari(wavelength in microns)
  
which gives : TRAY <math> \displaystyle = \sigma_{exok} \frac{dm}{m_{molecule}} </math> with dm in kg/m2
+
dP here is in mBar
  
and then : TRAY <math> \displaystyle = \frac{\sigma_{exok}}{g * m_{molecule}} dP</math>
+
=== exo_k formalism ===
  
so
+
dTau = sigma_mol * dN
  
<math> \displaystyle \text{TAURAY} = \frac{\sigma_{exok}}{g * m_{molecule}} </math>
+
sigma_mol = sigma_mol(wavenumber in cm-1)
  
 +
which gives : dTau = sigma_mol <math> \displaystyle \frac{dm}{m_{molecule}} </math>
  
To be noticed :  
+
and then : dTau <math> \displaystyle = \frac{\text{sigma_mol}}{g * m_{molecule}} dP</math>
  
TAURAY(NW) is calculated in calc_rayleigh.F90.
+
dP here is in Pascal
  
It is in fact TAUVAR which calculated, and then averaged by the black body function for each channel to give TAURAY :  
+
=== Relations between LMDZ & Exo_k formalisms ===
 +
 
 +
LMDZ & exo_k formalism are linked as following :
 +
 
 +
<math> \displaystyle \text{(tauconsti * tauvari)} = \frac{\text{sigma_mol}}{g * m_{molecule}} * \text{scalep}</math>
 +
 
 +
Be careful with units !!! (cm-1 for wavenumbers in exo_k, microns for wavelengths in LMDZ)
 +
 
 +
Last but not least : not to forget the ''scalep'' factor in LMDZ !
 +
scalep = 100, because P is in mBar in optcv.F90 .
 +
So we move from Pascal to mBar
 +
 
 +
=== To be noticed ===
 +
 
 +
TAURAY(NW) is calculated in calc_rayleigh.F90 for a given channel NW.
 +
 
 +
TAUVAR is first calculated, and then averaged by the black body function for each channel to give TAURAY :  
  
 
<math> \text{TAURAY(NW)} = \frac{\int_{\lambda' \in \text{channel}} \text{TAUVAR} (\lambda') B_{\lambda} \, \mathrm{d}\lambda'}{\int B_{\lambda} \, \mathrm{d}\lambda'} </math>
 
<math> \text{TAURAY(NW)} = \frac{\int_{\lambda' \in \text{channel}} \text{TAUVAR} (\lambda') B_{\lambda} \, \mathrm{d}\lambda'}{\int B_{\lambda} \, \mathrm{d}\lambda'} </math>
 +
 +
TAUVAR is cut into two parts : TAUCONSTI et TAUVARI (previously mentionned) with TAUVAR = TAUCONSTI * TAUVARI
 +
 +
The <math> \lambda </math> dependence is in the TAUVARI
 +
 +
[[Category:Generic-Model]]

Latest revision as of 11:17, 9 March 2023

About Rayleigh scattering

The following article gives a clear overview on Rayleigh scattering cross sections :

Bodhaine (1999) On Rayleigh Optical Depth Calculations : http://web.gps.caltech.edu/~vijay/Papers/Rayleigh_Scattering/Bodhaine-etal-99.pdf

Have a look especially on equations (2) and (9).

About Rayleigh scattering in LMDZ Generic

References

LMDZ

LMDZ uses formalism from :

Hansen (1974) Light scattering in planetary atmospheres : https://ui.adsabs.harvard.edu/link_gateway/1974SSRv...16..527H/ADS_PDF

Have a look on equations (2.29) to (2.32).

exo_k

Rayleigh routine in exo_k is avalaible here :

http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/_modules/exo_k/rayleigh.html#Rayleigh.sigma_mol

Exo_k uses formalism from :

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

Have a look on equation (12) & appendix D

Formalism

We consider a layer.

dP is the difference of pressure between the two levels that define the layer.

dN is the number of molecules per m2 & dm is the mass per m2 of the layer

dTau is the optical depth for a given wavelength (or wavenumber)

\(m_{molecule}\) is the mass of one molecule of the considered gas

g is the gravity

sigma_mol is the Rayleigh scattering cross section of the molecule

LMDZ formalism

dTau = (tauconsti * tauvari) * dP

tauvari = tauvari(wavelength in microns)

dP here is in mBar

exo_k formalism

dTau = sigma_mol * dN

sigma_mol = sigma_mol(wavenumber in cm-1)

which gives : dTau = sigma_mol \( \displaystyle \frac{dm}{m_{molecule}} \)

and then : dTau \( \displaystyle = \frac{\text{sigma_mol}}{g * m_{molecule}} dP\)

dP here is in Pascal

Relations between LMDZ & Exo_k formalisms

LMDZ & exo_k formalism are linked as following \[ \displaystyle \text{(tauconsti * tauvari)} = \frac{\text{sigma_mol}}{g * m_{molecule}} * \text{scalep}\]

Be careful with units !!! (cm-1 for wavenumbers in exo_k, microns for wavelengths in LMDZ)

Last but not least : not to forget the scalep factor in LMDZ ! scalep = 100, because P is in mBar in optcv.F90 . So we move from Pascal to mBar

To be noticed

TAURAY(NW) is calculated in calc_rayleigh.F90 for a given channel NW.

TAUVAR is first calculated, and then averaged by the black body function for each channel to give TAURAY \[ \text{TAURAY(NW)} = \frac{\int_{\lambda' \in \text{channel}} \text{TAUVAR} (\lambda') B_{\lambda} \, \mathrm{d}\lambda'}{\int B_{\lambda} \, \mathrm{d}\lambda'} \]

TAUVAR is cut into two parts : TAUCONSTI et TAUVARI (previously mentionned) with TAUVAR = TAUCONSTI * TAUVARI

The \( \lambda \) dependence is in the TAUVARI