Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ANISE dataset performance issues -- breaking change #252

Merged
merged 20 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
d5337df
Initial refactoing of dataset
ChristopherRabotin May 26, 2024
ec49af6
Start moving dataset to the heap
ChristopherRabotin May 29, 2024
5700e39
For some reason the checksum keeps changing and I don't expect this
ChristopherRabotin May 29, 2024
6126823
Remove Entry from LUT
ChristopherRabotin May 30, 2024
ca049e8
test_anise_conversion overflows its stack
ChristopherRabotin May 30, 2024
9717e1b
Improve usage of snafu
ChristopherRabotin May 30, 2024
e5c19db
Dataset items encoded sequentially outside of a sequence
ChristopherRabotin May 31, 2024
a818499
Run lints and update ANISE semver
ChristopherRabotin May 31, 2024
7d30a17
Merge branch 'master' into 248-anise-dataset-performance-issues
ChristopherRabotin Jun 1, 2024
a715d85
Merge branch 'master' into 248-anise-dataset-performance-issues
ChristopherRabotin Jun 4, 2024
f109588
Format code
ChristopherRabotin Jun 4, 2024
1211af3
Actually update pca file
ChristopherRabotin Jun 4, 2024
43e56ee
CRC computation with new dataset is NOT consistent! Must be fixed or …
ChristopherRabotin Jun 5, 2024
488445d
There is no order issue... issue was with the files on the cloud
ChristopherRabotin Jun 6, 2024
4010288
Update CRC32 checksums
ChristopherRabotin Jun 6, 2024
4f901f0
Merge branch 'master' into 248-anise-dataset-performance-issues
ChristopherRabotin Jun 6, 2024
a063ba1
Changed planetary benchmark function to avoid the clone issue
ChristopherRabotin Jun 6, 2024
e14c89a
Update to v0.4 cloud url
ChristopherRabotin Jun 6, 2024
fc9c6d2
Version bump for Pytest
ChristopherRabotin Jun 7, 2024
987de89
Continue fix version
ChristopherRabotin Jun 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
wget -O data/de430.bsp http://public-data.nyxspace.com/anise/de430.bsp
wget -O data/de440s.bsp http://public-data.nyxspace.com/anise/de440s.bsp
wget -O data/de440.bsp http://public-data.nyxspace.com/anise/de440.bsp
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.3/pck08.pca
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.4/pck08.pca
wget -O data/gmat-hermite.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite.bsp
wget -O data/variable-seg-size-hermite.bsp http://public-data.nyxspace.com/anise/ci/variable-seg-size-hermite.bsp
wget -O data/earth_latest_high_prec.bpc http://public-data.nyxspace.com/anise/ci/earth_latest_high_prec-2023-09-08.bpc
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ jobs:
wget -O data/de430.bsp http://public-data.nyxspace.com/anise/de430.bsp
wget -O data/de440s.bsp http://public-data.nyxspace.com/anise/de440s.bsp
wget -O data/de440.bsp http://public-data.nyxspace.com/anise/de440.bsp
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.3/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.3/pck11.pca
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.4/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.4/pck11.pca
- uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -197,8 +197,8 @@ jobs:
wget -O data/de430.bsp http://public-data.nyxspace.com/anise/de430.bsp
wget -O data/de440s.bsp http://public-data.nyxspace.com/anise/de440s.bsp
wget -O data/de440.bsp http://public-data.nyxspace.com/anise/de440.bsp
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.3/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.3/pck11.pca
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.4/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.4/pck11.pca
- name: Build sdist
uses: PyO3/maturin-action@v1
Expand All @@ -216,7 +216,7 @@ jobs:
release:
name: Release
runs-on: ubuntu-latest
if: "startsWith(github.ref, 'refs/tags/')"
if: github.ref_type == 'tag'
needs: [linux, windows, macos, sdist]
steps:
- uses: actions/download-artifact@v3
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ jobs:
wget -O data/de430.bsp http://public-data.nyxspace.com/anise/de430.bsp
wget -O data/de440s.bsp http://public-data.nyxspace.com/anise/de440s.bsp
wget -O data/de440.bsp http://public-data.nyxspace.com/anise/de440.bsp
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.3/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.3/pck11.pca
wget -O data/moon_fk.epa http://public-data.nyxspace.com/anise/v0.3/moon_fk.epa
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.4/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.4/pck11.pca
wget -O data/moon_fk.epa http://public-data.nyxspace.com/anise/v0.4/moon_fk.epa
wget -O data/moon_pa_de440_200625.bpc http://public-data.nyxspace.com/anise/moon_pa_de440_200625.bpc
wget -O data/gmat-hermite.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite.bsp
wget -O data/variable-seg-size-hermite.bsp http://public-data.nyxspace.com/anise/ci/variable-seg-size-hermite.bsp
Expand Down Expand Up @@ -92,8 +92,8 @@ jobs:
wget -O data/de430.bsp http://public-data.nyxspace.com/anise/de430.bsp
wget -O data/de440s.bsp http://public-data.nyxspace.com/anise/de440s.bsp
wget -O data/de440.bsp http://public-data.nyxspace.com/anise/de440.bsp
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.3/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.3/pck11.pca
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.4/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.4/pck11.pca
wget -O data/gmat-hermite.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite.bsp
wget -O data/variable-seg-size-hermite.bsp http://public-data.nyxspace.com/anise/ci/variable-seg-size-hermite.bsp
wget -O data/earth_latest_high_prec.bpc http://public-data.nyxspace.com/anise/ci/earth_latest_high_prec-2023-09-08.bpc
Expand Down Expand Up @@ -155,8 +155,8 @@ jobs:
wget -O data/de430.bsp http://public-data.nyxspace.com/anise/de430.bsp
wget -O data/de440s.bsp http://public-data.nyxspace.com/anise/de440s.bsp
wget -O data/de440.bsp http://public-data.nyxspace.com/anise/de440.bsp
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.3/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.3/pck11.pca
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.4/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.4/pck11.pca
wget -O data/gmat-hermite.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite.bsp
wget -O data/variable-seg-size-hermite.bsp http://public-data.nyxspace.com/anise/ci/variable-seg-size-hermite.bsp
wget -O data/earth_latest_high_prec.bpc http://public-data.nyxspace.com/anise/ci/earth_latest_high_prec-2023-09-08.bpc
Expand Down Expand Up @@ -197,12 +197,11 @@ jobs:
release:
name: Release
runs-on: ubuntu-latest
needs: [check, test, lints, validation, coverage]

if: "startsWith(github.ref, 'refs/tags/')"
needs: [check, test, validation, lints]
if: github.ref_type == 'tag'
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@master
Expand All @@ -214,6 +213,7 @@ jobs:
env:
TOKEN: ${{ secrets.CRATESIO_API_TOKEN }}
run: |
cd anise # Jump into the package
cargo login $TOKEN
cargo publish

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ resolver = "2"
members = ["anise", "anise-cli", "anise-gui", "anise-py"]

[workspace.package]
version = "0.3.2"
version = "0.4.0"
edition = "2021"
authors = ["Christopher Rabotin <[email protected]>"]
description = "ANISE provides a toolkit and files for Attitude, Navigation, Instrument, Spacecraft, and Ephemeris data. It's a modern replacement of NAIF SPICE file."
Expand Down Expand Up @@ -52,7 +52,7 @@ serde = "1"
serde_derive = "1"
serde_dhall = "0.12"

anise = { version = "0.3.2", path = "anise", default-features = false }
anise = { version = "0.4.0", path = "anise", default-features = false }

[profile.bench]
debug = true
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ For convenience, Nyx Space provides a few important SPICE files on a public buck

+ [de440s.bsp](http://public-data.nyxspace.com/anise/de440s.bsp): JPL's latest ephemeris dataset from 1900 until 20250
+ [de440.bsp](http://public-data.nyxspace.com/anise/de440.bsp): JPL's latest long-term ephemeris dataset
+ [pck08.pca](http://public-data.nyxspace.com/anise/v0.3/pck08.pca): planetary constants ANISE (`pca`) kernel, built from the JPL gravitational data [gm_de431.tpc](http://public-data.nyxspace.com/anise/gm_de431.tpc) and JPL's plantary constants file [pck00008.tpc](http://public-data.nyxspace.com/anise/pck00008.tpc)
+ [pck11.pca](http://public-data.nyxspace.com/anise/v0.3/pck11.pca): planetary constants ANISE (`pca`) kernel, built from the JPL gravitational data [gm_de431.tpc](http://public-data.nyxspace.com/anise/gm_de431.tpc) and JPL's plantary constants file [pck00011.tpc](http://public-data.nyxspace.com/anise/pck00011.tpc)
+ [moon_fk.epa](http://public-data.nyxspace.com/anise/v0.3/moon_fk.epa): Euler Parameter ANISE (`epa`) kernel, built from the JPL Moon Frame Kernel `moon_080317.txt`
+ [pck08.pca](http://public-data.nyxspace.com/anise/v0.4/pck08.pca): planetary constants ANISE (`pca`) kernel, built from the JPL gravitational data [gm_de431.tpc](http://public-data.nyxspace.com/anise/gm_de431.tpc) and JPL's plantary constants file [pck00008.tpc](http://public-data.nyxspace.com/anise/pck00008.tpc)
+ [pck11.pca](http://public-data.nyxspace.com/anise/v0.4/pck11.pca): planetary constants ANISE (`pca`) kernel, built from the JPL gravitational data [gm_de431.tpc](http://public-data.nyxspace.com/anise/gm_de431.tpc) and JPL's plantary constants file [pck00011.tpc](http://public-data.nyxspace.com/anise/pck00011.tpc)
+ [moon_fk.epa](http://public-data.nyxspace.com/anise/v0.4/moon_fk.epa): Euler Parameter ANISE (`epa`) kernel, built from the JPL Moon Frame Kernel `moon_080317.txt`

You may load any of these using the `load()` shortcut that will determine the file type upon loading, e.g. `let almanac = Almanac::new("pck08.pca").unwrap();` or in Python `almanac = Almanac("pck08.pca")`. To automatically download remote assets, from the Nyx Cloud or elsewhere, use the MetaAlmanac: `almanac = MetaAlmanac("ci_config.dhall").process()` in Python.

Expand Down
Loading
Loading