assist

ASSIST is a software package for ephemeris-quality integrations of test particles.

https://github.com/matthewholman/assist

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 9 committers (22.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords

astrophysics integrator n-body planetary-science
Last synced: 6 months ago · JSON representation ·

Repository

ASSIST is a software package for ephemeris-quality integrations of test particles.

Basic Info
  • Host: GitHub
  • Owner: matthewholman
  • License: gpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage: https://assist.readthedocs.io/
  • Size: 3.72 MB
Statistics
  • Stars: 29
  • Watchers: 4
  • Forks: 12
  • Open Issues: 13
  • Releases: 2
Topics
astrophysics integrator n-body planetary-science
Created almost 4 years ago · Last pushed 10 months ago
Metadata Files
Readme License Citation

README.md

Version GPL Python unit tests) C unit tests DOI

ASSIST

ASSIST is a software package for ephemeris-quality integrations of test particles. ASSIST is an extension of the REBOUND framework and makes use of its IAS15 integrator 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. 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. 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.

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

Now you can try out if assist works.

python3

>>> import assist
>>> ephem = assist.Ephem("data/linux_p1550p2650.440", "data/sb441-n16.bsp")
>>> 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/Linux/de440/linux_p1550p2650.440 -o assist/data/linux_p1550p2650.440
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/Linux/de441/linux_m13000p17000.441 -o assist/data/linux_m13000p17000.441

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.

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

Owner

  • Login: matthewholman
  • Kind: user

Citation (CITATION.cff)

@ARTICLE{2023PSJ.....4...69H,
       author = {{Holman}, Matthew J. and {Akmal}, Arya and {Farnocchia}, Davide and {Rein}, Hanno and {Payne}, Matthew J. and {Weryk}, Robert and {Tamayo}, Daniel and {Hernandez}, David M.},
        title = "{ASSIST: An Ephemeris-quality Test-particle Integrator}",
      journal = {\psj},
     keywords = {Ephemerides, N-body simulations, Asteroid dynamics, Comet dynamics, 464, 1083, 2210, 2213, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},
         year = 2023,
        month = apr,
       volume = {4},
       number = {4},
          eid = {69},
        pages = {69},
          doi = {10.3847/PSJ/acc9a9},
archivePrefix = {arXiv},
       eprint = {2303.16246},
 primaryClass = {astro-ph.EP},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2023PSJ.....4...69H},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

GitHub Events

Total
  • Issues event: 8
  • Watch event: 7
  • Issue comment event: 40
  • Push event: 5
  • Pull request review comment event: 1
  • Pull request review event: 2
  • Pull request event: 12
  • Fork event: 1
Last Year
  • Issues event: 8
  • Watch event: 7
  • Issue comment event: 40
  • Push event: 5
  • Pull request review comment event: 1
  • Pull request review event: 2
  • Pull request event: 12
  • Fork event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 344
  • Total Committers: 9
  • Avg Commits per committer: 38.222
  • Development Distribution Score (DDS): 0.459
Past Year
  • Commits: 254
  • Committers: 9
  • Avg Commits per committer: 28.222
  • Development Distribution Score (DDS): 0.283
Top Committers
Name Email Commits
Hanno Rein h****o@h****e 186
Matthew J Holman m****n@c****u 102
Arya Akmal a****a@g****m 33
Arya Akmal 6****l 7
Rob Weryk w****k@h****u 5
Arya Akmal a****l@S****l 5
Spencer Nelson s****r@b****g 4
Joachim Moeyens m****j@g****m 1
Spencer Nelson s@s****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 29
  • Total pull requests: 97
  • Average time to close issues: 29 days
  • Average time to close pull requests: 13 days
  • Total issue authors: 14
  • Total pull request authors: 8
  • Average comments per issue: 6.21
  • Average comments per pull request: 2.75
  • Merged pull requests: 87
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 13
  • Average time to close issues: 22 days
  • Average time to close pull requests: 9 days
  • Issue authors: 5
  • Pull request authors: 2
  • Average comments per issue: 2.8
  • Average comments per pull request: 2.23
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hannorein (11)
  • mjuric (3)
  • mschwamb (3)
  • spenczar (2)
  • ridlo (1)
  • nachoplus (1)
  • akoumjian (1)
  • KatKiker (1)
  • yoachim (1)
  • federico-spada (1)
  • eelsirhc (1)
  • RichardGFrench (1)
  • Larry1019 (1)
  • rahil-makadia (1)
Pull Request Authors
  • hannorein (77)
  • aryaakmal (9)
  • akoumjian (6)
  • spenczar (5)
  • KatKiker (2)
  • mjuric (1)
  • moeyensj (1)
  • matthewholman (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 722 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 5
    (may contain duplicates)
  • Total versions: 28
  • Total maintainers: 3
pypi.org: assist

A library high accuracy ephemeris in REBOUND

  • Versions: 25
  • Dependent Packages: 1
  • Dependent Repositories: 5
  • Downloads: 630 Last month
Rankings
Dependent packages count: 4.7%
Dependent repos count: 6.6%
Downloads: 6.8%
Average: 9.0%
Forks count: 11.4%
Stargazers count: 15.6%
Maintainers (2)
Last synced: 6 months ago
pypi.org: assist-adam-fork

A temporary fork of ASSIST: A library high accuracy ephemeris in REBOUND

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 92 Last month
Rankings
Dependent packages count: 10.1%
Average: 39.8%
Downloads: 52.8%
Dependent repos count: 56.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

setup.py pypi
  • numpy *
  • rebound >=3.10.0