assist-adam-fork


Nameassist-adam-fork JSON
Version 1.1.9.post1 PyPI version JSON
download
home_pagehttps://github.com/matthewholman/assist
SummaryA temporary fork of ASSIST: A library high accuracy ephemeris in REBOUND
upload_time2025-04-29 15:37:37
maintainerNone
docs_urlNone
authorMatthew Holman
requires_pythonNone
licenseGPL
keywords astronomy astrophysics nbody integrator
VCS
bugtrack_url
requirements rebound numpy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Version](https://img.shields.io/badge/assist-v1.1.9a2-green.svg?style=flat)](https://assist.readthedocs.org)
[![GPL](https://img.shields.io/badge/license-GPL-green.svg?style=flat)](https://github.com/matthewholman/blob/main/LICENSE)
[![Python unit tests)](https://github.com/matthewholman/assist/actions/workflows/python.yml/badge.svg)](https://github.com/matthewholman/assist/actions/workflows/python.yml)
[![C unit tests](https://github.com/matthewholman/assist/actions/workflows/c.yml/badge.svg)](https://github.com/matthewholman/assist/actions/workflows/c.yml)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7778016.svg)](https://doi.org/10.5281/zenodo.7778016)



# ASSIST

ASSIST is a software package for ephemeris-quality integrations of test particles. ASSIST is an extension of the [REBOUND framework](https://github.com/hannorein/rebound) and makes use of its [IAS15 integrator](https://ui.adsabs.harvard.edu/abs/2015MNRAS.446.1424R/abstract) to integrate test particle trajectories in the field of the Sun, Moon, planets, and 16 massive asteroids, with the positions of the masses coming from the JPL DE441 ephemeris and its associated asteroid perturber file. The package incorporates the most significant gravitational harmonics and general relativistic corrections. ASSIST also accounts for position- and velocity-dependent non-gravitational effects according to the [Marsden (1973) model](https://ui.adsabs.harvard.edu/abs/1973AJ.....78..211M/abstract). All components in the equations of motion have been verified to machine precision in a term-by-term comparison with output from JPL's small body integrator. The first order variational equations are included for all terms to support orbit fitting and covariance mapping. This framework is meant to provide an open-source package written in a modern language to enable high-precision orbital analysis and science by the small body community.



## Installation (Python)

It's easiest to install ASSIST into a python virtual environment. If you already have a virtual environment or do not want to use one, you can skip this step. Otherwise, run the following command in an empty directory. They will setup and activate a new virtual environment in a directory. 

    python3 -m venv venv
    source venv/bin/activate

Now we can install numpy, REBOUND, and ASSIST:

    pip install numpy
    pip install rebound 
    pip install assist

To use use ASSIST, you also need to download ephemeris data files. One file for planet ephemeris and another suplementary file for asteroid ephemeris. You can do this with Python packages or by downloading files directly.  Note that these are large files, almost 1GB in size.

    pip install naif-de440
    pip install jpl-small-bodies-de441-n16


You can initialize the ephemeris data from the packages like so:

    python3

    >>> import assist
    >>> from naif_de440 import de440
    >>> from jpl_small_bodies_de441_n16 import de441_n16
    >>> ephem = assist.Ephem(de440, de441_n16)

The variables to the ephemeris files are simply path strings to the files. Alternatively, you can download these files with curl or your browser.

    mkdir data
    curl https://ssd.jpl.nasa.gov/ftp/eph/planets/bsp/de440.bsp -o data/de440.bsp
    curl https://ssd.jpl.nasa.gov/ftp/eph/small_bodies/asteroids_de441/sb441-n16.bsp -o data/sb441-n16.bsp

Now you can point assist to those files directly, like so:

    python3

    >>> import assist
    >>> ephem = assist.Ephem("data/de440.bsp", "data/sb441-n16.bsp")

Once you've initialized the ephemeris data, you can test that assist is working by running the following commands:

    >>> print(ephem.jd_ref)
    >>> ephem.get_particle("Earth", 0)

You should see the default reference Julian date (2451545.0) and the position of the Earth at that time printed on the screen.

## Installation (C)

To install the C version of ASSIST, first clone the REBOUND and then the ASSIST repositories. In an empty directory, run:

    git clone https://github.com/hannorein/rebound.git
    git clone https://github.com/matthewholman/assist.git

To use use ASSIST, you also need to download ephemeris data files. One file for planet ephemeris and another suplementary file for asteroid ephemeris. The following commands download these files with curl. You can also manually download them using your browser. Note that these are large files, almost 1GB in size.

    curl https://ssd.jpl.nasa.gov/ftp/eph/planets/bsp/de440.bsp -o assist/data/de440.bsp
    curl https://ssd.jpl.nasa.gov/ftp/eph/small_bodies/asteroids_de441/sb441-n16.bsp -o assist/data/sb441-n16.bsp

For some of the examples, you will also need the planet ephemeris file with an extended coverage. Note that this file is 2.6GB in size.

    curl https://ssd.jpl.nasa.gov/ftp/eph/planets/bsp/de441.bsp -o assist/data/de441.bsp

Next, go to one of the example directories and compile the problem file. This will also trigger the installation of the REBOUND and ASSIST shared libraries.

    cd assist/examples/asteroid
    make

Now, you're ready to run the example with:

    ./rebound


## License
ASSIST is open source, freely distributed under the [GNU General Public license, version 3](https://github.com/matthewholman/blob/main/LICENSE).

## Contributors

* Matthew J. Holman, Center for Astrophysics | Harvard & Smithsonian, <mholman@cfa.harvard.edu>
* Arya Akmal, Montgomery College, Rockville
* Davide Farnocchia, Jet Propulsion Laboratory, California Institute of Technology 
* Hanno Rein, University of Toronto, <hanno@hanno-rein.de>
* Matthew J. Payne, Center for Astrophysics | Harvard & Smithsonian
* Robert Weryk, University of Western Ontario
* Dan Tamayo, Harvey Mudd College, <dtamayo@hmc.edu>
* David M. Hernandez, Center for Astrophysics | Harvard & Smithsonian 
* Alec Koumjian, Asteroid Institute | B612 Foundation, <alec@b612foundation.org>



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/matthewholman/assist",
    "name": "assist-adam-fork",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "astronomy astrophysics nbody integrator",
    "author": "Matthew Holman",
    "author_email": "mholman@cfa.harvard.edu",
    "download_url": "https://files.pythonhosted.org/packages/f7/11/0979b7a885a060804dd1ea339e9c1a6e24c8fc38d8cf872eff38c6f9532b/assist_adam_fork-1.1.9.post1.tar.gz",
    "platform": null,
    "description": "[![Version](https://img.shields.io/badge/assist-v1.1.9a2-green.svg?style=flat)](https://assist.readthedocs.org)\n[![GPL](https://img.shields.io/badge/license-GPL-green.svg?style=flat)](https://github.com/matthewholman/blob/main/LICENSE)\n[![Python unit tests)](https://github.com/matthewholman/assist/actions/workflows/python.yml/badge.svg)](https://github.com/matthewholman/assist/actions/workflows/python.yml)\n[![C unit tests](https://github.com/matthewholman/assist/actions/workflows/c.yml/badge.svg)](https://github.com/matthewholman/assist/actions/workflows/c.yml)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7778016.svg)](https://doi.org/10.5281/zenodo.7778016)\n\n\n\n# ASSIST\n\nASSIST is a software package for ephemeris-quality integrations of test particles. ASSIST is an extension of the [REBOUND framework](https://github.com/hannorein/rebound) and makes use of its [IAS15 integrator](https://ui.adsabs.harvard.edu/abs/2015MNRAS.446.1424R/abstract) to integrate test particle trajectories in the field of the Sun, Moon, planets, and 16 massive asteroids, with the positions of the masses coming from the JPL DE441 ephemeris and its associated asteroid perturber file. The package incorporates the most significant gravitational harmonics and general relativistic corrections. ASSIST also accounts for position- and velocity-dependent non-gravitational effects according to the [Marsden (1973) model](https://ui.adsabs.harvard.edu/abs/1973AJ.....78..211M/abstract). All components in the equations of motion have been verified to machine precision in a term-by-term comparison with output from JPL's small body integrator. The first order variational equations are included for all terms to support orbit fitting and covariance mapping. This framework is meant to provide an open-source package written in a modern language to enable high-precision orbital analysis and science by the small body community.\n\n\n\n## Installation (Python)\n\nIt's easiest to install ASSIST into a python virtual environment. If you already have a virtual environment or do not want to use one, you can skip this step. Otherwise, run the following command in an empty directory. They will setup and activate a new virtual environment in a directory. \n\n    python3 -m venv venv\n    source venv/bin/activate\n\nNow we can install numpy, REBOUND, and ASSIST:\n\n    pip install numpy\n    pip install rebound \n    pip install assist\n\nTo use use ASSIST, you also need to download ephemeris data files. One file for planet ephemeris and another suplementary file for asteroid ephemeris. You can do this with Python packages or by downloading files directly.  Note that these are large files, almost 1GB in size.\n\n    pip install naif-de440\n    pip install jpl-small-bodies-de441-n16\n\n\nYou can initialize the ephemeris data from the packages like so:\n\n    python3\n\n    >>> import assist\n    >>> from naif_de440 import de440\n    >>> from jpl_small_bodies_de441_n16 import de441_n16\n    >>> ephem = assist.Ephem(de440, de441_n16)\n\nThe variables to the ephemeris files are simply path strings to the files. Alternatively, you can download these files with curl or your browser.\n\n    mkdir data\n    curl https://ssd.jpl.nasa.gov/ftp/eph/planets/bsp/de440.bsp -o data/de440.bsp\n    curl https://ssd.jpl.nasa.gov/ftp/eph/small_bodies/asteroids_de441/sb441-n16.bsp -o data/sb441-n16.bsp\n\nNow you can point assist to those files directly, like so:\n\n    python3\n\n    >>> import assist\n    >>> ephem = assist.Ephem(\"data/de440.bsp\", \"data/sb441-n16.bsp\")\n\nOnce you've initialized the ephemeris data, you can test that assist is working by running the following commands:\n\n    >>> print(ephem.jd_ref)\n    >>> ephem.get_particle(\"Earth\", 0)\n\nYou should see the default reference Julian date (2451545.0) and the position of the Earth at that time printed on the screen.\n\n## Installation (C)\n\nTo install the C version of ASSIST, first clone the REBOUND and then the ASSIST repositories. In an empty directory, run:\n\n    git clone https://github.com/hannorein/rebound.git\n    git clone https://github.com/matthewholman/assist.git\n\nTo use use ASSIST, you also need to download ephemeris data files. One file for planet ephemeris and another suplementary file for asteroid ephemeris. The following commands download these files with curl. You can also manually download them using your browser. Note that these are large files, almost 1GB in size.\n\n    curl https://ssd.jpl.nasa.gov/ftp/eph/planets/bsp/de440.bsp -o assist/data/de440.bsp\n    curl https://ssd.jpl.nasa.gov/ftp/eph/small_bodies/asteroids_de441/sb441-n16.bsp -o assist/data/sb441-n16.bsp\n\nFor some of the examples, you will also need the planet ephemeris file with an extended coverage. Note that this file is 2.6GB in size.\n\n    curl https://ssd.jpl.nasa.gov/ftp/eph/planets/bsp/de441.bsp -o assist/data/de441.bsp\n\nNext, go to one of the example directories and compile the problem file. This will also trigger the installation of the REBOUND and ASSIST shared libraries.\n\n    cd assist/examples/asteroid\n    make\n\nNow, you're ready to run the example with:\n\n    ./rebound\n\n\n## License\nASSIST is open source, freely distributed under the [GNU General Public license, version 3](https://github.com/matthewholman/blob/main/LICENSE).\n\n## Contributors\n\n* Matthew J. Holman, Center for Astrophysics | Harvard & Smithsonian, <mholman@cfa.harvard.edu>\n* Arya Akmal, Montgomery College, Rockville\n* Davide Farnocchia, Jet Propulsion Laboratory, California Institute of Technology \n* Hanno Rein, University of Toronto, <hanno@hanno-rein.de>\n* Matthew J. Payne, Center for Astrophysics | Harvard & Smithsonian\n* Robert Weryk, University of Western Ontario\n* Dan Tamayo, Harvey Mudd College, <dtamayo@hmc.edu>\n* David M. Hernandez, Center for Astrophysics | Harvard & Smithsonian \n* Alec Koumjian, Asteroid Institute | B612 Foundation, <alec@b612foundation.org>\n\n\n",
    "bugtrack_url": null,
    "license": "GPL",
    "summary": "A temporary fork of ASSIST: A library high accuracy ephemeris in REBOUND",
    "version": "1.1.9.post1",
    "project_urls": {
        "Homepage": "https://github.com/matthewholman/assist"
    },
    "split_keywords": [
        "astronomy",
        "astrophysics",
        "nbody",
        "integrator"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b6766e1e747fc2a020e444094dc4267507f352e470c38c7a7b28af816ceb0935",
                "md5": "aa0b576b43f3344f786143dcf4e1af0a",
                "sha256": "0c908026cf0b0799499560543400b1eea763f9fdbc3a5d1d12e65d5391392ff6"
            },
            "downloads": -1,
            "filename": "assist_adam_fork-1.1.9.post1-cp313-cp313-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "aa0b576b43f3344f786143dcf4e1af0a",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 45219,
            "upload_time": "2025-04-29T15:37:36",
            "upload_time_iso_8601": "2025-04-29T15:37:36.144537Z",
            "url": "https://files.pythonhosted.org/packages/b6/76/6e1e747fc2a020e444094dc4267507f352e470c38c7a7b28af816ceb0935/assist_adam_fork-1.1.9.post1-cp313-cp313-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f7110979b7a885a060804dd1ea339e9c1a6e24c8fc38d8cf872eff38c6f9532b",
                "md5": "35865264e19fe8fd63546c22489357d1",
                "sha256": "9d6230ae27b13867a8c48956f1b6c45aa2c945949ef79d007e711f91f621e905"
            },
            "downloads": -1,
            "filename": "assist_adam_fork-1.1.9.post1.tar.gz",
            "has_sig": false,
            "md5_digest": "35865264e19fe8fd63546c22489357d1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 47435,
            "upload_time": "2025-04-29T15:37:37",
            "upload_time_iso_8601": "2025-04-29T15:37:37.932034Z",
            "url": "https://files.pythonhosted.org/packages/f7/11/0979b7a885a060804dd1ea339e9c1a6e24c8fc38d8cf872eff38c6f9532b/assist_adam_fork-1.1.9.post1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-04-29 15:37:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "matthewholman",
    "github_project": "assist",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "rebound",
            "specs": [
                [
                    ">=",
                    "4.0.1"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": []
        }
    ],
    "lcname": "assist-adam-fork"
}
        
Elapsed time: 0.44265s