Expand description
Raw FFI bindings to libempyrean, the C shared library for empyrean’s
astrodynamics engine.
Prefer the safe wrapper crate empyrean
unless you need direct access to the C ABI.
§How libempyrean is loaded
The library is opened at run time with libloading — there is no
link-time native dependency and no install_name_tool / patchelf / rpath /
LD_LIBRARY_PATH setup. Its path is resolved on first use, in order:
EMPYREAN_LIB— an explicit path to the library, passed straight todlopen(override / offline use / a locally built engine). A bare name defers to the OS loader search; pass a full path for an exact file.- A
libempyrean.{dylib,so}sitting next to the currently loaded module — the.so/.dylib/executable that statically links this crate — located viadladdr. This makes prebuilt, relocatable artifacts self-contained: a Python wheel can bundle the engine beside its extension and it is found with no build-machine path baked in. - The absolute path recorded at build time (
LIB_PATH): a sibling../target/releasebuild, anEMPYREAN_LIB_DIRoverride, or a version-matched, checksum-pinned prebuilt downloaded (in pure Rust — nocurl/tar) into~/.cache/empyrean. This coverscargo add empyrean, where the build script runs on the consumer’s own machine.
The bindings are pre-generated and committed, so building needs no C header
and no libclang / bindgen. Callers use the free empyrean_* functions
exactly as with a statically linked library; each delegates to the loaded
EmpyreanLib.
Structs§
- Context
- Coordinate
State - Flat C-ABI compatible coordinate state.
- Empyrean
Acceptability Report - Acceptability sub-checks computed post-DC.
- Empyrean
Acceptability Thresholds - Acceptability thresholds for the post-DC fit-quality checks
(mirrors [
scott::od::AcceptabilityThresholds]). Sentinel:0.0→ upstream default. - Empyrean
Advanced Integrator Config - Integrator tuning. Mirrors
[
villeneuve::propagation::AdvancedIntegratorConfig]. The default integrator backend is Gauss-Radau 15 (GR15), derived solely from the published papers;epsilonis interpreted as the relative b₆ truncation tolerance. - Empyrean
Auto Escalation Policy - Auto-escalation policy for [
SolveForParams::Auto] (mirrors [scott::od::AutoEscalationPolicy]). Sentinel:0/0.0→ upstream default. - EmpyreanB
Plane - One B-plane breakdown emitted by
empyrean_compute_b_planes. Mirrors [empyrean_core::impact::BPlaneData] flattened to primitives. Nullable f64 fields use NaN sentinels. - EmpyreanB
Planes Result - Empyrean
Band Stat - Per-band photometric statistics (mirrors scott’s
BandStat). Owned heap entry, freed byempyrean_od_result_free. - Empyrean
Built System - Opaque handle wrapping a pre-assembled force model plus the
kernel-identity snapshot taken from the context at construction (so
empyrean_builtsystem_describeis self-contained). Construct withempyrean_builtsystem_new; release withempyrean_builtsystem_free. - Empyrean
Covariance Metrics - Covariance summary metrics (prior, posterior, or per-candidate cumulative).
- Empyrean
Debiasing Config - Catalog-bias-correction configuration. Mirrors scott’s
Option<Arc<DebiasingTable>>field onODConfig. - Empyrean
Diagnostics Config - Per-trajectory diagnostic outputs (sensitivity, nonlinearity, …).
Mirrors [
villeneuve::diagnostics::DiagnosticsConfig]. - Empyrean
Ephemeris Config - Ephemeris-generation configuration.
- Empyrean
Ephemeris Entry - A single predicted ephemeris entry.
- Empyrean
Ephemeris Result - Result containing an array of ephemeris entries and, when an uncertainty method traced the STM, the observation-sensitivity chains.
- Empyrean
Evaluate Result - Result of orbit evaluation (residuals without fitting).
- Empyrean
Event - A detected dynamical event from propagation.
- Empyrean
Event Config - Event-detection configuration. Mirrors
[
villeneuve::events::EventConfig] (less theenrichmentsub-config, which carries internal nested data that doesn’t translate cleanly through C — it always uses upstream defaults). - Empyrean
Gate Record - One model-ladder gate decision (mirrors scott’s
GateRecord). Owned heap entry, freed byempyrean_od_result_free. - EmpyreanIOD
Config - IOD ranging tuning (mirrors the IOD section of [
scott::od::ODConfig]). - Empyrean
Impact Probabilities Result - Empyrean
Impact Probability - One impact-probability record emitted by
empyrean_compute_impact_probabilities. Mirrors [empyrean_core::impact::ImpactProbability] flattened to primitives; nullable fields use NaN sentinels (Option) or 0 / null (Option ). - Empyrean
Kernel Record - One entry of the kernel-identity manifest captured by a handle.
- Empyrean
Lib - Empyrean
Mixture Chain - Per-orbit AGM mixture decomposition retained by Auto / Mixture.
- Empyrean
Mixture Component - One Gaussian sub-component of an AGM mixture decomposition.
- Empyrean
NonGrav Params - A complete non-gravitational acceleration model, flattened for the C ABI.
- EmpyreanOD
Config - Orbit-determination configuration.
- EmpyreanOD
Photometry Result - Post-OD photometric solution (mirrors scott’s
PhotometryResult). Present only when photometry was requested and ran (EmpyreanODResult::has_photometry). H carries honest σ via thecovarianceblock. - EmpyreanOD
Result - Mirrors scott’s
ODResult. Carries the fitted orbit, the 6×6 (or 9×9 when non-grav was solved) formal covariance, the per-observation result array, the summary, the structured acceptability report, and the per-station nuisance-bias array whenfit_station_biaseswas active. - Empyrean
Observation - A single optical observation for orbit determination — full ADES schema.
- Empyrean
Observation Result - Per-observation result from orbit determination or evaluation.
- Empyrean
Observation Sensitivity - One observation-sensitivity row — the partial derivatives of the
sky-plane observable w.r.t. the input state, for a single
(orbit, observer, epoch). One row per observation epoch within each(orbit_id, obs_code)chain. Owning struct: free the whole result withempyrean_ephemeris_result_free. - Empyrean
Observatory Config - Per-observatory assumptions: astrometric σ + observability filters.
- Empyrean
Observer - A single observer state for the C API.
- Empyrean
Observer Result - Result containing an array of observer states.
- Empyrean
Orbit - An orbit with optional non-gravitational parameters, continuous-thrust arcs, and photometry.
- Empyrean
Orbit Batch - A batch of orbits with their identifiers.
- Empyrean
Origin Policy - Origin-policy selector for the OD pipeline (mirrors
[
OriginPolicy]). - Empyrean
Origin Switching Config - Origin-switching configuration for trajectory splitting at body Laplace spheres of influence (Amato/Baù/Bombardelli 2017 §6).
- Empyrean
Output Epoch - Output epoch specification (mirrors [
OutputEpoch]). - Empyrean
Photometry Config - Post-OD photometric-fit request (mirrors scott’s
PhotometryConfig). Enabled byEmpyreanODConfig::has_photometry; the fit runs after the orbit is solved and never touches the state (photometry has no astrometric partials). Zero-init reproduces scott’s defaults. - Empyrean
Plan Candidate - Per-candidate information-gain analysis.
- Empyrean
Plan Ephemeris Point - One predicted sky-plane point of the plan’s optical ephemeris: the target’s predicted topocentric right ascension and declination (degrees, ICRF) at an optical candidate’s epoch (MJD, TDB).
- Empyrean
Plan Result - Result of a plan evaluation. The caller allocates the struct; the
orbit_idstring and thecandidatesarray (with theirobs_codestrings) are heap-allocated here and must be released withempyrean_plan_result_free. - Empyrean
Planned Observation - A single planned (candidate) observation: an epoch plus either an optical or
a radar measurement spec. Optical fields are read when
kind == 0, radar fields whenkind == 1; absent optional radar target properties use NaN (the link budget refuses, rather than silently defaults, a missing value). - Empyrean
Planning Config - Planning configuration: force model, integration tolerance, the per-observatory astrometric assumptions, and threading.
- Empyrean
Propagated State - A single propagated Cartesian state.
- Empyrean
Propagation Config - Propagation configuration.
- Empyrean
Propagation Result - Propagation result containing states, events, and object identifiers.
- Empyrean
Radar Observation - A single radar (delay or Doppler) observation for orbit determination —
the ADES
<radar>schema. - Empyrean
Rejection Config - Outlier rejection configuration. Selects between two strategies via
the
kinddiscriminator: - Empyrean
Residual Summary - Aggregate residual statistics.
- EmpyreanSRP
Params - The fitted orbit’s absolute solar-radiation-pressure slot, flattened
for the C ABI. Mirrors the SRP fields the input
EmpyreanOrbitcarries so a fitted orbit’s SRP force re-feeds offEmpyreanODResult::srpwith no loss. - Empyrean
Session Diff - Pairwise diagnostic returned by
empyrean_session_diff. - Empyrean
Solve For - Result of orbit determination (determine or refine).
- Empyrean
Solved Covariance - Full solved-parameter covariance at the ABI-frozen width
EMPYREAN_SOLVE_WIDTH(mirrors scott’sSolvedCovariancetag-for-tag). The leadingwidth × widthblock is meaningful; rows and columns beyondwidthare zero (RESERVED, not defaulted covariance). Consumers MUST read the slot tags to locate a parameter — the width alone is ambiguous (width 9 is Marsden OR a one-segment thrust). An absent tag carriesEMPYREAN_SLOT_NONE. - Empyrean
State - A single body state for the C API.
- Empyrean
State Result - Result containing an array of body states.
- Empyrean
Station Bias - One per-station bias estimate from a Schur-eliminated nuisance fit.
- Empyrean
Station RaDec Config - Per-station RA/Dec bias-fit configuration (mirrors
[
scott::nuisance::BiasKind::StationRaDec]). - Empyrean
System Description - A reproducibility summary of a handle’s frozen force model plus its captured kernel-identity manifest.
- Empyrean
Tagged Covariance - Flattened, owned form of
empyrean_core::propagation::TaggedCovariance(villeneuve’s provenance-tagged covariance). Self-describing: the 6×6 matrix together with the co-located nominal state, how the covariance was derived, its definiteness, its basis, the solved-for parameters, and the functional it describes — so a consumer can never read a second-order CA ellipsoid as a linear one. - Empyrean
Tagged Covariance Series - Owned series of
EmpyreanTaggedCovariance, one entry per output epoch. Free withempyrean_tagged_covariance_series_free. - Empyrean
Thrust Arc - A single continuous-thrust arc, mirroring
[
empyrean_core::nongrav::ThrustArc] as a flat#[repr(C)]record. - Empyrean
Uncertainty Method - Uncertainty-propagation method, mirroring
[
empyrean_core::propagation::UncertaintyMethod] as a flat C struct. Fields outside the active variant are ignored — set them to zero / NaN. - Empyrean
Versions - Per-crate version strings reported by the empyrean stack.
- Empyrean
Weighting Config - Weighting configuration. Mirrors
[
scott::weighting::WeightingConfig] structurally; extends it with anenabledtoggle and a preset selector for the common case of “use the production preset” without constructing layers by hand. - Empyrean
Weighting Layer - One element of
EmpyreanWeightingConfig::additional_layers. Tagged-union shape: the active fields depend onkind. - Session
Constants§
- EMPYREAN_
ABI_ VERSION - EMPYREAN_
BUILTSYSTEM_ ALLOC - EMPYREAN_
BUILTSYSTEM_ DATA_ MISMATCH - EMPYREAN_
BUILTSYSTEM_ INVALID_ ARGUMENT - EMPYREAN_
BUILTSYSTEM_ KEY_ MISMATCH_ DIVISOR - EMPYREAN_
BUILTSYSTEM_ KEY_ MISMATCH_ FORCE_ MODEL - EMPYREAN_
BUILTSYSTEM_ KEY_ MISMATCH_ FRAME - EMPYREAN_
BUILTSYSTEM_ NULL_ POINTER - EMPYREAN_
BUILTSYSTEM_ OK - EMPYREAN_
BUILTSYSTEM_ PANIC - EMPYREAN_
BUILTSYSTEM_ PROPAGATION - EMPYREAN_
BUILTSYSTEM_ STALE - EMPYREAN_
COVARIANCE_ KIND_ LINEAR - EMPYREAN_
COVARIANCE_ KIND_ MIXTURE - EMPYREAN_
COVARIANCE_ KIND_ MONTE_ CARLO - EMPYREAN_
COVARIANCE_ KIND_ SECOND_ ORDER - EMPYREAN_
COVARIANCE_ KIND_ SIGMA_ POINT - EMPYREAN_
COVARIANCE_ KIND_ THIRD_ ORDER - EMPYREAN_
COVARIANCE_ QUALITY_ INDEFINITE - EMPYREAN_
COVARIANCE_ QUALITY_ POSITIVE_ DEFINITE - EMPYREAN_
COVARIANCE_ QUALITY_ REPAIRED - EMPYREAN_
COVARIANCE_ TRUST_ ENCOUNTER_ INTERVENES - EMPYREAN_
COVARIANCE_ TRUST_ NOT_ EVALUATED - EMPYREAN_
COVARIANCE_ TRUST_ TRUSTED - EMPYREAN_
COVARIANCE_ TRUST_ WEAKLY_ DETERMINED_ HIGH_ N - EMPYREAN_
DEBIASING_ RESOLUTION_ HIRES - EMPYREAN_
DEBIASING_ RESOLUTION_ STANDARD - EMPYREAN_
DEBIASING_ TABLE_ EFCC2020 - EMPYREAN_
INTEGRATOR_ DOP853 - EMPYREAN_
INTEGRATOR_ GR15 - EMPYREAN_
KERNEL_ KIND_ BPC - EMPYREAN_
KERNEL_ KIND_ GRAVITY - EMPYREAN_
KERNEL_ KIND_ OBSCODES - EMPYREAN_
KERNEL_ KIND_ SPK - EMPYREAN_
KERNEL_ KIND_ TPC - EMPYREAN_
KERNEL_ PROVENANCE_ BUILT_ IN - EMPYREAN_
KERNEL_ PROVENANCE_ FILE - EMPYREAN_
KERNEL_ PROVENANCE_ IN_ MEMORY - EMPYREAN_
ORIGIN_ POLICY_ AUTO - EMPYREAN_
ORIGIN_ POLICY_ EXPLICIT - EMPYREAN_
ORIGIN_ SWITCHING_ DEFAULT - EMPYREAN_
ORIGIN_ SWITCHING_ OFF - EMPYREAN_
ORIGIN_ SWITCHING_ ON - EMPYREAN_
OUTPUT_ EPOCH_ EXPLICIT - EMPYREAN_
OUTPUT_ EPOCH_ IOD_ EPOCH - EMPYREAN_
OUTPUT_ EPOCH_ LAST_ OBSERVATION - EMPYREAN_
OUTPUT_ EPOCH_ MID_ ARC - EMPYREAN_
PHASE_ FUNCTION_ HG - EMPYREAN_
PHASE_ FUNCTION_ HG1G2 - EMPYREAN_
PHASE_ FUNCTION_ HG12 - EMPYREAN_
PHASE_ FUNCTION_ NONE - EMPYREAN_
PHOTOMETRY_ MODEL_ AUTO - EMPYREAN_
PHOTOMETRY_ MODEL_ HG - EMPYREAN_
PHOTOMETRY_ MODEL_ HG1G2 - EMPYREAN_
PHOTOMETRY_ MODEL_ HG12 - EMPYREAN_
PHOTOMETRY_ MODEL_ HONLY - EMPYREAN_
RADAR_ KIND_ DELAY - EMPYREAN_
RADAR_ KIND_ DOPPLER - EMPYREAN_
REJECTION_ ACCEPTED - EMPYREAN_
REJECTION_ ADAPTIVE - EMPYREAN_
REJECTION_ CHI_ SQUARED - EMPYREAN_
REJECTION_ CMC2003 - EMPYREAN_
REJECTION_ COOKS_ DISTANCE - EMPYREAN_
REJECTION_ KIND_ ADAPTIVE - EMPYREAN_
REJECTION_ KIND_ CMC2003 - EMPYREAN_
REJECTION_ NOT_ EVALUATED - EMPYREAN_
REJECTION_ OCCULTATION_ UNSUPPORTED - EMPYREAN_
REJECTION_ OUTSIDE_ ARC - EMPYREAN_
REJECTION_ RADAR_ UNSUPPORTED - EMPYREAN_
REJECTION_ SIGMA_ CLIP - EMPYREAN_
REJECTION_ UNSUPPORTED_ OBSERVATORY - EMPYREAN_
REPRESENTATION_ CARTESIAN - EMPYREAN_
REPRESENTATION_ COMETARY - EMPYREAN_
REPRESENTATION_ KEPLERIAN - EMPYREAN_
REPRESENTATION_ SPHERICAL - EMPYREAN_
SIGMA_ POLICY_ DEFAULT_ ONLY - EMPYREAN_
SIGMA_ POLICY_ FLOOR - EMPYREAN_
SLOT_ NONE - EMPYREAN_
SOLVE_ FOR_ AUTO - EMPYREAN_
SOLVE_ FOR_ EXPLICIT - EMPYREAN_
SOLVE_ FOR_ STATE_ AND_ NONGRAV - EMPYREAN_
SOLVE_ FOR_ STATE_ ONLY - EMPYREAN_
SOLVE_ WIDTH - EMPYREAN_
STEERING_ LAW_ CONSTANT_ RTN - EMPYREAN_
STEERING_ LAW_ INERTIAL_ FIXED - EMPYREAN_
STEERING_ LAW_ VELOCITY_ TANGENT - EMPYREAN_
TAGGED_ COV_ EPOCH_ INDEX_ OUT_ OF_ RANGE - EMPYREAN_
TAGGED_ COV_ NO_ DENSE_ TRAJECTORY - EMPYREAN_
TAGGED_ COV_ NO_ INITIAL_ COVARIANCE - EMPYREAN_
TAGGED_ COV_ NULL_ POINTER - EMPYREAN_
TAGGED_ COV_ OK - EMPYREAN_
TAGGED_ COV_ ORBIT_ INDEX_ OUT_ OF_ RANGE - EMPYREAN_
TAGGED_ COV_ PANIC - EMPYREAN_
TAGGED_ COV_ SAMPLE_ COVARIANCE_ MISSING - EMPYREAN_
TAGGED_ COV_ STATE_ MISSING - EMPYREAN_
TAGGED_ COV_ TRANSFORM - EMPYREAN_
TAGGED_ COV_ UNCERTAINTY - EMPYREAN_
TARGET_ FUNCTIONAL_ CARTESIAN_ STATE - EMPYREAN_
TARGET_ FUNCTIONAL_ CLOSE_ APPROACH_ MISS_ DISTANCE - EMPYREAN_
TRUST_ EVENT_ CLOSE_ APPROACH - EMPYREAN_
TRUST_ EVENT_ HIGH_ NONLINEARITY - EMPYREAN_
TRUST_ EVENT_ NONE - EMPYREAN_
UNCERTAINTY_ AUTO - EMPYREAN_
UNCERTAINTY_ FIRST - EMPYREAN_
UNCERTAINTY_ MONTE_ CARLO - EMPYREAN_
UNCERTAINTY_ SECOND - EMPYREAN_
UNCERTAINTY_ SIGMA_ POINT - EMPYREAN_
WEIGHTING_ LAYER_ NIGHTLY_ DEWEIGHTING - EMPYREAN_
WEIGHTING_ LAYER_ OBSERVATORY_ RULE - EMPYREAN_
WEIGHTING_ PRESET_ NEODYS - EMPYREAN_
WEIGHTING_ PRESET_ NONE - EMPYREAN_
WEIGHTING_ PRESET_ VFC17 - LIB_
PATH
Functions§
- empyrean_
builtsystem_ ⚠describe - Populate
outwith a full reproducibility summary of the handle’s frozen force model and its captured kernel manifest. - empyrean_
builtsystem_ ⚠description_ free - Free the heap arrays inside a description populated by
empyrean_builtsystem_describe(the perturber-id array and the kernel records with their C strings). After this returnsdescis zero-initialized — safe to drop on the caller’s stack. Passing null is a no-op. - empyrean_
builtsystem_ ⚠free - Free a handle previously returned by
empyrean_builtsystem_new. Passing null is a no-op. - empyrean_
builtsystem_ ⚠generate_ ephemeris - Generate predicted ephemeris for
orbitsandobserversthrough the pre-built handle. - empyrean_
builtsystem_ ⚠new - Build a reusable force-model handle from a context.
- empyrean_
builtsystem_ ⚠propagate - Propagate
orbitstotimesthrough the pre-built handle. - empyrean_
compute_ ⚠b_ planes - Run
empyrean_core::impact::compute_b_planesover a caller- supplied set ofUncertaintyMethodvariants and return the flattened B-plane records tagged by method. - empyrean_
compute_ ⚠b_ planes_ result_ free - Free the records array allocated by
empyrean_compute_b_planes. - empyrean_
compute_ ⚠impact_ probabilities - Run
empyrean_core::impact::compute_impact_probabilitiesover a caller-supplied set ofUncertaintyMethodvariants and return the flattened IP records tagged by method. - empyrean_
compute_ ⚠impact_ probabilities_ result_ free - Free the records array allocated by
empyrean_compute_impact_probabilities. After calling, the struct’srecordsis reset to null andnum_recordsto 0. - empyrean_
context_ ⚠free - Free an
EmpyreanContextpreviously returned byempyrean_context_new(). - empyrean_
context_ ⚠from_ data_ dir - Create a new
EmpyreanContextfrom a data directory. - empyrean_
context_ ⚠new_ minimal - Create a minimal
EmpyreanContextfrom a DE440 SPK file and a GM TPC file. - empyrean_
context_ ⚠with_ spk - Load an additional SPK kernel into an existing context, in place.
- empyrean_
default_ ⚠data_ dir - Return the platform XDG-compliant default data directory as a heap-allocated, NUL-terminated UTF-8 string.
- empyrean_
determine ⚠ - Run the full orbit determination pipeline.
- empyrean_
eigenvector_ ⚠max_ 6x6 - Find the dominant eigenvalue and eigenvector of a 6x6 symmetric matrix.
- empyrean_
ephemeris_ ⚠result_ free - Free an ephemeris result previously returned by
empyrean_generate_ephemeris(). - empyrean_
ephemeris_ ⚠write_ csv - Write ephemeris entries to CSV.
- empyrean_
ephemeris_ ⚠write_ json - Write ephemeris entries to JSON.
- empyrean_
ephemeris_ ⚠write_ parquet - Write ephemeris entries to parquet using the villeneuve schema.
- empyrean_
evaluate ⚠ - Evaluate residuals for a single orbit against observations.
- empyrean_
evaluate_ ⚠plan - Evaluate an observation plan: how much each candidate observation would tighten the prior orbit covariance.
- empyrean_
evaluate_ ⚠result_ free - Free an evaluate result previously returned by
empyrean_evaluate(). - empyrean_
events_ ⚠write_ csv - Write events to CSV.
- empyrean_
events_ ⚠write_ json - Write events to JSON.
- empyrean_
events_ ⚠write_ parquet - Write events to parquet.
- empyrean_
generate_ ⚠ephemeris - Generate predicted ephemeris for orbits and observers.
- empyrean_
get_ ⚠observers - Compute observer states for given observatory codes and epochs.
- empyrean_
get_ ⚠states - Query body states relative to a center body at given epochs.
- empyrean_
iso_ ⚠to_ mjd - Parse an ISO 8601 UTC string (e.g.
"2024-08-01T00:00:00.000Z") to MJD in the requested target scale. - empyrean_
last_ ⚠error - Return a pointer to the last error message (thread-local, null-terminated).
- empyrean_
mjd_ ⚠to_ iso - Format an MJD value (in the given scale) as an ISO 8601 UTC string.
- empyrean_
observations_ ⚠free - empyrean_
observations_ ⚠from_ array - Free an observation array previously returned by
empyrean_read_ades(). Copy a caller-owned array ofEmpyreanObservationinto a fresh allocation that matches the layout produced byempyrean_read_ades. - empyrean_
observer_ ⚠result_ free - Free an observer result previously returned by
empyrean_get_observers(). - empyrean_
od_ ⚠result_ free - Free an OD result previously returned by
empyrean_determine()orempyrean_refine(). - empyrean_
orbits_ ⚠batch_ free - Free a batch previously returned by an
empyrean_orbits_read_*function. Passing null is a no-op. - empyrean_
orbits_ ⚠read_ csv - Read an orbits CSV file.
- empyrean_
orbits_ ⚠read_ json - Read an orbits JSON file (array of orbit-row objects). Caller frees
with
empyrean_orbits_batch_free. - empyrean_
orbits_ ⚠read_ parquet - Read an orbits parquet file. Caller frees the result with
empyrean_orbits_batch_free. - empyrean_
orbits_ ⚠write_ csv - Write an orbit batch to CSV.
- empyrean_
orbits_ ⚠write_ json - Write an orbit batch to JSON.
- empyrean_
orbits_ ⚠write_ parquet - Write an orbit batch to a parquet file.
- empyrean_
plan_ ⚠result_ free - Free the heap allocations inside a plan result populated by
empyrean_evaluate_plan. Does not free the caller-allocated struct. - empyrean_
propagate ⚠ - Propagate orbits to the requested target times.
- empyrean_
propagation_ ⚠covariance_ at_ cartesian - Resolved-kind tagged covariance at a single
(orbit_index, epoch_index), Cartesian basis (the gm-free point query).outis written on success. - empyrean_
propagation_ ⚠covariance_ series_ cartesian - Resolved-kind tagged covariance at every output epoch for one orbit,
Cartesian basis. On success
out_seriesowns the array; free withempyrean_tagged_covariance_series_free. On errorout_seriesis left null and the detail is onempyrean_last_error(). - empyrean_
propagation_ ⚠result_ free - Free a propagation result previously returned by
empyrean_propagate(). - empyrean_
query_ ⚠horizons - Query JPL Horizons for predicted ephemeris records.
- empyrean_
query_ ⚠horizons_ vectors - Query JPL Horizons for a Cartesian state vector at a single epoch.
- empyrean_
query_ ⚠observations - Query the MPC observations API for ADES records of one or more designations.
- empyrean_
query_ ⚠radar - Query the JPL
sb_radarAPI for delay/Doppler radar astrometry of one or more designations. - empyrean_
query_ ⚠sbdb - Query the JPL Small-Body Database for one or more orbits.
- empyrean_
radar_ ⚠observations_ free - Free a radar observation array previously returned by
empyrean_read_adesorempyrean_radar_observations_from_array. - empyrean_
radar_ ⚠observations_ from_ array - Copy a caller-owned array of
EmpyreanRadarObservationinto a fresh allocation matching the layout produced byempyrean_read_ades. - empyrean_
read_ ⚠ades - Read ADES PSV / MPC80 data from a string and pack into the C array.
- empyrean_
refine ⚠ - Refine a single orbit estimate with new observations using a Bayesian prior.
- empyrean_
residuals_ ⚠write_ csv - Write OD residuals to CSV.
- empyrean_
residuals_ ⚠write_ json - Write OD residuals to JSON.
- empyrean_
residuals_ ⚠write_ parquet - Write OD residuals to parquet.
- empyrean_
session_ ⚠diff - Diff the current fit against an earlier history entry. Returns 0
on success, -1 if there is no current fit or
prior_idxis out of bounds. - empyrean_
session_ ⚠free - Free a session previously returned by
empyrean_session_new. Passing null is a no-op. - empyrean_
session_ ⚠get_ history - Copy the i-th history entry into
result_out. Returns 0 on success, -1 on null/out-of-bounds. Caller freesresult_outwithempyrean_od_result_free. - empyrean_
session_ ⚠history_ len - Number of fits in the session history.
- empyrean_
session_ ⚠is_ masked - Whether the observation at
idxis masked. Returns 1 = masked, 0 = active, 255 (-1 cast) on null/out-of-bounds. - empyrean_
session_ ⚠mask - Mask the observation at
idx. Returns 0 on success, -1 on null or out-of-bounds. - empyrean_
session_ ⚠n_ active - Number of observations active (not masked) in the next refine.
- empyrean_
session_ ⚠n_ masked - Number of observations currently masked.
- empyrean_
session_ ⚠n_ observations - Total number of observations in the session (masked or not).
Returns 0 if
sessionis null. - empyrean_
session_ ⚠new - Construct a new orbit-determination session over a fixed observation set.
- empyrean_
session_ ⚠refine - Run an OD refine using the current mask state.
- empyrean_
session_ ⚠unmask - Unmask the observation at
idx. Returns 0 on success, -1 on null or out-of-bounds. - empyrean_
session_ ⚠unmask_ all - Clear all masks. Returns 0 on success, -1 on null.
- empyrean_
split_ ⚠gaussian - Split a 6D Gaussian into K weighted components along the dominant eigenvector of the covariance.
- empyrean_
state_ ⚠result_ free - Free a state result previously returned by
empyrean_get_states(). - empyrean_
string_ ⚠free - Free a string returned by an empyrean C API function (e.g.,
empyrean_default_data_dir,empyrean_version_string). - empyrean_
tagged_ ⚠covariance_ series_ free - Free a series returned by
empyrean_propagation_covariance_series_cartesian. - empyrean_
transform_ ⚠coordinates - Transform a coordinate state to a new representation, frame, and/or origin.
- empyrean_
version_ ⚠string - Multi-line version report —
empyrean-core <ver>\nvilleneuve <ver>\n…. - empyrean_
versions ⚠ - Populate
outwith the per-crate versions of the empyrean stack. - empyrean_
versions_ ⚠free - Free the version strings inside
versions(each was heap-allocated by a previous successfulempyrean_versionscall). After this returns,versionsitself is zero-initialized — safe to drop on the caller’s stack. - lib
- The loaded
libempyrean, opened lazily on first use.
Type Aliases§
- Empyrean
Context - C FFI opaque handle. Internally an [
empyrean_core::Context]; the C header forward-declaresstruct EmpyreanContext— callers only see the pointer. - Empyrean
Session - Opaque handle to an
empyrean_core::determination::Session.