winds-engine 0.1.0

Deterministic wind profiles and radiosonde validation for trajectory simulation
Documentation
  • Coverage
  • 100%
    63 out of 63 items documented0 out of 26 items with examples
  • Size
  • Source code size: 40.6 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 746.2 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 4s Average build duration of successful builds.
  • all releases: 3s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • ajokela/winds-engine
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • ajokela

winds-engine

Deterministic wind profiles and radiosonde validation for trajectory simulation — the wind data pipeline for rocket modeling, consumed by rockets-engine. Kernel-side wind modeling (the WindField trait, profile types, analytic profiles) is staged here pending promotion to ballistics-engine's wind module; see docs/winds-engine-plan.md.

use winds_engine::{ProfileField, ProfileLevel, Sounding, WindField, validate};

// A measured sounding in the line-based interchange format.
let sounding = Sounding::parse("287 0.0 0\n305 3.09 125\n610 3.60 145\n")?;
// Smooth it into a profile and sample the wind anywhere.
let profile = sounding.to_profile_field()?;
let wind = profile.wind(0.0, [0.0, 500.0, 0.0]);
// Or score a candidate profile against the measurement.
let report = validate::validate(&profile, &sounding);
  • WindField trait: stateless, deterministic wind(time, position) — the same sampling pattern trajectory integrators already rely on.
  • ProfileField (piecewise-linear, circular direction interpolation), ConstantField, LogProfile, EkmanProfile.
  • Sounding: radiosonde interchange format (tested against a real 115-level KMPX sounding from the IEM RAOB archive).
  • validate: speed/direction RMSE and per-layer errors vs a sounding.

Zero dependencies, no network, no wall clock, no unseeded randomness. GRIB2/HRRR/GFS acquisition is the next milestone (risk item in the plan).

MIT licensed (see LICENSE).