The HITRAN spectral database gives access to the spectral absorption lines of various gaseous species. These lines are given as $S$ values in units of $cm^{-1}/(molecule·cm^{-2})$ (or $cm.molecule$).

Given a simple Beer-Lambert law of absorption:

$I = I_0 \cdot exp(-l \cdot \varepsilon_{gas} \cdot \mathcal{C})$


  • $I_0$ and $I$ are the incident and emerging light intensities on a given gaseous sample
  • $l$ is the light pathlength through the sample (in $m$)
  • $\varepsilon_{gas}$ is the molar extinction coefficient of the gas (in $m^{-1}/(mol.L^{-1})$)
  • $\mathcal{C}$ is the gas concentration (in $mol.L^{-1}$)

How can we convert this $S$ value into an $\varepsilon_{gas}$ value (or similar) usable in the Beer-Lambert law?

I apologize for my definition of the Beer-Lambert law may be more appropriate to species in solution. If one prefers, they may write it with $\mathcal{N}$ (in $molecule/L$) instead of $\mathcal{C}$ or play around with pressure instead of concentration. My question remains essentially the same : converting from spectral intensity into absorbance.

I had a look into the HITRAN documentation and especially:

1 - The FAQ which-on the topic of spectral line unit-leads to this article. Appendix A1 details units and appendix A.2.4. From what I understood (the following may be completely wrong), I could get the optical depth (absorbance) as:

$\tau = u \cdot S \cdot f$


  • (I guess) $u = \mathcal{N} \cdot l$ with $\mathcal{N}$ in $molecule/m^3$, $l$ in $m$
  • $S$ the line intensity as given by the HITRAN database
  • $f$ which I have no idea how to find / with which value to compute it.

In other words, the Beer-Lambert law would write: $I = I_0 \cdot exp(-l \cdot \mathcal{N} \cdot S \cdot f)$. Is it correct?

2 - The definitions and units page which reproduces the content of the article.

I also found some resources here.

Related topics: here.

  • 1
    $\begingroup$ What is the unit of $S$ ? $\endgroup$
    – Maurice
    Sep 16 '21 at 14:01
  • $\begingroup$ @Maurice 𝑐𝑚−1/(𝑚𝑜𝑙𝑒𝑐𝑢𝑙𝑒·𝑐𝑚−2), I wrote it at the top or may find it under several of the HITRAN pages. $\endgroup$
    – mranvick
    Sep 16 '21 at 14:10
  • 1
    $\begingroup$ I followed the HITRAN link and, under “cross section data definitions”, it gives equation 1. The tau value is the transmittance as a function of wavenumber. So you basically have it ready to go. $\endgroup$
    – Ed V
    Sep 16 '21 at 14:12
  • $\begingroup$ @EdV, thank you for the answer, I did find the equation that you mention. However, cross-section data are only available for complex molecules here: hitran.org/xsc Simpler ones such as CO2, N2 or O2 are unfortunately not available in this format... That being said, it comforts my initial guess that tau = uk = uSf with u=NL, they call it rho instead of N... $\endgroup$
    – mranvick
    Sep 16 '21 at 14:22

TL;DR: HITRAN offers a Python API called Hapi which gives the possibility to fetch spectral data from the database directly, and convert it into absorbance spectra within tens of line of code. It is useful and quite user-friendly.

Disclaimer: I am no expert in infrared spectroscopy or molecular energetic transition. The following answer is mainly an attempt at explaining what I understood from online reads and discussions with other scientists. I tried to justify my allegations with appropriate citations but do not hesitate to correct me in the comment if I misinterpreted / misreported something.

Line Broadening Phenomenon

The absorption of electromagnetic radiations is caused by the presence of resonance modes in the structures of chemical species (atoms or molecules)[1]. In theory, if we take a single atom or molecule at very low pressure and temperature, these resonance modes appears at very specific frequencies (or wavelengths) causing very sharp lines in their absorption spectra.

However, when the molecules or atoms are in the presence of other species, collisions can occur between an excited molecule and its surrounding, interfering with the absorption process and broadening the shape of the lines[2]. Conceptually, it is as if the original spectral lines—which can be seen as Dirac impulsions—were convolved by a line-broadening profile, as depicted below.

Line Broadening illustrated
Convolution of two spectral lines by a broadening function of profile f(x). Image source.

This broadening profile can be modelled using three different functions, depending on the broadening effects taken into account[3, 4]:

  • Lorentz profile, used to characterize pressure broadening i.e. the interactions with other molecules. The higher the total pressure, the more Lorentzian broadening.
  • Doppler, or Gaussian profile, defined in the absence of collision effects. It accounts merely for the effect of temperature (the molecules are moving towards and away from the observer, hence the Doppler shift.
  • Voigt profile, which combines the two above.

Link With the HITRAN Values

For a given spectral line in the HITRAN database, which is characterised by:

  • its amplitude $S$, given in $cm^{-1}/(molecule\cdot cm^{-2})$
  • its wavenumber $\nu$, given in $cm^{-1}$

The contribution to the overall absorbance of the gas of a single spectral line, itself corresponding to a resonance mode $t$ (of resonnance wavenumber $\nu_t$), observed at a given wavenumber $\nu$, can be computed as $\tau$ (dimensionless optical depth of the sample)[5]:

$\tau = u \cdot S \cdot f$


  • $u = \mathcal{N} \cdot l$ with $\mathcal{N}$ in $molecule/m^3$, $l$ in $m$, the density of absorbing molecules per unit path length ($molecule/m^2$)
  • $S$ the line intensity as given by the HITRAN database
  • $f = f(\nu,\nu_t,T,p)$, the normalized line shape function

$f$ can be computed as:

\begin{equation} f(\nu,\nu_t,T,p) = \frac{1}{\pi}\cdot \frac{\gamma(p,T)}{\gamma(p,T)^2 + [\nu - (\nu_t + \delta(p_{ref})\cdot p]^2} \end{equation}


  • $p$ is the pressure (atm)
  • $T$ the temperature (K)
  • $\gamma$ the pressure broadened line half-width ($cm^{-1}$)
  • $\delta$ the pressure shift ($cm^{-1}.atm^{-1}$)

With appropriate calculation formulae for $\gamma$ and $\delta$ also given in [5] (equations A12-A16). Here we can see that to obtain the full absorption spectra of a given gas, we must add the contribution of the absorbance of all the spectral lines broadened by the above presented function, modelled by f. In other words, the optical depth at a given wavelength can be expressed as:

\begin{equation} \tau(\nu) = u \cdot \sum_{t} S_t \cdot f(\nu,\nu_t,T,p) \end{equation}

Although such computations could be done by hand, HITRAN luckily developed a Python package called Hapi, which makes such calculations automatically (see below for an example with $CO_2$).

CO2 absorption spectrum $CO_2$ absorption spectrum using the Hapi interface. In blue are the raw transition lines, while in red is the broadened absorption spectum using Lorentzian coefficients computed for a dilution in air.

WARNING: be sure tu use the Hapi functions appropriately. In particular, the broadening of the spectral lines changes with temperature, total pressure, but also with the nature of the dilution medium at hand. In other words, 5% $CO_2$ in air will not have the same absorption spectra as 5% $CO_2$ in argon or hydrogen, for instance.


  1. Donald A. Burns, Emil W. Ciurczak, Handbook of Near-Infrared Analysis, 2007. ISBN: 9780849373930.
  2. Wikipedia, Spectral Line: Line Broadening and Shift, Archive 20/09/2021
  3. Irina N. Sokolik, Basics of gaseous absorption/emission and line shapes, EAS 8803, Study notes for Environmental Science, Link
  4. Wikipedia, Spectral Line Shape, Archive 20/09/2021

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.