GithubHelp home page GithubHelp logo

juliengirard / jwst_coronagraph_visibility Goto Github PK

View Code? Open in Web Editor NEW

This project forked from spacetelescope/jwst_coronagraph_visibility

1.0 1.0 0.0 11.01 MB

Visualize approximate pointing constraints for JWST coronagraphs.

Home Page: https://github.com/spacetelescope/jwst_visibility/blob/master/docs/index.rst

License: BSD 3-Clause "New" or "Revised" License

Python 99.83% Makefile 0.17%

jwst_coronagraph_visibility's Introduction

jwst_coronagraph_visibility: James Webb Space Telescope Coronagraph Visibility Tool

Current Release License Python DOI STScI SIAF version: PRDOPSSOC-027

The James Webb Space Telescope Coronagraph Visibility Tool (CVT) is a GUI-based target visibility tool for assessing target visibilities and available position angles versus time relative to MIRI[1] and NIRCam[2] coronagraphic masks. The CVT is available as a standalone gui-based python tool (AstroConda package) or as a macOS app bundle.

The allowed pointing of JWST leads to target visibility that depends on ecliptic latitude, and the range of roll angles allowed depends on solar elongation. The allowed position angles for a target can thus be a complicated function of time. As a result, it can be difficult to: (1) understand the possible orientations of a given target on the detector, especially in relation to any instrumental obscurations; (2) determine the ideal roll angle offsets for multi-roll observations; and (3) determine a group of targets that are simultaneously visible. The CVT was created to address these issues and assist in planning MIRI and NIRCam programs prior to entering targets and observations into the APT[3].

We stress that the CVT is designed to provide quick illustrations of the possible observable orientations for a given target. As such, the CVT rapidly approximates JWST’s pointing restrictions and does not query the official JWST Proposal Constraint Generator (PCG), nor include detailed pointing restrictions like Earth and Moon avoidance, etc. Therefore, CVT results should be treated as useful approximations that may differ from official APT constraints by a degree or so.

Documentation can be found online at JWST Coronagraph Visibility Tool Help.

Authors: Christopher Stark, Joseph Long, J. Brendan Hagan, Mees Fix and Bryony Nickson

Screenshot of the JWST Coronagraph Visibility Tool showing target HR 8799 with three companions plotted.

Installation for Users

Installing the Python Package

Recommended: Installing via Astroconda

For ease of installation we recommend using AstroConda, the preferred release channel for JWST Python-related tools. Install AstroConda according to their instructions and then activate the environment with:

$ source activate astroconda

Next, install jwst_coronagraph_visibility (along with all its dependencies) with:

(astroconda)$ conda install jwst_coronagraph_visibility

Installing with conda (but without AstroConda)

If you already use conda, but do not wish to install the full suite of STScI software, you can simply add the AstroConda channel and install jwst_coronagraph_visibility as follows (creating a new environment named jwst_coronagraph_visibility-env)::

$ conda config --add channels http://ssb.stsci.edu/astroconda
$ conda create -n jwst_coronagraph_visibility-env jwst_coronagraph_visibility
$ source activate jwst_coronagraph_visibility-env

Installing with pip

may be installed from the Python Package Index in the usual manner for Python packages.

$ pip install jwst_coronagraph_visibility 

Installing the macOS application

If you are running macOS and would like a double-clickable application, click on the following link:
Download for macOS (86.4 MB).

Simply extract the downloaded zip file to obtain the .app bundle, then double-click to run the JWST Coronagraph Visibility Tool.

Installation for Contributors

For those wishing to contribute to the code base, you can install jwst_coronagraph_visibility by cloning and installing the repository. This is only recommended for those looking to help with development. In general, those wishing only to use the jwst_coronagraph_visibility tool should install the latest stable version from using Astroconda, as described in the instructions above.

Prerequisites

It is highly recommended that contributors have a working installation of Miniconda or Anaconda for Python 3.6. Package requirements for contributing to jwst_coronagraph_visibility will be provided by a setup.py script included in the repository.

Clone the repository:

Clone the jwst_coronagraph_visibility GitHub repository as follows:

$ git clone https://github.com/brynickson/jwst_coronagraph_visibility.git
$ cd jwst_coronagraph_visibility

Environment Installation

Following the download of the jwst_coronagraph_visibility repository, create and activate a new jwst_coronagraph_visibility environment:

$ conda create -n jwst_coronagraph_visibility-3.7 python=3.7
$ conda activate jwst_coronagraph_visibility-3.7

Package installation

Next, you need to install the jwst_coronagraph_visibility package. This can be accomplished by running the setup.py script:

(jwst_coronagraph_visibility-3.7)$ python setup.py develop

The package should now appear if you run conda list jwst_coronagraph_visibility.

Citation

If you use the CVT for work/research presented in a publication (whether directly, or as a dependency to another package), please consider citing the Zenodo record using the DOI page above. Please find additional instructions in CITATION.

Software Contributions

Contributors should use a "forking workflow" when making contributions to the project.

Code of Conduct

Users and contributors to the jwst_coronagraph_visibility repository should adhere to the Code of Conduct. Any issues or violations pertaining to the Code of Conduct should be brought to the attention of a jwst_coronagraph_visibility team member or to [email protected].

Questions

For any questions about the jwst_coronagraph_visibility project or its software or documentation, please open an Issue.

Known Issues

  • The CVT does not (and will not) query the JWST Proposal Constraint Generator. The only constraint on the field of regard is the Sun and anti-Sun avoidance angle.
  • Target name resolution depends on the availability of the SIMBAD service. If the service cannot be reached, you will have to enter coordinates yourself.
  • The CVT does not currently provide a way to export the plotted points as text. Plots can be saved from the GUI using the save icon below the plot panel.
  • The CVT has only been tested on Mac and Linux. Issue reports from Windows users are welcome, and we will do our best to address them, but we are not testing the tool on Windows.

See issue tracker at https://github.com/spacetelescope/jwst_coronagraph_visibility/issues.

Current Development Team


Acronyms

[1] - Mid-Infrared Instrument (see documentation)
[2] - Near-Infrared Instrument (see documentation)
[3] - Astronomer's Proposal Tool (see documentation)

jwst_coronagraph_visibility's People

Contributors

jbhagan avatar mfixstsci avatar brynickson avatar pyup-bot avatar

Stargazers

Julien H. Girard avatar

Watchers

James Cloos 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.