Skip to main content

GRSS: Gauss-Radau Small-body Simulator

Project description

GRSS

PyPi Version Build Sphinx docs) Python tests) C++ tests) MIT

GRSS (pronounced "grass"), the Gauss-Radau Small-body Simulator is a Python package with a C++ binding for propagating and fitting the orbits of small bodies in the solar system, such as asteroids and comets.

If you use GRSS in your research, please cite at least one of the following:

Getting Started

There are currently two different ways to install the GRSS library.

Install via PyPI

The GRSS library is available on PyPI and can be installed using the following command:

    pip install grss

If this installation fails (i.e., you get an error when importing GRSS), you can try installing it without using the binary wheel on PyPI by using the following command:

    pip install grss --no-binary grss

NOTE: The GRSS library is currently not pip-installable on Intel-based Macs. To use the library on an Intel-based Mac, please install the library using the source code from the GitHub repository (see below for instructions).

Install via source code (Python)

The source code for the GRSS library is available on GitHub and can be downloaded using the following command:

    git clone https://www.github.com/rahil-makadia/grss

Once the source code has been downloaded, the library can be installed using the following command:

    cd grss
    source initialize.sh
    python3 -m pip install .

Install via source code (C++, reduced functionality)

The source code for the GRSS library is available on GitHub and can be downloaded using the following command:

    git clone https://www.github.com/rahil-makadia/grss

Once the source code has been downloaded, the library can be installed using the following command:

    cd grss
    source initialize.sh
    source build_cpp.sh

You will need to have CMake installed on your system to build the C++ library. Once the build script has completed, you can use the resulting static/shared library from the build directory in your C++ projects.

Keep in mind the C++ library only contains support for propagating orbits and calculating observables. If you want to use the orbit fitting functionality, you will need to install the full Python library.

Usage

Once the GRSS library has been installed, it can be imported into a Python script using the following command:

   import grss

The first time the library is imported, it will download some data files such as NAIF SPICE kernels and the data needed to debias optical astrometry. This should should take a few minutes. Once these files are available to the library, you are ready to use GRSS to its full potential!

Check out the examples on the GRSS website to get started.

Acknowledgements

GRSS Development Team:

  • Rahil Makadia
  • Steven R. Chesley
  • Siegfried Eggl
  • Davide Farnocchia

The GRSS library was developed by Rahil Makadia as part of his PhD dissertation at the University of Illinois at Urbana-Champaign. This work was supported by a NASA Space Technologies Graduate Research Opportunities (NSTGRO) Fellowship, Grant #80NSSC22K1173. Rahil would like to thank his advisor, Dr. Siegfried Eggl as well as his collaborators, Dr. Steven R. Chesley, and Dr. Davide Farnocchia for their guidance and support.

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

grss-3.8.3.tar.gz (2.3 MB view hashes)

Uploaded Source

Built Distributions

grss-3.8.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

grss-3.8.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl (6.2 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

grss-3.8.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

grss-3.8.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl (6.2 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

grss-3.8.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

grss-3.8.3-pp38-pypy38_pp73-macosx_11_0_arm64.whl (6.2 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

grss-3.8.3-cp312-cp312-musllinux_1_1_x86_64.whl (6.2 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

grss-3.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

grss-3.8.3-cp312-cp312-macosx_11_0_arm64.whl (6.2 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

grss-3.8.3-cp311-cp311-musllinux_1_1_x86_64.whl (6.2 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

grss-3.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

grss-3.8.3-cp311-cp311-macosx_11_0_arm64.whl (6.2 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

grss-3.8.3-cp310-cp310-musllinux_1_1_x86_64.whl (6.2 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

grss-3.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

grss-3.8.3-cp310-cp310-macosx_11_0_arm64.whl (6.2 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

grss-3.8.3-cp39-cp39-musllinux_1_1_x86_64.whl (6.2 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

grss-3.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

grss-3.8.3-cp39-cp39-macosx_11_0_arm64.whl (6.2 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

grss-3.8.3-cp38-cp38-musllinux_1_1_x86_64.whl (3.8 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

grss-3.8.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

grss-3.8.3-cp38-cp38-macosx_11_0_arm64.whl (4.2 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

Supported by

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