Metadata-Version: 2.1
Name: dorado-scheduling
Version: 0.2.0
Summary: Dorado observation planning and scheduling simulations
License: NOSA
Author: Leo Singer
Author-email: leo.singer@ligo.org
Requires-Python: >=3.9,<3.12
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering :: Astronomy
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: test
Requires-Dist: antiprism-python
Requires-Dist: astroplan (>=0.7)
Requires-Dist: astropy (>=4.2.1)
Requires-Dist: astropy-healpix (>=0.6)
Requires-Dist: cdshealpix
Requires-Dist: cplex
Requires-Dist: docplex
Requires-Dist: dust_extinction
Requires-Dist: dustmaps
Requires-Dist: flake8 ; extra == "dev"
Requires-Dist: gwemlightcurves
Requires-Dist: hypothesis ; extra == "test"
Requires-Dist: ipykernel ; extra == "dev"
Requires-Dist: ligo.skymap (>=1.0.0)
Requires-Dist: packaging ; extra == "doc"
Requires-Dist: pep517 ; extra == "doc"
Requires-Dist: pydata-sphinx-theme ; extra == "doc"
Requires-Dist: pytest ; extra == "test"
Requires-Dist: pytest-doctestplus ; extra == "test"
Requires-Dist: radbelt
Requires-Dist: seaborn
Requires-Dist: sgp4
Requires-Dist: shapely
Requires-Dist: skyfield ; extra == "test"
Requires-Dist: sphinx-argparse-cli ; extra == "doc"
Requires-Dist: sphinx-gallery ; extra == "doc"
Requires-Dist: spiceypy
Requires-Dist: synphot
Project-URL: Documentation, https://dorado-scheduling.readthedocs.io/
Description-Content-Type: text/markdown

# Dorado observation planning and scheduling simulations

[![Build Status](https://github.com/nasa/dorado-scheduling/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/nasa/dorado-scheduling/actions)
[![Documentation Status](https://readthedocs.org/projects/dorado-scheduling/badge/?version=latest)](https://dorado-scheduling.readthedocs.io/en/latest/?badge=latest)
[![Codecov](https://img.shields.io/codecov/c/github/nasa/dorado-scheduling)](https://app.codecov.io/gh/nasa/dorado-scheduling)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dorado-scheduling)](https://pypi.org/project/dorado-scheduling/)

Dorado is a proposed space mission for ultraviolet follow-up of gravitational
wave events. This repository contains a simple target of opportunity
observation planner for Dorado.

This project is free and open source, but it calls commercial software: it uses
[IBM ILOG CPLEX Optimization Studio ("CPLEX")][CPLEX] for mathematical
optimization. CPLEX is free for students, faculty, and staff at accredited
educational institutions through the [IBM Academic Initiative].

**To get started with dorado-scheduling, see the [quick start instructions] in
the [manual].**

![Example Dorado observing plan](examples/6.gif)

## Features

*   **Global**: jointly and globally solves the problems of tiling (the set of
    telescope boresight orientations and roll angles) and the scheduling (which
    tile is observed at what time), rather than solving each sub-problem one at
    a time
*   **Optimal**: generally solves all the way to optimality, rather than
    finding merely a "good enough" solution
*   **Fast**: solve an entire orbit in about 5 minutes
*   **General**: does not depend on heuristics of any kind
*   **Flexible**: problem is formulated in the versatile framework of
    [mixed integer programming]

## Dependencies

*   [Astropy]
*   [Astroplan] for calculating the field of regard
*   [HEALPix], [cdshealpix], and [astropy-healpix] for observation footprints
*   [sgp4] for orbit propagation
*   [CPLEX] (via [docplex] Python interface) for constrained optimization

[quick start instructions]: https://dorado-scheduling.readthedocs.io/en/latest/quickstart.html
[manual]: https://dorado-scheduling.readthedocs.io/
[mixed integer programming]: https://en.wikipedia.org/wiki/Integer_programming
[Astropy]: https://www.astropy.org
[Astroplan]: https://github.com/astropy/astroplan
[HEALPix]: https://healpix.jpl.nasa.gov
[astropy-healpix]: https://github.com/astropy/astropy-healpix
[cdshealpix]: https://github.com/cds-astro/cds-healpix-python
[sgp4]: https://pypi.org/project/sgp4/
[CPLEX]: https://www.ibm.com/products/ilog-cplex-optimization-studio
[IBM Academic Initiative]: https://www.ibm.com/academic/technology/data-science

