Skip to main content

archNEMESIS logo

DOI Documentation GitHub archNEMESIS NEMESIS Discord


ArchNEMESIS is an open-source Python package developed for the analysis of remote sensing spectroscopic observations of planetary atmospheres. It is based on the widely used NEMESIS (Non-linear Optimal Estimator for MultivariatE Spectral analySIS) radiative transfer and retrieval tool, which has been extensively used for the investigation of a wide variety of planetary environments.

ArchNEMESIS is currently maintained by Juan Alday and Joseph Penn. The NEMESIS algorithm, code archNEMESIS is based on, was originally developed by Patrick Irwin.

If interested users are missing key points in the documentation, would appreciate seeing jupyter notebooks for certain purposes, or want to report issues, please do so by contacting us or joining our Discord channel.

Documentation

For full documentation, visit archnemesis.readthedocs.io.

Installation

There are three main ways to install archNEMESIS, depending on your use case:

Installing from GitHub (developer mode)

The latest version of code has to be downloaded from Github under a GNU General Public License v3. To do so, type in the command window:

git clone https://github.com/juanaldayparejo/archnemesis-dist.git

Before installing archNEMESIS, we recommend users to create and load a new Python virtual environment for a clean install:

python -m venv name_of_virtual_environment/
source name_of_virtual_environment/bin/activate

Then move into the package directory:

cd archnemesis-dist

Finally, we need to install the library. Given that archNEMESIS is a highly dynamic package were new additions are frequently introduced, we recommend installing the package but keeping it editable by typing:

pip install --editable .

This will install archNEMESIS, but with the ability to update any changes made to the code (e.g., when introducing new model parameterisations or methods). In addition, it will install all the required libraries archNEMESIS depends on.

Installing from PyPI

The simplest way to install archNEMESIS is via PyPI.
We recommend doing this inside a clean Python virtual environment:

python -m venv archnemesis-env
source archnemesis-env/bin/activate
pip install archnemesis

This will install the latest stable release of the package along with its dependencies. It is the recommended method if you just want to use the library without editing the source code.

Contributing to archNEMESIS

If you want to contribute to the development of archNEMESIS, please follow our Contribution Guidelines.

Citing archNEMESIS

If archNEMESIS has been significant in your research, we suggest citing the following articles:

  • archNEMESIS reference publication:

    • Alday, J., Penn, J., Irwin, P., Mason, J., Yang, J. and Dobinson, J. (2025) archNEMESIS: An Open-Source Python Package for Analysis of Planetary Atmospheric Spectra, Journal of Open Research Software, 13(1), p. 10. doi: 10.5334/jors.554.
  • NEMESIS reference publication:

    • Irwin, P. G. J., Teanby, N. A., De Kok, R., Fletcher, L. N., Howett, C. J. A., Tsang, C. C. C., ... & Parrish, P. D. (2008). The NEMESIS planetary atmosphere radiative transfer and retrieval tool. Journal of Quantitative Spectroscopy and Radiative Transfer, 109(6), 1136-1150. doi: 10.1016/j.jqsrt.2007.11.006.

Support

If you have questions, suggestions, or encounter issues, you can:

Please note: This is a research software package maintained as time allows. While we aim to respond in a timely manner (i.e., within a week), we cannot guarantee a fixed response time.

Revision history

  • 1.1.0 (25 June, 2026)

    • Option for custom planet parameters.
    • Calculations for selection averaging points for disc-averaged measurements.
    • Implementation of special forward model for primary transit observations of exoplanets.
    • Filter signal integration for modelling radiometer-like instruments.
    • Implementation of first version of Emissions_0 class for modelling atmospheric emissions.
    • Optimised code to allow for fewer classes to be defined.
    • Major update in line data calculations: created archNEMESIS format for storing spectroscopic line data.
    • Major update in line data calculations: optimised absorption cross section calculations with numba.
    • Major update in line data calculations: implemented functionality to calculation a pseudo-continuum from weak lines.
    • Major update in line data calculations: implemented functionality to run calculation of cross sections at runtime (ILBL=1).
  • 1.0.6 (16 December, 2025)

    • Fixing bugs to reconcile results with NEMESIS.
    • Implemented LineData class with functionality to extract data from HITRAN using HAPI.
    • Implemented first version of cross section calculations.
    • Combined radiative transfer calculations with and without gradients in same function (CIRSradg is now CIRSrad(gradients=True)).
    • Added forward modelling error capabilities.
    • First implementation of nemesisdisc, forward model type for gradient calculations (no scattering) and multiple averaging points.
    • Added functionality to read information from previous retrievals (LIN parameter).
    • Implemented AOTF spectrometer modelling capabilities in nemesisSO.
    • Implemented integration of signal across filters in nemesis (for modelling spectra from radiometers).
  • 1.0.5 (8 July, 2025)

    • New release of archNEMESIS for publication at Journal of Open Research Software.
    • Fixed minor bugs throughout the code.
    • Added unit test for calculation of optical properties using Mie Theory.
    • Updated setup file to avoid dependency conflicts.
  • 1.0.4 (2 July, 2025)

    • New release of archNEMESIS for release on PyPI and Docker Hub.
  • 1.0.3 (19 June, 2025)

    • New release of archNEMESIS for first release on PyPI.
  • 1.0.2 (19 June, 2025)

    • Fixed minor bugs throughout the code.
    • Included new model parameterisations.
    • Included new automatic tests (e.g., forward models for solar occultation and limb geometry).
    • Flags now identified with ENUMS rather than magic numbers.
    • Model parameterisations now defined as classes.
  • 1.0.1 (2 April, 2025)

    • Fixed minor bugs throughout the code.
    • Implementation of Oren-Nayar surface reflectance model.
    • Implementation of different surface reflectance models in multiple scattering calculations.
    • Included new automatic tests.
    • Included new model parameterisations.
  • 1.0.0 (27 January, 2025)

    • First release for publication at Journal of Open Research Software.

Dependencies

Metadata

Release files for archnemesis 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for archnemesis 1.1.0
File Size Uploaded
archnemesis-1.1.0.tar.gz 451.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for archnemesis 1.1.0
File Interpreter ABI Platform
archnemesis-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 920.2 kB

Release files / archnemesis-1.1.0.tar.gz

Download URL archnemesis-1.1.0.tar.gz
Size 451.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7f0de31e8198231d5829202443eb288ebfe8b90d09f7d684c64565eb7628a265
BLAKE2b-256 checksum
How to use checksums
5f6914e19cc5b7fbb72f7d4b5ef1593ed236ce0124321794894f8f8df65973ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release files / archnemesis-1.1.0-py3-none-any.whl

Download URL archnemesis-1.1.0-py3-none-any.whl
Size 469.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d87368ef78c78520659203058e1416b7cdb18e80ecfe498cb6783e8701ee44a1
BLAKE2b-256 checksum
How to use checksums
4b3dae56a2526e1567449c2448b09d78befea7989981947a72d95390ee830853
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page