From edcc718cdca432ee6cdd077f23808afb2b87c9aa Mon Sep 17 00:00:00 2001 From: Christopher Rabotin Date: Mon, 4 Nov 2024 18:10:27 -0700 Subject: [PATCH 1/3] Fix #346 and add relevant test Increased the acceptance limit for SPICE validation on LRO because it seems to depend on the platform --- anise/src/naif/daf/daf.rs | 10 +++++++--- anise/tests/ephemerides/transform.rs | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/anise/src/naif/daf/daf.rs b/anise/src/naif/daf/daf.rs index 7049ba6a..f7d1e506 100644 --- a/anise/src/naif/daf/daf.rs +++ b/anise/src/naif/daf/daf.rs @@ -23,7 +23,7 @@ use core::fmt::Debug; use core::hash::Hash; use core::marker::PhantomData; use core::ops::Deref; -use hifitime::Epoch; +use hifitime::{Epoch, Unit}; use log::{debug, error, trace}; use snafu::ResultExt; @@ -185,7 +185,9 @@ impl GenericDAF { ) -> Result<(&R, usize), DAFError> { let (summary, idx) = self.summary_from_name(name)?; - if epoch >= summary.start_epoch() && epoch <= summary.end_epoch() { + if epoch >= summary.start_epoch() - Unit::Nanosecond * 100 + && epoch <= summary.end_epoch() + Unit::Nanosecond * 100 + { Ok((summary, idx)) } else { error!("No summary {name} valid at epoch {epoch}"); @@ -214,7 +216,9 @@ impl GenericDAF { // so we can't just call `summary_from_id`. for (idx, summary) in self.data_summaries()?.iter().enumerate() { if summary.id() == id { - if epoch >= summary.start_epoch() && epoch <= summary.end_epoch() { + if epoch >= summary.start_epoch() - Unit::Nanosecond * 100 + && epoch <= summary.end_epoch() + Unit::Nanosecond * 100 + { trace!("Found {id} in position {idx}: {summary:?}"); return Ok((summary, idx)); } else { diff --git a/anise/tests/ephemerides/transform.rs b/anise/tests/ephemerides/transform.rs index ca42e733..a5025592 100644 --- a/anise/tests/ephemerides/transform.rs +++ b/anise/tests/ephemerides/transform.rs @@ -238,6 +238,16 @@ fn validate_gh_283_multi_barycenter_and_los(almanac: Almanac) { spice::furnsh("../data/de440s.bsp"); spice::furnsh("../data/pck00008.tpc"); + // Regression test for GH #346 where the ephemeris time converted to UTC is a handful of + // nanoseconds past the midnight so the DAF query would normally fail. + let gh346_epoch = Epoch::from_gregorian_utc_at_midnight(2023, 12, 15); + assert!(almanac + .common_ephemeris_path(lro_frame, SUN_J2000, gh346_epoch) + .is_ok()); + assert!(almanac + .transform(lro_frame, SUN_J2000, gh346_epoch, None) + .is_ok()); + let epoch = Epoch::from_gregorian_utc_at_midnight(2024, 1, 1); // First, let's test that the common ephemeris path is correct @@ -282,8 +292,8 @@ fn validate_gh_283_multi_barycenter_and_los(almanac: Almanac) { dbg!(rss_pos_km, rss_vel_km_s); - assert!(rss_pos_km < f64::EPSILON); - assert!(rss_vel_km_s < 1e-15); + assert!(rss_pos_km < 5e-7); + assert!(rss_vel_km_s < 1e-12); // Compute the line of sight via the AER computation throughout a full orbit. From 55049ba053666eba16b78661f0a60c11bb5caea8 Mon Sep 17 00:00:00 2001 From: Christopher Rabotin Date: Mon, 4 Nov 2024 18:14:53 -0700 Subject: [PATCH 2/3] Version bump to 0.5 for assets --- .github/workflows/benchmarks.yml | 2 +- .github/workflows/python.yml | 8 ++++---- .github/workflows/rust.yml | 14 +++++++------- README.md | 6 +++--- anise-gui/src/ui.rs | 2 +- anise-py/anise.pyi | 2 +- ...mote SPICE and ANISE files (meta almanac).ipynb | 8 ++++---- ... frame kernels and text planetary kernels.ipynb | 2 +- anise/README.md | 6 +++--- anise/build.rs | 2 +- anise/src/almanac/metaload/metaalmanac.rs | 12 ++++++------ anise/src/almanac/metaload/mod.rs | 4 ++-- data/ci_config.dhall | 2 +- data/example_meta.dhall | 2 +- data/latest.dhall | 4 ++-- 15 files changed, 38 insertions(+), 38 deletions(-) diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index def2606c..3a4d9554 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -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.4/pck08.pca + wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.5/pck08.pca wget -O data/gmat-hermite.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite.bsp wget -O data/gmat-hermite-big-endian.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite-big-endian.bsp wget -O data/variable-seg-size-hermite.bsp http://public-data.nyxspace.com/anise/ci/variable-seg-size-hermite.bsp diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 77b65bb1..235bce15 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -27,8 +27,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.4/pck08.pca - wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.4/pck11.pca + wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.5/pck08.pca + wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.5/pck11.pca - uses: actions/setup-python@v5 with: @@ -226,8 +226,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.4/pck08.pca - wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.4/pck11.pca + wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.5/pck08.pca + wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.5/pck11.pca - name: Build sdist uses: PyO3/maturin-action@v1 diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 7a755100..2798a43b 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -44,9 +44,9 @@ jobs: 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/de440_type3.bsp http://public-data.nyxspace.com/anise/de440_type3.bsp - 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/pck08.pca http://public-data.nyxspace.com/anise/v0.5/pck08.pca + wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.5/pck11.pca + wget -O data/moon_fk.epa http://public-data.nyxspace.com/anise/v0.5/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/gmat-hermite-big-endian.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite-big-endian.bsp @@ -111,8 +111,8 @@ jobs: 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/de440_type3.bsp http://public-data.nyxspace.com/anise/de440_type3.bsp - 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/pck08.pca http://public-data.nyxspace.com/anise/v0.5/pck08.pca + wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.5/pck11.pca wget -O data/gmat-hermite.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite.bsp wget -O data/gmat-hermite-big-endian.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite-big-endian.bsp wget -O data/variable-seg-size-hermite.bsp http://public-data.nyxspace.com/anise/ci/variable-seg-size-hermite.bsp @@ -185,8 +185,8 @@ jobs: 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/de440_type3.bsp http://public-data.nyxspace.com/anise/de440_type3.bsp - 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/pck08.pca http://public-data.nyxspace.com/anise/v0.5/pck08.pca + wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.5/pck11.pca wget -O data/gmat-hermite.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite.bsp wget -O data/gmat-hermite-big-endian.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite-big-endian.bsp wget -O data/variable-seg-size-hermite.bsp http://public-data.nyxspace.com/anise/ci/variable-seg-size-hermite.bsp diff --git a/README.md b/README.md index 8a5eec49..29b5a45c 100644 --- a/README.md +++ b/README.md @@ -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.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` ++ [pck08.pca](http://public-data.nyxspace.com/anise/v0.5/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.5/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.5/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. diff --git a/anise-gui/src/ui.rs b/anise-gui/src/ui.rs index a1799d8a..71c95645 100644 --- a/anise-gui/src/ui.rs +++ b/anise-gui/src/ui.rs @@ -96,7 +96,7 @@ impl eframe::App for UiApp { egui::TopBottomPanel::top("header").show(ctx, |ui| { ui.horizontal_centered(|ui| { ui.vertical_centered(|ui| { - ui.heading("ANISE v0.4"); + ui.heading("ANISE v0.5"); ui.label("A modern rewrite of NASA's SPICE toolkit"); ui.hyperlink_to("Contact", "https://7ug5imdtt8v.typeform.com/to/neFvVW3p"); ui.hyperlink_to( diff --git a/anise-py/anise.pyi b/anise-py/anise.pyi index f46cbba9..25b223e7 100644 --- a/anise-py/anise.pyi +++ b/anise-py/anise.pyi @@ -312,7 +312,7 @@ The MetaAlmanac will download the DE440s.bsp file, the PCK0008.PCA, the full Moo # File list - -- +- - - diff --git a/anise-py/tutorials/Tutorial 02 - Loading remote SPICE and ANISE files (meta almanac).ipynb b/anise-py/tutorials/Tutorial 02 - Loading remote SPICE and ANISE files (meta almanac).ipynb index a2113153..93429dd7 100644 --- a/anise-py/tutorials/Tutorial 02 - Loading remote SPICE and ANISE files (meta almanac).ipynb +++ b/anise-py/tutorials/Tutorial 02 - Loading remote SPICE and ANISE files (meta almanac).ipynb @@ -94,10 +94,10 @@ ", uri = \"http://public-data.nyxspace.com/anise/de440s.bsp\"\n", "}\n", ", { crc32 = Some 2899443223\n", - ", uri = \"http://public-data.nyxspace.com/anise/v0.4/pck11.pca\"\n", + ", uri = \"http://public-data.nyxspace.com/anise/v0.5/pck11.pca\"\n", "}\n", ", { crc32 = Some 2133296540\n", - ", uri = \"http://public-data.nyxspace.com/anise/v0.4/moon_fk.epa\"\n", + ", uri = \"http://public-data.nyxspace.com/anise/v0.5/moon_fk.epa\"\n", "}\n", ", { crc32 = Some 1817759242\n", ", uri = \"http://public-data.nyxspace.com/anise/moon_pa_de440_200625.bpc\"\n", @@ -238,7 +238,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "MetaAlmanac { files: [MetaFile { uri: \"http://public-data.nyxspace.com/anise/de440s.bsp\", crc32: Some(1921414410) }, MetaFile { uri: \"http://public-data.nyxspace.com/anise/v0.4/pck11.pca\", crc32: Some(2899443223) }, MetaFile { uri: \"http://public-data.nyxspace.com/anise/v0.4/moon_fk.epa\", crc32: Some(2133296540) }, MetaFile { uri: \"http://public-data.nyxspace.com/anise/moon_pa_de440_200625.bpc\", crc32: Some(1817759242) }, MetaFile { uri: \"https://naif.jpl.nasa.gov/pub/naif/generic_kernels/pck/earth_latest_high_prec.bpc\", crc32: None }] }\n" + "MetaAlmanac { files: [MetaFile { uri: \"http://public-data.nyxspace.com/anise/de440s.bsp\", crc32: Some(1921414410) }, MetaFile { uri: \"http://public-data.nyxspace.com/anise/v0.5/pck11.pca\", crc32: Some(2899443223) }, MetaFile { uri: \"http://public-data.nyxspace.com/anise/v0.5/moon_fk.epa\", crc32: Some(2133296540) }, MetaFile { uri: \"http://public-data.nyxspace.com/anise/moon_pa_de440_200625.bpc\", crc32: Some(1817759242) }, MetaFile { uri: \"https://naif.jpl.nasa.gov/pub/naif/generic_kernels/pck/earth_latest_high_prec.bpc\", crc32: None }] }\n" ] } ], @@ -502,7 +502,7 @@ "only_de440s = Almanac(\"../../data/de440s.bsp\").load(\"../../data/pck11.pca\")\n", "print(only_de440s)\n", "# Now load a PCA from the Nyx Space cloud\n", - "de440s_and_moon = only_de440s.load_from_metafile(MetaFile(\"http://public-data.nyxspace.com/anise/v0.4/moon_fk.epa\", 2133296540))\n", + "de440s_and_moon = only_de440s.load_from_metafile(MetaFile(\"http://public-data.nyxspace.com/anise/v0.5/moon_fk.epa\", 2133296540))\n", "print(de440s_and_moon)" ] }, diff --git a/anise-py/tutorials/Tutorial 05 - Using frame kernels and text planetary kernels.ipynb b/anise-py/tutorials/Tutorial 05 - Using frame kernels and text planetary kernels.ipynb index c1d3a8b7..1ff419db 100644 --- a/anise-py/tutorials/Tutorial 05 - Using frame kernels and text planetary kernels.ipynb +++ b/anise-py/tutorials/Tutorial 05 - Using frame kernels and text planetary kernels.ipynb @@ -299,7 +299,7 @@ "\n", "Here are the general steps:\n", "\n", - "1. Load the latest Almanac, and check (by printing it) that it includes both EPA and PCA data. Else, load the moon_fk.epa file from the Nyx Space Cloud using a MetaFile with the URL .\n", + "1. Load the latest Almanac, and check (by printing it) that it includes both EPA and PCA data. Else, load the moon_fk.epa file from the Nyx Space Cloud using a MetaFile with the URL .\n", "2. Define a time series over a year with a granularity of 12 hours. This crater is on the South Pole of the Moon, and its visibility is often below the horizon of an object as far north as Paris.\n", "3. For each epoch, define Paris as an `Orbit` instance from its longitude and latitde (recall that the constants include the mean Earth angular rotation rate), in the IAU_EARTH frame. Also build the crater in the IAU_MOON frame.\n", "4. Finally, call the AER function of the Almanac with each epoch to compute the AER data. Plot it!" diff --git a/anise/README.md b/anise/README.md index 42b94e40..abfd3f50 100644 --- a/anise/README.md +++ b/anise/README.md @@ -183,9 +183,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.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` ++ [pck08.pca](http://public-data.nyxspace.com/anise/v0.5/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.5/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.5/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(true)` in Python. diff --git a/anise/build.rs b/anise/build.rs index 6c563285..10ea566d 100644 --- a/anise/build.rs +++ b/anise/build.rs @@ -15,7 +15,7 @@ fn main() { let embedded_files = [ ( - "http://public-data.nyxspace.com/anise/v0.4/pck11.pca", + "http://public-data.nyxspace.com/anise/v0.5/pck11.pca", format!("{}/../data/pck11.pca", env!("CARGO_MANIFEST_DIR")), ), ( diff --git a/anise/src/almanac/metaload/metaalmanac.rs b/anise/src/almanac/metaload/metaalmanac.rs index f826d69e..0cd0e27c 100644 --- a/anise/src/almanac/metaload/metaalmanac.rs +++ b/anise/src/almanac/metaload/metaalmanac.rs @@ -87,7 +87,7 @@ impl MetaAlmanac { /// /// # File list /// - - /// - + /// - /// - /// - /// @@ -165,7 +165,7 @@ impl MetaAlmanac { /// /// # File list /// - - /// - + /// - /// - /// - /// @@ -238,8 +238,8 @@ impl MetaAlmanac { /// /// # File list /// - -/// - -/// - +/// - +/// - /// - /// - /// @@ -261,11 +261,11 @@ impl Default for MetaAlmanac { crc32: Some(0x7286750a), }, MetaFile { - uri: nyx_cloud_stor.join("v0.4/pck11.pca").unwrap().to_string(), + uri: nyx_cloud_stor.join("v0.5/pck11.pca").unwrap().to_string(), crc32: Some(0x8213b6e9), }, MetaFile { - uri: nyx_cloud_stor.join("v0.4/moon_fk.epa").unwrap().to_string(), + uri: nyx_cloud_stor.join("v0.5/moon_fk.epa").unwrap().to_string(), crc32: Some(0xb93ba21), }, MetaFile { diff --git a/anise/src/almanac/metaload/mod.rs b/anise/src/almanac/metaload/mod.rs index 3b4ff15d..d3e583a5 100644 --- a/anise/src/almanac/metaload/mod.rs +++ b/anise/src/almanac/metaload/mod.rs @@ -143,10 +143,10 @@ mod meta_test { , uri = "http://public-data.nyxspace.com/anise/de440s.bsp" } , { crc32 = Some 0x8213b6e9 - , uri = "http://public-data.nyxspace.com/anise/v0.4/pck11.pca" + , uri = "http://public-data.nyxspace.com/anise/v0.5/pck11.pca" } , { crc32 = Some 0xb93ba21 - , uri = "http://public-data.nyxspace.com/anise/v0.4/moon_fk.epa" + , uri = "http://public-data.nyxspace.com/anise/v0.5/moon_fk.epa" } , { crc32 = Some 0xcde5ca7d , uri = "http://public-data.nyxspace.com/anise/moon_pa_de440_200625.bpc" diff --git a/data/ci_config.dhall b/data/ci_config.dhall index ac1add8e..21f1890e 100644 --- a/data/ci_config.dhall +++ b/data/ci_config.dhall @@ -4,7 +4,7 @@ , uri = "http://public-data.nyxspace.com/anise/de440s.bsp" } , { crc32 = Some 3072159656 - , uri = "http://public-data.nyxspace.com/anise/v0.4/pck08.pca" + , uri = "http://public-data.nyxspace.com/anise/v0.5/pck08.pca" } , { crc32 = None Natural , uri = diff --git a/data/example_meta.dhall b/data/example_meta.dhall index c714370a..3c8c6b0b 100644 --- a/data/example_meta.dhall +++ b/data/example_meta.dhall @@ -9,7 +9,7 @@ let Meta let NyxAsset : Text -> Text - = \(file : Text) -> "http://public-data.nyxspace.com/anise/v0.4/${file}" + = \(file : Text) -> "http://public-data.nyxspace.com/anise/v0.5/${file}" let JplAsset : Text -> Text diff --git a/data/latest.dhall b/data/latest.dhall index 2ffc6792..fa79dfae 100644 --- a/data/latest.dhall +++ b/data/latest.dhall @@ -4,10 +4,10 @@ , uri = "http://public-data.nyxspace.com/anise/de440s.bsp" } , { crc32 = Some 0x8213b6e9 - , uri = "http://public-data.nyxspace.com/anise/v0.4/pck11.pca" + , uri = "http://public-data.nyxspace.com/anise/v0.5/pck11.pca" } , { crc32 = Some 0xb93ba21 - , uri = "http://public-data.nyxspace.com/anise/v0.4/moon_fk.epa" + , uri = "http://public-data.nyxspace.com/anise/v0.5/moon_fk.epa" } , { crc32 = Some 0xcde5ca7d , uri = "http://public-data.nyxspace.com/anise/moon_pa_de440_200625.bpc" From 6f43aa9c367187d12cfbeddfd2e55b20d7eca247 Mon Sep 17 00:00:00 2001 From: Christopher Rabotin Date: Mon, 4 Nov 2024 18:26:07 -0700 Subject: [PATCH 3/3] Fix BPC columns in gui --- anise-gui/src/bpc.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/anise-gui/src/bpc.rs b/anise-gui/src/bpc.rs index 2c459911..5a0b56be 100644 --- a/anise-gui/src/bpc.rs +++ b/anise-gui/src/bpc.rs @@ -58,6 +58,15 @@ pub fn bpc_ui( ui.label(name); }); + row.col(|ui| match orientation_name_from_id(summary.frame_id) { + Some(name) => { + ui.label(format!("{name} ({})", summary.frame_id)); + } + None => { + ui.label(format!("{}", summary.frame_id)); + } + }); + row.col(|ui| { if show_unix { ui.text_edit_singleline(&mut format!( @@ -80,15 +89,6 @@ pub fn bpc_ui( }; }); - row.col(|ui| match orientation_name_from_id(summary.frame_id) { - Some(name) => { - ui.label(format!("{name} ({})", summary.frame_id)); - } - None => { - ui.label(format!("{}", summary.frame_id)); - } - }); - row.col( |ui| match orientation_name_from_id(summary.inertial_frame_id) { Some(name) => {