38 lines
1.4 KiB
Rust
38 lines
1.4 KiB
Rust
//! 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;
|