HAPI is a tool providing a possibility to work with spectroscopic data in HITRAN format. It gives fast and easy access to HITRANonline data.

In addition, HAPI provides flexible functions to calculate absorption cross-sections from line-by-line spectral data.

HAPI means HITRAN Application Programming Interface.

Current beta version of HAPI is a library written in Python and requires Numpy to be installed.

Copyright: the HITRAN team (http://hitran.org)

 

Introduction

The HITRAN Application Programming Interface (HAPI) is a set of routines in Python which aims to provide remote access to functionality and data given by the HITRANonline. At the present time, the API can download, filter and process line-by-line transition data.

The main purpose of this API is to extend the functionality of the main site, in particular, in the calculation of spectra using several types of line shape, including the flexible HT (Hartmann-Tran) profile[1] and optionally accounting for instrumental functions. Each feature of the API is represented by a Python function taking a set of arguments which describe the parameters defining the task.

The current version is in the beta stage. All comments and suggestions are welcome: please email rkochanov@cfa.harvard.edu.

Features

Some of the prominent current features of HAPI are:

  1. Downloading line-by-line data from the HITRANonline site to a local machine;
  2. Filtering and processing the data in SQL-like fashion;
  3. Conventional Python structures (lists, tuples, and dictionaries) for representing spectroscopic data;
  4. Compatibility with a large set of third-party Python libraries to work with the data;
  5. Python implementation of the HT profile [1,2,3,4] which can be used in spectral simulations. This line shape can also be reduced to a number of conventional line profiles such as Gaussian (Doppler), Lorentzian, Voigt, Rautian, Speed-dependent Voigt and speed-dependent Rautian;
  6. Python implementation of the total internal partition sums algorithm, TIPS-2011 [5] which is used in the calculation of the temperature dependence of HITRAN[6] transition intensities;
  7. High-resolution spectral simulation accounting for pressure, temperature and optical path length. The following spectral functions can be calculated:
    1. absorption coefficient
    2. absorption spectrum
    3. transmittance spectrum
    4. radiance spectrum
  8. Spectral calculation using a number of instrumental functions to simulate experimental spectra;
  9. Possibility to extend the user's functionality by adding custom line shapes, partition sums and apparatus functions.

History

  • April 2015: Beta version released

References

[1] N. H. Ngo, D. Lisak, H. Tran, J.-M. Hartmann, "An isolated line-shape model to go beyond the Voigt profile in spectroscopic databases and radiative transfer codes", J. Quant. Spectrosc. Radiat. Transfer 129, 89-100 (2013). [Link to article]

[2] H. Tran, N. H. Ngo, J.-M. Hartmann, "Efficient computation of some speed-dependent isolated line profiles", J. Quant. Spectrosc. Radiat. Transfer 129, 199-203 (2013) [Link to article]

[3] H. Tran, N. H. Ngo, J.-M. Hartmann, Erratum to "Efficient computation of some speed-dependent isolated line profiles", J. Quant. Spectrosc. Radiat. Transfer 134, 104 (2014) [Link to article]

[4] J. Tennyson, P. F. Bernath, A. Campargue et al., "Recommended isolated-line profile for representing high-resolution spectroscopic transitions (IUPAC Technical Report)", Pure Appl. Chem. 86, 1931-1943 (2014) [Link to article]

[5] A. L. Laraia, R. R. Gamache, J. Lamouroux, I. E. Gordon, L. S. Rothman, "Total internal partition sums to support planetary remote sensing", Icarus 215, 391-400 (2011). [Link to article]

[6] L. S. Rothman, et al., "The HITRAN 2012 Molecular Spectroscopic Database", J. Quant. Spectrosc. Radiat. Transfer 130, 4-50 (2013). [link to article] [ADS]