prop/test/microwaveprop/weather/grib2
Graham McIntire 221d5516bc
fix(wgrib2): account for 8-byte Fortran record overhead between messages
build_messages_per_message/3 was slicing the wgrib2 -lola bin output as
a packed float32 stream, ignoring the 4-byte record-length header + 4-byte
trailer that Fortran unformatted records prepend/append around each
message's data block. First value of message 0 came back as ~2.24e-44
(little-endian float32 of the int-16 record length), and every subsequent
message was shifted by 8 bytes so values spilled into neighbouring cells.

Fix: propagate the correct offset math already used by parse_lola_binary/3
(record_overhead = 8, stride = bytes_per_message + 8, data_offset =
msg_idx * stride + 4).

Flipped the characterization test from metadata-only to per-cell physical
asserts (200 K < TMP, DPT < 340 K; DPT <= TMP) and a 0.01 K cross-check
against extract_grid/3 output on the same fixture + bbox. Latent bug —
no production callers of extract_grid_messages*.
2026-04-16 14:58:55 -05:00
..
complex_packing_test.exs Fix all remaining credo --strict issues (0 issues) 2026-04-12 10:26:53 -05:00
extractor_test.exs Exclude slow GRIB2 fixture tests by default (81s -> 16s) 2026-03-31 10:00:13 -05:00
lambert_conformal_test.exs Replace wgrib2 with pure Elixir GRIB2 decoder for HRRR pipeline 2026-03-29 18:43:43 -05:00
section_test.exs Make GRIB2 section parser resilient to trailing padding and truncation 2026-03-30 09:21:27 -05:00
simple_packing_test.exs Add batch GRIB2 extraction for multi-point grid queries 2026-03-30 16:50:03 -05:00
wgrib2_test.exs fix(wgrib2): account for 8-byte Fortran record overhead between messages 2026-04-16 14:58:55 -05:00