Line Sampling

Note

If you are simply interested in using cross sections rather than computing them, you can download cross sections ready to use from this and this this Zenodo repository.

Alternatively, Pyrat Bay can also directly use petitRADTRANS cross-section files [Molliere2019].

Pyrat Bay enable users to generate their own line-sampled cross-section files out of line-by-line data. In this process, users can make all the customization that they deem necessary (e.g., line-wing cutoffs, sampling rates, wavelength ranges, temperature ranges, pressure ranges).

There are two steps needed to compute cross sections:

  1. Convert line lists from their original format (e.g., HITRAN or ExoMol) into transition-line information files (TLI).

  2. Conver TLI files into cross-section tables (saved as Numpy .npz files).

Available Databases

Pyrat Bay can process line-lists from the two main sources of line-transition data of interest for exoplanet atmospheres: HITRAN [Gordon2022] and Exomol [Tennyson2016]. Additionally, Pyrat Bay is also compatible with repack [Cubillos2017b], a package extracting only the strong line transitions from large HITEMP, ExoMol, or AMES databases (reducing from billions to millions of lines).

The tables below show the main species of interest to model exoplanet atmospheres from each database (non-exhaustive, there are move species available in each database).

Available linelists from HITRAN

Source

Species (label)

References

HITEMP

H2O (2010)

[Rothman2010]

CO2 (2024)

[Hargreaves2025]

CO (2019)

[Li2015]

CH4 (2020)

[Hargreaves2020]

N2O (2019)

[Hargreaves2019]

NO (2019)

[Hargreaves2019]

HITRAN

H2O, NH3, and many others

[Gordon2022]

Available linelists from ExoMol

Source

Species (label)

References

ExoMol

H2O (pokazatel)

[Polyansky2018]

CO2 (ucl4000)

[Yurchenko2020]

CH4 (mm)

[Yurchenko2024a]

NH3 (coyute)

[Coles2019] [Yurchenko2024b]

TiO (toto)

[McKemmish2019]

VO (hyvo)

[Bowesman2024]

HCN (harris & larner)

[Harris2008] [Barber2014]

SO2 (exoames)

[Underwood2016]

H2S (ayt2)

[Azzam2016] [Chubb2018]

C2H2 (acety)

[Chubb2020]

and many others

Available linelists from repack

Source

Species (label)

References

repack

C2H2 (exomol, acety)

[Cubillos2017b] [Chubb2020]

CH4 (exomol, mm)

[Cubillos2017b] [Yurchenko2024a]

CO2 (ames, ai3000k)

[Cubillos2017b] [Huang2023]

H2O (exomol, pokazatel)

[Cubillos2017b] [Polyansky2018]

H2S (exomol, ayt2)

[Cubillos2017b] [Azzam2016] [Chubb2018]

HCN (exomol, harris larner)

[Cubillos2017b] [Harris2008] [Barber2014]

KOH (exomol, oyt4)

[Cubillos2017b] [Owens2021]

NH3 (exomol, coyute)

[Cubillos2017b] [Coles2019] [Yurchenko2024b]

OCS (exomol, oyt8)

[Cubillos2017b] [Owens2024]

PH3 (exomol, salty)

[Cubillos2017b] [Sousa-Silva2014]

SiH4 (exomol, oy2t)

[Cubillos2017b] [Owens2017]

SO2 (exomol, exoames)

[Cubillos2017b] [Underwood2016]

TiO (exomol, toto)

[Cubillos2017b] [McKemmish2019]

VO (exomol, hyvo)

[Cubillos2017b] [Bowesman2024]

Line-sampling Tutorials

The following links show step-by-step tutorials to compute cross-section tables (i.e., line sampling) from each database:

Computing cross sections often require to sample millions-to-billions of line transitions. Thus, it can both become a computer-intensive calculation and require/produce large files. Pyrat Bay was designed with this two-step approach to optimize these calculations.

Below there are a few useful notes to keep in mind when computing cross sections.

Partition functions

While line-list databases do not change often with time, thus, TLI files containing the line transitions can typically be computed only once, and being used for many projects. For this reason, it is recommended to compute TLI files with the widest possible available wavelength range.

TLI calculations also requires the input of partition functions, which depend on the temperature. Ideally, you also want to compute TLI files with the widest temperature range. The tutorials above show how to obtain partition functions from each database. In addition, this tutorial below shows more in general how to handle partition functions (e.g., how to compute PFs at high temperatures):

Cross sections

In contrast, cross sections might need to be more frequently re-computed for specific project to adjust, for example, to the sampling resolution or grid boundaries (in T, p, or \(\lambda\)), or need to separate between different isotopes of a same species. Use the tutorials above as a template, and modifies them to adjust to the scientific requirements/machine capabilities that each project requires.