prop/rust
Graham McIntire 3d214f60f0
fix(hrdps): parse wgrib2 grid_template=1 rotated-pole output
Every HRDPS chain step failed at decode with "could not parse nx×ny
from wgrib2 -grid output", so no .hrdps.prop or .hrdps.sgrid artifact
was ever produced and the Canadian half of the weather overlay was
empty.

parse_wgrib2_grid only handled the verbose grid_template=10 shape
(Rotated Lat/lon Grid:, LatFirst:, Di:, South Pole Location:). The
wgrib2 3.8.0 binary in the pipeline image actually emits the compact
grid_template=1 shape for MSC HRDPS files:

    rotated lat-lon grid:(2540 x 1290) units 1e-06 ...
    lat -12.302501 to 16.700001 by 0.022500
    lon 345.178780 to 42.306283 by 0.022500 #points=3276600
    south pole lat=-36.088520 lon=245.305142 angle of rot=0.000000

Accept both, keeping the strict-by-default behaviour so a real MSC grid
change still surfaces as an error. Anisotropic grids are rejected
outright because RotatedPoleParams carries a single isotropic step that
geo_to_rotated applies to both axes.

Test uses the verbatim -grid output captured from the production pod.
2026-08-05 17:33:39 -05:00
..
prop_grid_rs fix(hrdps): parse wgrib2 grid_template=1 rotated-pole output 2026-08-05 17:33:39 -05:00