//! Rust extraction of the Microwaveprop HRRR propagation pipeline.
//!
//! CI retrigger 2026-04-24: Forgejo registry lost the platform-manifest
//! blob for tag main-1776894678-93b526c, leaving prop-grid-rs stuck in
//! ImagePullBackOff. Touching this file reruns build-grid-rs.yaml so a
//! fresh tag is pushed.
//!
//! 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.
//!
//! Post-Phase-3: f00 analysis and f01..f18 forecasts both live here.
//! Port targets:
//!   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.

// jemalloc for all non-MSVC targets (Linux release builds land here).
// Set as the global allocator at the library root so every binary in
// the crate (worker, hrrr_point_worker) inherits it. See Cargo.toml
// for the rationale behind switching off glibc malloc.
#[cfg(not(target_env = "msvc"))]
#[global_allocator]
static GLOBAL: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc;

pub mod band_config;
pub mod commercial;
pub mod db;
pub mod decoder;
pub mod duct;
pub mod fetcher;
pub mod grid;
pub mod hrdps_fetcher;
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;
pub mod weather_scalar_file;
