NEMESISPY

NEMESISPY: A Python package for simulating and retrieving exoplanetary spectra - Published in JOSS (2024)

https://github.com/jingxuan97/nemesispy

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: scholar.google
  • Committers with academic emails
    2 of 4 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

exoplanet-analysis exoplanet-atmospheres exoplanets radiative-transfer

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 6 months ago · JSON representation

Repository

Tools for modelling exoplanet spectra

Basic Info
Statistics
  • Stars: 10
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 3
Topics
exoplanet-analysis exoplanet-atmospheres exoplanets radiative-transfer
Created over 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.rst

See https://jingxuan97.github.io/nemesispy/ for documentation.

============
Introudction
============

**NEMESISPY** contains routines for calculating and fitting
exoplanet emission spectra at arbitrary orbital phases,
which can help us constrain the thermal structure and chemical
abundance of exoplanet atmospheres. It is also capable
of fitting emission spectra at multiple orbital phases
(phase curves) at the same time. This package
comes ready with some spectral data and General Circulation
Model (GCM) data so you can start simulating spectra immediately.
There are a few demonstration routines in
the `nemesispy/examples` folder; in particular, `demo_fit_eclipse.py`
contains an interactive plot routine which allows you
to fit a hot Jupiter eclipse spectrum by hand by varying
its chemical abundance and temperature profile. This package
can be easily integrated with a Bayesian sampler such as
`MultiNest` for a full spectral retrieval.

The radiative transfer calculations are done with the
correlated-k approximation, and are accelerated with the
`Numba` just-in-time compiler to match the speed of
compiled languages such as Fortran. The radiative transfer
routines are based on the well-tested NEMESIS (https://github.com/nemesiscode)
library developed by Patrick Irwin (University of Oxford) and collaborators.

This package has the following features:

* Written fully in Python: highly portable and customisable compared
  to packages written in compiled languages and
  can be easily installed on computer clusters.
* Fast calculation speed: the most time consuming routines are optimised with
  just-in-time compilation, which compiles Python code to machine
  code at run time.
* Radiative transfer routines are benchmarked against
  the extensively used NEMESIS (https://github.com/nemesiscode) library.
* Contains interactive plotting routines that allow you
  to visualise the impact of gas abundance and thermal
  structure on the emission spectra.
* Contains routines to simulate spectra from General
  Circulation Models (GCMs).
* Contains unit tests to check if
  the code is working correctly after modifications.

============
Installation
============

In order to install the package but still make it editable, change directory to
the software folder and type the following in the terminal:

.. code-block:: console

    $ pip install --editable .

=====
Tests
=====

To run all unit tests, change directory to the software folder and type the
following in the terminal:

.. code-block:: console

    $ python -m unittest discover test/


=======
Contact
=======

The project is currently maintained by `Jingxuan Yang `_.
If you would like to contribute to the project, please contact the maintainer.

Contributors: Jingxuan Yang, Juan Alday, Agnibha Banerjee.

Owner

  • Login: Jingxuan97
  • Kind: user

JOSS Publication

NEMESISPY: A Python package for simulating and retrieving exoplanetary spectra
Published
September 08, 2024
Volume 9, Issue 101, Page 6874
Authors
Jingxuan Yang ORCID
Department of Physics, University of Oxford, Parks Road, Oxford OX1 3PU, UK
Juan Alday ORCID
School of Physical Sciences, The Open University, Walton Hall, Milton Keynes MK7 6AA, UK
Patrick Irwin ORCID
Department of Physics, University of Oxford, Parks Road, Oxford OX1 3PU, UK
Editor
Josh Borrow ORCID
Tags
astronomy exoplanets spectroscopy radiative transfer atmospheric retrieval

GitHub Events

Total
  • Watch event: 2
  • Push event: 1
Last Year
  • Watch event: 2
  • Push event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 239
  • Total Committers: 4
  • Avg Commits per committer: 59.75
  • Development Distribution Score (DDS): 0.017
Past Year
  • Commits: 7
  • Committers: 3
  • Avg Commits per committer: 2.333
  • Development Distribution Score (DDS): 0.286
Top Committers
Name Email Commits
Jingxuan Yang j****g@h****k 235
Jingxuan97 6****7 2
Dan F-M f****y@g****m 1
yangj y****j@a****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 6
  • Total pull requests: 1
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 2 hours
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 3.17
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 hours
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ben-cassese (4)
  • shubhagrawal30 (2)
Pull Request Authors
  • dfm (2)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

setup.py pypi
  • matplotlib *
  • numpy *
  • scipy *