Skip to main content

Library to handle radiative opacities from various sources for atmospheric applications

Project description

Exo_k

Stable Version Python Versions Poetry

Author: Jeremy Leconte (CNRS/LAB/Univ. Bordeaux)

Exo_k is a Python 3 based library to handle radiative opacities from various sources for atmospheric applications. It now comes with a full-fledged 1D atmospheric evolution model.

It enables you to:

  • Interpolate efficiently and easily in correlated-k and cross section tables.

  • Convert easily correlated-k and cross section tables from one format to another (hdf5, LMDZ GCM, Exomol, Nemesis, PetitCode, TauREx, ExoREM, ARCIS, etc.).

  • Adapt precomputed correlated-k tables to your needs by changing:

    • the spectral and quadrature (g) grids,
    • the pressure/temperature grid.
  • Create tables for a mix of gases using tables for individual gases.

  • Create your own tables from high-resolution spectra (for example from K-spectrum, Helios-K, etc.).

  • Use your data in an integrated radiative transfer framework to simulate planetary atmospheres.

  • Compute the physical state of planetary atmospheres in radiative-convective equilibrium.

For a complete online documentation, checkout: http://perso.astrophy.u-bordeaux.fr/~jleconte/exo_k-doc/index.html

In this repository, you'll find a tutorial jupyter notebook that will show you how to do all that with concrete examples that you can run on your own machine. Many important concepts and options are presented along the way.

Enjoy!

J. Leconte

Acknowledgements

If you use this library in your research, please acknowledge it by citing Leconte (2021):

  • Spectral binning of precomputed correlated-k coefficients. Astronomy and Astrophysics 645. Leconte, J. 2021. doi:10.1051/0004-6361/202039040

This project has received funding from the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation programme (grant agreement n° 679030/WHIPLASH).

The framework for this documentation has been developped by Aurelien Falco using Sphinx. The Framework for automatic testing has been developped by Alexandre Mechineau.

last release (see past releases below)

v1.2.2 (September 2023): Improvement have been made on the development side. We added a conda environment allowing to easily contribute to Exo_k. Dependencies have been updated.

Installation

Exo_k can be installed using pip (without cloning the repository; dependencies should be downloaded automatically):

pip install exo_k

Usage

To learn how to use exo_k, you can follow the tutorial jupyter notebook.

Have fun!

Links

past releases

v1.2.1 (June 2023): Fixes some minor bugs in the atmospheric evolution module. Addition of a contribution function in the atmospheric radiative transfer module. See the atmosphere tutorial for an example.

v1.2.0 (July 2022): The model for atmospheric evolution is finally stable and documented. The atm module has also seen several note worthy additions: surface albedo, oceans. We also added a framework for an automatic test suite. In particular, we can test several python versions. Additional tests should rapidly come along. Rosseland and Planck mean opacities can now be computed from radiative tables.

v1.1.0 (August 2021): New scheme for the computation of atmospheric emission/transmission to ensure an improved numerical accuracy. The variable names to instantiate atm objects have changed accordingly (see tutorial).

v1.0.2 (June 2021): Adds a few missing dependencies. Enables computation of thermal emission spectra with scattering through the two-stream method (full documentation pending). Enables creating Xtables for a mix of gases (CIA can be added as well). Solves some issues with the 2018 Hitran CIA format.

v1.0.1 (Jan 2021): Solves a binary/string conversion issue introduced by version 3 of h5py. Enables linear interpolation in pressure (default is log). Enables creation of empty tables to be filled later and extension of the spectral range of existing tables.

v1.0.0 (Dec 2020): Finally our first official version. Creation of a 'examples' notebook with fully worked out use cases for the Exo_k.

v0.0.5 (Oct 2020): Ensures compatibility with latest Exomol correlated-k and cross-section tables.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exo_k-1.3.0.tar.gz (165.5 kB view details)

Uploaded Source

Built Distribution

exo_k-1.3.0-py3-none-any.whl (190.2 kB view details)

Uploaded Python 3

File details

Details for the file exo_k-1.3.0.tar.gz.

File metadata

  • Download URL: exo_k-1.3.0.tar.gz
  • Upload date:
  • Size: 165.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.1 CPython/3.9.13

File hashes

Hashes for exo_k-1.3.0.tar.gz
Algorithm Hash digest
SHA256 a3e77e4021c25f82815bee66755a55cf9bd3be8bb7ac89bfaefce8b758225510
MD5 3ecc4a09c231e750cdcf343f55b7e7f3
BLAKE2b-256 faf03779fd0ffe2e7d40208dfd6f15b7bf3be06f6df2d68a11f9d7e2d6e045ef

See more details on using hashes here.

File details

Details for the file exo_k-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: exo_k-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 190.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.1 CPython/3.9.13

File hashes

Hashes for exo_k-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 80c9bc0ac842ef3625a4afbb545d1ca101dc773bf454f223a1da002fcc13d4c7
MD5 feaf89ee397aed02a9c26fe76d50dfd8
BLAKE2b-256 1315df5b113b955733b81430c57832c51d5aa5f326ab82220cb32a14ea00f4b9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page