Skip to main content

Crate winds_engine

Crate winds_engine 

Source
Expand description

Deterministic wind fields and radiosonde validation for trajectory simulation, consumed by rockets-engine.

Everything here is stateless and reproducible from inputs: no network, no wall clock, no unseeded randomness. The WindField trait, the profile types and the analytic profiles are this crate’s own. They were the staging ground for the modeling core planned for ballistics-engine’s wind module (see docs/winds-engine-plan.md), but ballistics-engine’s wind fields (unreleased) differ: its WindField::wind takes and returns nalgebra::Vector3<f64>, with no counterpart to Wind; its ConstantField is a tuple struct over that vector; its LogProfile and EkmanProfile keep their fields private behind getters; and its constructors return WindFieldError. Moving this crate onto those types changes its public API (every WindField::wind call, validate::validate’s signature), so it is a deliberate breaking release, not a drop-in re-export.

Re-exports§

pub use field::ConstantField;
pub use field::ProfileField;
pub use field::ProfileLevel;
pub use field::Wind;
pub use field::WindField;
pub use sounding::Sounding;
pub use sounding::SoundingLevel;
pub use validate::LayerError;
pub use validate::ValidationReport;

Modules§

analytic
Analytic boundary-layer profiles: logarithmic and Ekman spiral.
field
The WindField trait and the concrete field types.
sounding
Radiosonde soundings in the crate’s line-based interchange format.
validate
Compare a wind profile against a measured sounding.

Structs§

Error
Crate-wide error: invalid input with a field name and reason.

Type Aliases§

Result
Crate-wide result.