Skip to main content

An astrological survey simulation designed for testing MDP-style algorithms

Project description

status test-telescope PyPI version Documentation Status

Summary

Modern astronomical surveys have multiple competing scientific goals. Optimizing the observation schedule for these goals presents significant computational and theoretical challenges, and state-of-the-art methods rely on expensive human inspection of simulated telescope schedules. Automated methods, such as reinforcement learning, have recently been explored to accelerate scheduling. DeepSurveySim provides methods for tracking and approximating sky conditions for a set of observations from a user-supplied telescope configuration.

Documentation

ReadTheDocs

Build locally

First install the package from source, then run

pip install sphinx
cd docs
make html

The folder docs/_build/html will be populated with the documentation. Navigate to file:///<path to local install>/docs/_build/html/index.html in any web browser to view.

Installation

Install from pip

Simply run

pip install DeepSurveySim

This will install the project with all its mandatory requirements.

If you wish to include the optional skybright, use the command:

pip install DeepSurveySim[skybright]

Not installing this will result in loss of the variables sky_magintude, tau, and teff, but will work on most (if not all) machines.

Install from source

The project is built with poetry, and this is the recommended install method. All dependencies are resolved in the poetry.lock file, so you can install immediately from the command

git clone https://github.com/deepskies/DeepSurveySim.git
poetry shell
poetry install --all-extras

Assuming you have poetry installed on your base environment. This will use lock file to install all the correct versions. To use the installed environment, use the command poetry shell to enter it. The command exit will take you out of this environment as it would for any other type of virtual environment.

Otherwise, you can use the pyproject.toml with your installer of choice.

To verify all the depedencies are properly installed - run python run pytest.

Example:

To run as a live envoriment for RL

from DeepSurveySim.Survey.survey import Survey
from DeepSurveySim.IO.read_config import ReadConfig

seo_config = ReadConfig(
        observator_configuration="DeepSurveySim/settings/SEO.yaml"
    )()

survey_config = ReadConfig(
        observator_configuration="DeepSurveySim/settings/equatorial_survey.yaml",
        survey=True
    )()

env = Survey(seo_config, survey_config)
observation = env._observation_calculation()

stop = True
while not stop:
    action = model.predict_action(observation)
    observation, reward, stop, log = env.step()

To generate observations

from DeepSurveySim.Survey.survey import Survey
from DeepSurveySim.IO.read_config import ReadConfig

seo_config = ReadConfig(
        observator_configuration="DeepSurveySim/settings/SEO.yaml"
    )()

survey_config = ReadConfig(
        observator_configuration="DeepSurveySim/settings/equatorial_survey.yaml",
        survey=True
    )()

env = Survey(seo_config, survey_config)
observations = env()

Acknowledgement

This work was produced by Fermi Research Alliance, LLC under Contract No. DE-AC02-07CH11359 with the U.S. Department of Energy, Office of Science, Office of High Energy Physics. Publisher acknowledges the U.S. Government license to provide public access under the DOE Public Access Plan DOE Public Access Plan.

We acknowledge the Deep Skies Lab as a community of multi-domain experts and collaborators who’ve facilitated an environment of open discussion, idea-generation, and collaboration. This community was important for the development of this project.

We thank Franco Terranova and Shohini Rhae for their assistance in testing the preliminary version of the package, and Eric Neilsen Jr. for his domain expertise.

Citation

If this package is useful for your work, we request you cite us:


If the skybright option is used, we also encourage its citation:

@misc{skybright_Neilsen:2019,
    author = "Neilsen, Eric",
    title = "{skybright}",
    reportNumber = "FERMILAB-CODE-2019-01",
    doi = "10.11578/dc.20190212.1",
    month = "2",
    year = "2019"
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deepsurveysim-0.1.0.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepsurveysim-0.1.0-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file deepsurveysim-0.1.0.tar.gz.

File metadata

  • Download URL: deepsurveysim-0.1.0.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.13 Darwin/22.6.0

File hashes

Hashes for deepsurveysim-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1705f871eeb9733f3d958092bcd0ad607223998908aec48597bb858a07429ccd
MD5 0966b8342d58f7bd86b8d44b44796b7e
BLAKE2b-256 f0f9754c1986df5e72ba5def4716686552e55ee4693c2ee5d74d4bf40471f9a7

See more details on using hashes here.

File details

Details for the file deepsurveysim-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: deepsurveysim-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.13 Darwin/22.6.0

File hashes

Hashes for deepsurveysim-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c6d80cd73ae1fb2d862cdf2896355912b8baf5419dc1ae46cea47aa6f9fdb94
MD5 a56da8efe13028d686897d53caba1c84
BLAKE2b-256 813ebe3bae46f4d653d7294e44bbcd5ae8189604c78bb6f798975e215f654bfa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page