Code Monkey home page Code Monkey logo

exoctk's Introduction

ExoCTK Logo

https://travis-ci.org/ExoCTK/exoctk.svg?branch=master https://readthedocs.org/projects/exoctk/badge/?version=latest https://img.shields.io/badge/powered%20by-STScI-blue.svg?colorA=707170&colorB=3e8ddd&style=flat

Introduction

ExoCTK is an open-source, modular data analysis package focused primarily on atmospheric characterization of exoplanets. The subpackages included are:

  • Contamination and Visibility Calculator
  • Integrations and Groups Calculator
  • Transit Light-Curve Fitter
  • Limb Darkening Calculator
  • Phase Constraint Calculator
  • Atmospheric Forward Modeling

For more information on each package visit our documentation at readthedocs.

Most packages are also available through interactive tools at our web portal.

Installation

The following are instructions on how to install the exoctk package for both users and contributors. The exoctk repository provides a conda environment containing all of the dependencies needed to install and execute the exoctk software.

Download Anaconda or Miniconda

You must first have a working installation of anaconda or miniconda for Python 3. If you do not yet have this on your system, you can visit the following links for download and installation instructions:

Obtain the exoctk Package

To obtain the exoctk package with the necessary environment files, clone the repository directly from GitHub:

git clone https://github.com/ExoCTK/exoctk.git
cd exoctk

Environment Installation

You can install the ExoCTK conda environment via the env/environment-<PYTHON_VERSION>.yml files (relative to the parent directory of where the repository was installed). Note that there are separate environment files for each version of python that exoctk supports. First, one should ensure that their version of conda is up to date:

conda update conda

Next, one should activate the base environment:

conda activate base

Next, one can create the exoctk conda environment via the appropriate environment-<PYTHON_VERSION>.yml file. One can find these files under the env directory and should run the following command in that directory:

conda env create -f environment-<PYTHON_VERSION>.yml

where <PYTHON_VERSION> is the version of python you are using (e.g. environment-3.8.yml)

Lastly, one can activate the newly-created environment with:

conda activate exoctk-<PYTHON_VERSION>

where again, <PYTHON_VERSION> is the version of python you are using (e.g. exoctk-3.8)

Package Installation

In order to install the exoctk package within the newly-created conda environment, run the exoctk setup script:

pip install -e .

Obtain the exoctk Data

The exoctk data package will be available through the MAST portal soon! Until then...

The suggested way to obtain the data is to execute the exoctk.utils.download_exoctk_data() function. This function will download a series of compressed files from Box, extract the files, and organize them into a exoctk_data/ directory. Note that this can only be done once the exoctk package has been fully installed (see instructions above).

Lastly, export an environment variable for EXOCTK_DATA.

  • For Mac OS/Linux, add the line
export EXOCTK_DATA='/path/to/your/unzipped/directory/exoctk_data/'

to your .bashrc or .bash_profile.

  • For Windows, add an environment variable using System Utility.

Users may also download individual components of the exoctk data package directly through the Box website. Please note that materials must ultimately be placed within a exoctk_data/ directory, and the EXOCTK_DATA environment variable be set in order for the exoctk package to work properly.

Missing Dependencies?

If you find that the exoctk conda is missing a required dependency, please feel free to submit a GitHub Issue detailing the problem.

Citation

If you use ExoCTK for work/research presented in a publication (whether directly, or as a dependency to another package), we recommend and encourage the following acknowledgment:

This research made use of the open source Python package exoctk, the Exoplanet Characterization Toolkit (Bourque et al, 2021).

where (Bourque et al, 2021) is a citation of the Zenodo record, e.g.:

@software{matthew_bourque_2021_4556063,
  author       = {Matthew Bourque and
                  Néstor Espinoza and
                  Joseph Filippazzo and
                  Mees Fix and
                  Teagan King and
                  Catherine Martlin and
                  Jennifer Medina and
                  Natasha Batalha and
                  Michael Fox and
                  Jules Fowler and
                  Jonathan Fraine and
                  Matthew Hill and
                  Nikole Lewis and
                  Kevin Stevenson and
                  Jeff Valenti and
                  Hannah Wakeford},
  title        = {The Exoplanet Characterization Toolkit (ExoCTK)},
  month        = feb,
  year         = 2021,
  publisher    = {Zenodo},
  version      = {1.0.0},
  doi          = {10.5281/zenodo.4556063},
  url          = {https://doi.org/10.5281/zenodo.4556063}
}

Want to stay up-to-date with our releases and updates?

Subscribe to our newsletter by sending an email with a blank body and subject to [email protected] from the email you want to enroll. You should then receive a confirmation email with instructions on how to confirm your subscription, please be sure to do so within 48 hours.

exoctk's People

Contributors

hover2pi avatar bourque avatar pyup-bot avatar jaymedina avatar catherine-martlin avatar astrofrog avatar nespinoza avatar mfixstsci avatar mattjhill avatar bsipocz avatar eteq avatar mdboom avatar embray avatar larrybradley avatar zacharyburnett avatar pllim avatar exowanderer avatar falkben avatar cdeil avatar mwcraig avatar jeffvalenti avatar rafia37 avatar kbarbary avatar keflavich avatar wkerzendorf avatar theresadower avatar adrn avatar crawfordsm avatar zblz avatar dependabot[bot] avatar

Stargazers

Manjunath Bestha avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.