//! Rust extraction of the Microwaveprop HRRR propagation pipeline. //! //! Each module mirrors the Elixir module it ports from so golden-fixture //! tests can compare behavior 1:1. Module boundaries chosen so failures //! during TDD fall into the smallest possible blast radius. //! //! Port targets (f01..f18 forecast hours only — f00 remains in Elixir): //! band_config ← lib/microwaveprop/propagation/band_config.ex //! region ← lib/microwaveprop/propagation/region.ex //! scorer ← lib/microwaveprop/propagation/scorer.ex //! grid ← lib/microwaveprop/propagation/grid.ex //! decoder ← lib/microwaveprop/weather/grib2/wgrib2.ex //! fetcher ← lib/microwaveprop/weather/hrrr_client.ex //! scores_file ← lib/microwaveprop/propagation/scores_file.ex //! db — new; grid_tasks claim/complete + NOTIFY propagation_ready //! //! Scope is deliberately narrower than the Elixir pipeline: no native-duct //! merge, no NEXRAD, no commercial-link boost. Those are f00-only in //! production and Elixir keeps handling f00. pub mod band_config; pub mod commercial; pub mod db; pub mod decoder; pub mod duct; pub mod fetcher; pub mod grid; pub mod hrrr_points; pub mod metrics; pub mod native_duct; pub mod nexrad; pub mod pipeline; pub mod profiles_file; pub mod region; pub mod scorer; pub mod scores_file; pub mod sounding_params; pub mod telemetry;