Skip to content

Commit 67e7896

Browse files
committed
chore: add 3rd-party data licenses
1 parent be0b433 commit 67e7896

File tree

32 files changed

+91
-63
lines changed

32 files changed

+91
-63
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

LICENSES/LicenseRef-SPICE.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Kernels Redistribution
2+
----------------------
3+
Redistribution of SPICE kernels distributed by NAIF is permitted as long as they have not been modified.
4+
If a kernel distributed by NAIF has been modified in any way, any embedded or otherwise allied attribution of the
5+
original kernel producer must be replaced with the name and institution of whomever has made the last modification.
6+
Redistribution of kernels distributed by any other entity is subject to the rules on and of that entity.
7+
8+
Excerpted from https://naif.jpl.nasa.gov/naif/rules.html

REUSE.toml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
1+
# SPDX-FileCopyrightText: 2025 Helge Eichhorn <[email protected]>
2+
#
3+
# SPDX-License-Identifier: MPL-2.0
4+
15
version = 1
26

37
[[annotations]]
4-
path = "crates/lox-test-data/test-data/*"
8+
path = "data/iers/*"
9+
SPDX-FileCopyrightText = "2025 Bundesamt für Kartographie und Geodäsie (BKG)"
10+
SPDX-License-Identifier = "CC0-1.0"
11+
12+
[[annotations]]
13+
path = "data/spice/*"
14+
SPDX-FileCopyrightText = "2025 NASA JPL"
15+
SPDX-License-Identifier = "LicenseRef-SPICE"
16+
17+
[[annotations]]
18+
path = "data/*"
519
SPDX-FileCopyrightText = "2023 Helge Eichhorn <[email protected]>"
620
SPDX-License-Identifier = "CC0-1.0"
721

crates/lox-earth/src/eop.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ impl EopProvider {
337337

338338
#[cfg(test)]
339339
mod tests {
340-
use lox_test_utils::data_dir;
340+
use lox_test_utils::data_file;
341341
use lox_time::{Time, time_scales::Tai};
342342

343343
use super::*;
@@ -353,7 +353,7 @@ mod tests {
353353
fn test_eop_provider_missing_iau2000() {
354354
let t: Time<Tai> = Time::default();
355355
let eop = EopParser::new()
356-
.from_path(data_dir().join("finals.all.csv"))
356+
.from_path(data_file("iers/finals.all.csv"))
357357
.parse()
358358
.unwrap();
359359
eop.nutation_precession_iau2000(t).unwrap();
@@ -364,7 +364,7 @@ mod tests {
364364
fn test_eop_provider_missing_iau1980() {
365365
let t: Time<Tai> = Time::default();
366366
let eop = EopParser::new()
367-
.from_path(data_dir().join("finals2000A.all.csv"))
367+
.from_path(data_file("iers/finals2000A.all.csv"))
368368
.parse()
369369
.unwrap();
370370
eop.nutation_precession_iau1980(t).unwrap();

crates/lox-earth/src/ut1.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ mod tests {
6565

6666
use super::*;
6767
use lox_test_utils::assert_approx_eq;
68-
use lox_test_utils::data_dir;
68+
use lox_test_utils::data_file;
6969
use lox_time::Time;
7070
use lox_time::deltas::ToDelta;
7171
use lox_time::subsecond::Subsecond;
@@ -280,8 +280,8 @@ mod tests {
280280
PROVIDER.get_or_init(|| {
281281
EopParser::new()
282282
.from_paths(
283-
data_dir().join("finals.all.csv"),
284-
data_dir().join("finals2000A.all.csv"),
283+
data_file("iers/finals.all.csv"),
284+
data_file("iers/finals2000A.all.csv"),
285285
)
286286
.leap_seconds_provider(Box::new(BuiltinLeapSeconds))
287287
.parse()

crates/lox-io/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,5 @@ serde_json.workspace = true
2929
thiserror.workspace = true
3030

3131
[dev-dependencies]
32+
lox-test-utils.workspace = true
3233
rstest.workspace = true

crates/lox-io/tests/gm.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33
// SPDX-License-Identifier: MPL-2.0
44

55
use lox_io::spice::Kernel;
6+
use lox_test_utils::read_data_file;
67

78
#[test]
89
fn test_gm() {
9-
let gm = include_str!("../../../data/gm_de440.tpc");
10-
let kernel = Kernel::from_string(gm).expect("file should be parsable");
10+
let gm = read_data_file("spice/gm_de440.tpc");
11+
let kernel = Kernel::from_string(&gm).expect("file should be parsable");
1112
assert_eq!(kernel.type_id(), "PCK");
1213

1314
assert!(!kernel.keys().is_empty());

crates/lox-io/tests/lsk.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33
// SPDX-License-Identifier: MPL-2.0
44

55
use lox_io::spice::{Kernel, lsk::LeapSecondsKernel};
6+
use lox_test_utils::{data_file, read_data_file};
67

78
#[test]
89
fn test_lsk() {
9-
let lsk = include_str!("../../../data/naif0012.tls");
10-
let kernel = Kernel::from_string(lsk).expect("file should be parsable");
10+
let lsk = read_data_file("spice/naif0012.tls");
11+
let kernel = Kernel::from_string(&lsk).expect("file should be parsable");
1112
assert_eq!(kernel.type_id(), "LSK");
1213

1314
assert!(!kernel.keys().is_empty());
@@ -78,5 +79,5 @@ fn test_lsk() {
7879
assert!(kernel.get_timestamp_array("DELTET/DELTA_T_A").is_none());
7980
assert!(kernel.get_double("DELTET/DELTA_AT").is_none());
8081
assert!(kernel.get_double_array("DELTET/DELTA_AT").is_none());
81-
assert!(LeapSecondsKernel::from_file("../../data/naif0012.tls").is_ok());
82+
assert!(LeapSecondsKernel::from_file(data_file("spice/naif0012.tls")).is_ok());
8283
}

crates/lox-io/tests/pck.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33
// SPDX-License-Identifier: MPL-2.0
44

55
use lox_io::spice::Kernel;
6+
use lox_test_utils::read_data_file;
67

78
#[test]
89
fn test_pck() {
9-
let pck = include_str!("../../../data/pck00011.tpc");
10-
let kernel = Kernel::from_string(pck).expect("file should be parsable");
10+
let pck = read_data_file("spice/pck00011.tpc");
11+
let kernel = Kernel::from_string(&pck).expect("file should be parsable");
1112
assert_eq!(kernel.type_id(), "PCK");
1213

1314
let exp = vec![286.13, 0., 0.];

crates/lox-orbits/src/analysis.rs

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ where
481481
mod tests {
482482
use lox_bodies::Earth;
483483
use lox_ephem::spk::parser::{Spk, parse_daf_spk};
484-
use lox_test_utils::{assert_approx_eq, data_dir};
484+
use lox_test_utils::{assert_approx_eq, data_dir, data_file, read_data_file};
485485
use lox_time::Time;
486486
use lox_time::time_scales::Tai;
487487
use lox_time::utc::Utc;
@@ -533,7 +533,7 @@ mod tests {
533533
let gs = ground_station_trajectory();
534534
let sc = spacecraft_trajectory();
535535
let mask = ElevationMask::with_fixed_elevation(0.0);
536-
let expected: Vec<Radians> = include_str!("../../../data/elevation.csv")
536+
let expected: Vec<Radians> = read_data_file("elevation.csv")
537537
.lines()
538538
.map(|line| line.parse::<f64>().unwrap().to_radians())
539539
.collect();
@@ -626,26 +626,16 @@ mod tests {
626626
}
627627

628628
fn ground_station_trajectory() -> Trajectory<Tai, Earth, Icrf> {
629-
Trajectory::from_csv(
630-
include_str!("../../../data/trajectory_cebr.csv"),
631-
Earth,
632-
Icrf,
633-
)
634-
.unwrap()
629+
Trajectory::from_csv(&read_data_file("trajectory_cebr.csv"), Earth, Icrf).unwrap()
635630
}
636631

637632
fn spacecraft_trajectory() -> Trajectory<Tai, Earth, Icrf> {
638-
Trajectory::from_csv(
639-
include_str!("../../../data/trajectory_lunar.csv"),
640-
Earth,
641-
Icrf,
642-
)
643-
.unwrap()
633+
Trajectory::from_csv(&read_data_file("trajectory_lunar.csv"), Earth, Icrf).unwrap()
644634
}
645635

646636
fn spacecraft_trajectory_dyn() -> DynTrajectory {
647637
Trajectory::from_csv_dyn(
648-
include_str!("../../../data/trajectory_lunar.csv"),
638+
&read_data_file("trajectory_lunar.csv"),
649639
DynOrigin::Earth,
650640
DynFrame::Icrf,
651641
)
@@ -666,8 +656,7 @@ mod tests {
666656

667657
fn contacts() -> Vec<Window<Tai>> {
668658
let mut windows = vec![];
669-
let mut reader =
670-
csv::Reader::from_reader(include_str!("../../../data/contacts.csv").as_bytes());
659+
let mut reader = csv::Reader::from_path(data_file("contacts.csv")).unwrap();
671660
for result in reader.records() {
672661
let record = result.unwrap();
673662
let start = record[0].parse::<Utc>().unwrap().to_time();
@@ -679,9 +668,7 @@ mod tests {
679668

680669
fn contacts_combined() -> Vec<Window<DynTimeScale>> {
681670
let mut windows = vec![];
682-
let mut reader = csv::Reader::from_reader(
683-
include_str!("../../../data/contacts_combined.csv").as_bytes(),
684-
);
671+
let mut reader = csv::Reader::from_path(data_file("contacts_combined.csv")).unwrap();
685672
for result in reader.records() {
686673
let record = result.unwrap();
687674
let start = record[0].parse::<Utc>().unwrap().to_dyn_time();
@@ -692,7 +679,7 @@ mod tests {
692679
}
693680

694681
fn ephemeris() -> &'static Spk {
695-
let contents = std::fs::read(data_dir().join("de440s.bsp")).unwrap();
682+
let contents = std::fs::read(data_dir().join("spice/de440s.bsp")).unwrap();
696683
static EPHEMERIS: OnceLock<Spk> = OnceLock::new();
697684
EPHEMERIS.get_or_init(|| parse_daf_spk(&contents).unwrap())
698685
}

0 commit comments

Comments
 (0)