Expand description
Deterministic wind data for trajectory simulation, consumed by rockets-engine.
The wind-field types — the WindField trait, ConstantField,
ProfileField, LogProfile, EkmanProfile and the HeightOffset
datum wrapper — are ballistics-engine’s (its wind module, since
ballistics-engine 0.49.0), re-exported here so this crate’s pipelines and
its consumers share one definition. Everything is stateless and
reproducible from inputs: no wall clock or unseeded randomness anywhere,
and no network except the download feature.
sounding: radiosonde interchange-format parsing.validate: profile-vs-sounding comparison metrics.terrain: a diagnostic mass-consistent terrain wind.grib(feature): GRIB2 forecast files into aProfileField.download(feature): live GFS/HRRR acquisition, the only networked code in the crate.
Re-exports§
pub use sounding::Sounding;pub use sounding::SoundingLevel;pub use terrain::from_flt;pub use terrain::hgt_grid;pub use terrain::local_en_m;pub use terrain::monitors_from_geo_csv;pub use terrain::HeightGrid;pub use terrain::Monitor;pub use terrain::SrtmResolution;pub use terrain::TerrainFlowField;pub use validate::LayerError;pub use validate::ValidationReport;
Modules§
- sounding
- Radiosonde soundings in the crate’s line-based interchange format.
- terrain
- Diagnostic mass-consistent terrain wind (NOABL/CONMESS-style).
- validate
- Compare a wind profile against a measured sounding.
Structs§
- Constant
Field - Uniform wind everywhere.
- Ekman
Profile - Ekman spiral (constant eddy viscosity K; Holton’s classic solution):
u = G(1 − e^(−γz)·cos(γz)), v = sign(f)·G·e^(−γz)·sin(γz),
γ = sqrt(|f|/2K), f = 2Ω·sin(latitude). Zero at the surface, approaches
the geostrophic wind aloft, rotated to
direction_from_deg. - Error
- Crate-wide error: invalid input with a field name and reason.
- Height
Offset - Reads a field at a shifted height, so a field and its caller can use different height
datums:
wind(t, p)is the inner field’s wind atp.y + offset_m, with time and the horizontal position unchanged. - LogProfile
- Log-law boundary layer: u(z) = u_ref · ln(z/z0) / ln(z_ref/z0), z > z0; zero below z0. Constant direction with height.
- Profile
Field - Piecewise-linear vertical profile: speed interpolates linearly in altitude, direction along the shortest circular arc; nearest level holds outside the range.
- Profile
Level - One level of a vertical profile.
Enums§
- Wind
Field Error - A wind-field constructor input that failed validation.
- Wind
Field Param - Which constructor input failed validation.
- Wind
Field Rule - The rule a constructor input violated.
Traits§
- Wind
Field - A deterministic, stateless wind field: same time and position always give the same wind, so integrator substeps, snapshots and seeded reproduction are exact.
Type Aliases§
- Result
- Crate-wide result.