1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// SPDX-License-Identifier: AGPL-3.0-or-later
// Copyright (C) 2026 Vallés Puig, Ramon
//! # Precise Orbit Determination (POD) toolkit
//!
//! ## Scientific scope
//!
//! `siderust::pod` is a library of typed building blocks for Precise Orbit
//! Determination (POD) of artificial satellites — GNSS and LEO — built on
//! the rest of `siderust` and the [`qtty`], [`tempoch`], and [`affn`]
//! baseline crates. Enable it with the `pod` Cargo feature.
//!
//! The module provides the geophysical primitives needed by any POD pipeline:
//!
//! - typed problem definitions and run metadata ([`problem`], [`run`]),
//! - high-fidelity force-model composition, propagation, and process-noise building blocks on top of `siderust` ([`force`], [`propagation`], [`process`]),
//! - observation models for GNSS pseudorange and carrier-phase and SLR
//! normal points ([`observation`]),
//! - batch and sequential estimators ([`estimation`]),
//! - I/O compatibility aliases bridging `siderust::formats` ([`io`]),
//! - quality-control products and reproducibility artifacts ([`qc`], [`product`]).
//!
//! Mission-specific code (e.g. LISA orbit readers, inter-satellite range
//! models) is kept in `siderust/examples/` rather than the library source.
//!
//! The full POD 1.0 spec — Batch Weighted Least Squares with STM and
//! variational equations, IGS golden-test interoperability, SLR Marini-
//! Murray, sequential filters, multi-arc combination, and external
//! validation against IGS/ILRS data — is tracked in the long-term
//! roadmap (`reqs-and-plan.md`).
//!
//! ## Technical scope
//!
//! Every public API uses typed quantities (`qtty::*`), typed instants
//! (`tempoch::Time<S, F>`), and typed coordinates (`affn::*` /
//! `siderust::coordinates::*`); raw `f64` is reserved for internal math
//! kernels. `forbid(unsafe_code)` is enforced at the workspace level.
//!
//! Workspace lints enforce a zero-tolerance posture: `missing_docs` is
//! denied, `todo!`/`unimplemented!`/`dbg!` are denied, and
//! `broken_intra_doc_links` is denied.
//!
//! ## Modules
//!
//! | Module | Contents |
//! |------------------|-----------------------------------------------------------------|
//! | [`spice`] | DAF/SPK kernel reader and SPICE ephemeris provider |
//! | [`io`] | I/O compatibility aliases for `siderust::formats` |
//! | [`problem`] | POD problem primitives: arcs, parameters, covariance |
//! | [`run`] | Run-level provenance and dataset references |
//! | [`providers`] | Ephemeris provider traits bridging POD code to services |
//! | [`force`] | Force-model configuration, registries, empirical accelerations |
//! | [`propagation`] | Integrators, adapters, variational propagation, STM helpers |
//! | [`process`] | Process-noise models and Q-matrix construction |
//! | [`observation`] | Typed measurement models: GNSS, SLR |
//! | [`estimation`] | Batch (WLS, Gauss-Newton) and sequential estimator scaffolding |
//! | [`qc`] | Quality-control and validation products |
//! | [`product`] | SP3, OEM, residual CSV/Parquet, manifest writers |
//!
//! ## References
//!
//! - Tapley, B. D., Schutz, B. E., & Born, G. H. (2004). *Statistical
//! Orbit Determination*. Elsevier Academic Press.
//! - Montenbruck, O., & Gill, E. (2000). *Satellite Orbits — Models,
//! Methods, and Applications*. Springer.
//! - International GNSS Service (2024). *IGS Products Guide*.
//! - Petit, G., & Luzum, B. (Eds.) (2010). *IERS Conventions (2010)*.
//! IERS Technical Note 36.