O2-O2 CIA

We have optical property objects for the O2-O2 collision induced absorption. The data have been downloaded from the MPI-Mainz UV/VIS Spectral Atlas and we have built optical corresponding optical properties within the sasktran core components. Our philosophy has been to present the cross-section data as measured with no modification on our part. We thank the the people at the Max-Planck Institute for Chemistry, Mainz, Germany for their excellent online database,

Keller-Rudek, H., Moortgat, G. K., Sander, R., and Sörensen, R.: The MPI-Mainz UV/VIS spectral atlas of gaseous molecules of atmospheric interest. Earth Syst. Sci. Data, 5, 365–373, 2013, DOI: 10.5194/essd-5-365-2013

O2_O2_HITRAN2016

The O2-O2 collision induced absorption cross-sections distributed in Hitran 2016 as described by Karman et al. 2019. It is composed of 8 spectral regions measured by several researchers that extend from 335nm to over 8 microns. Some of the regions are temperature dependent and others are not:

import numpy as np
import matplotlib.pyplot as plt
import sasktranif as skif

optprop = skif.ISKOpticalProperty('O2_O2_HITRAN2016')
msis = skif.ISKClimatology('MSIS90')
mjd = 52393.3792987115
location = [0.0, 0.0, 25000.0, mjd]
optprop.SetAtmosphericState(msis)
optprop.SetLocation(location)
wavelen = np.arange(330.0, 1000.0, 0.1)
ok, abs, ext, sca = optprop.CalculateCrossSections(1.0E7 / wavelen)

plt.figure(1)
plt.plot(wavelen, np.log10(abs), '.-')
plt.xlabel('Wavelength nm')
plt.ylabel('log10( Cross-section ) ')
plt.title('Example of O2-O2 CIA Hitran 2016')

wavelen = np.arange(1000.0, 10000.0, 0.1)
ok, abs, ext, sca = optprop.CalculateCrossSections(1.0E7 / wavelen)

plt.figure(2)
plt.plot( np.log10(wavelen/1000), np.log10(abs), '.-')
plt.xlabel('Log10(Wavelength) microns')
plt.ylabel('log10( Cross-section ) ')
plt.title('Example of O2-O2 CIA Hitran 2016')

plt.show()
../_images/o2_o2_cia_uvis_hitran2016.png ../_images/o2_o2_cia_ir_hitran2016.png

Tijs Karman, Iouli E. Gordon, Ad van der Avoird, Yury I. Baranov, Christian Boulet, Brian J. Drouin, Gerrit C. Groenenboom, Magnus Gustafsson, Jean-Michel Hartmann, Robert L. Kurucz, Laurence S. Rothman, Kang Sun, Keeyoon Sung, Ryan Thalman, Ha Tran, Edward H. Wishnow, Robin Wordsworth, Andrey A. Vigasin, Rainer Volkamer, Wim J. van der Zande. Update of the HITRAN collision-induced absorption section, Icarus, 328, 160-175, (2019), doi.org/10.1016/j.icarus.2019.02.034.

O2_O2_THALMAN2013

The collision induced absorption cross-sections measured by Thalman et al. 2013. The cross-sections were measured at room temperature with a Fourier Transform spectrometer in the 15000 to 29800 cm−1 region (335-667 nm) at a maximal optical path difference of 0.45 cm (resolution 2 cm-1). Note that an appropriate climatology is the square of the O2 number density. This is provided by climatologies that support SKCLIMATOLOGY_O2_O2_CM6. For example, see MSIS90 and ECMWF:

import sasktranif as skif
import numpy as np
import matplotlib.pyplot as plt

optprop = skif.ISKOpticalProperty('O2_O2_THALMAN2013')
msis    = skif.ISKClimatology('MSIS90')
mjd = 52393.3792987115;
location = [0.0, 0.0, 25000.0, mjd]
optprop.SetAtmosphericState( msis)
optprop.SetLocation(location)
wavelen = np.arange( 330.0, 610.0, 0.1 )
ok, abs, ext,sca = optprop.CalculateCrossSections( 1.0E7/wavelen )

plt.plot( wavelen, np.log10(abs), '.-')
plt.xlabel('Wavelength nm')
plt.ylabel('log10( Cross-section ) ')
plt.title('Example of O2 CIA Thalman 2013')
plt.show()
../_images/o2_cia_thalman2013.png

Thalman, Ryan and Volkamer, Rainer, Temperature dependent absorption cross-sections of O2–O2 collision pairs between 340 and 630 nm and at atmospherically relevant pressure”. Phys. Chem. Chem. Phys., 15, 15371-15381, (2013). doi.org/10.1039/C3CP50968K

O2_O2_FALLY2000

The collision induced absorption cross-sections measured by Fally et al. 2000. The cross-sections were measured at room temperature with a Fourier Transform spectrometer in the 15000 to 29800 cm−1 region (335-667 nm) at a maximal optical path difference of 0.45 cm (resolution 2 cm-1). Note that an appropriate climatology is the square of the O2 number density. This is provided by climatologies that support SKCLIMATOLOGY_O2_O2_CM6. For example, see MSIS90 and ECMWF:

import sasktranif as skif
import numpy as np
import matplotlib.pyplot as plt

optprop = skif.ISKOpticalProperty('O2_O2_FALLY2000')
msis    = skif.ISKClimatology('MSIS90')
mjd = 52393.3792987115;
location = [0.0, 0.0, 25000.0, mjd]
optprop.SetAtmosphericState( msis)
optprop.SetLocation(location)
wavelen = np.arange( 240.0, 300.0, 0.1 )
ok, abs, ext,sca = optprop.CalculateCrossSections( 1.0E7/wavelen )

plt.plot( wavelen, np.log10(abs), '.-')
plt.xlabel('Wavelength nm')
plt.ylabel('log10( Cross-section ) ')
plt.title('Example of O2 CIA Fally 2000')
plt.show()
../_images/o2_cia_fally2000l.png

S. Fally, A. C. Vandaele, M. Carleer, C. Hermans, A. Jenouvrier, M.-F. Mérienne, B. Coquart and R. Colin, Fourier Transform Spectroscopy of the 02 Herzberg bands. III. Absorption cross-sections of the collision-induced bands and of the Herzberg continuum, J. Mol. Spectrosc., 204, 10-20 (2000), doi.org/10.1006/jmsp.2000.8204