prop/lib/microwaveprop/weather/grib2
Graham McIntire fdc2a31c77
Fix complex packing bit-padding bug corrupting decoded values
extract_n_values_array used Enum.take(count) on a reversed list
before reversing it, which included padding values from byte
alignment and dropped actual values. When group count * bits
wasn't a multiple of 8, the extra padding bits produced a
phantom value that shifted the entire array by one position.

This caused cascading errors in spatial differencing — values
started correct but diverged exponentially (DPT decoded as
38 billion K instead of 275 K).

Fix: reverse the list first, then take count, so padding values
at the end are discarded instead of actual values at the start.
2026-03-30 09:54:10 -05:00
..
complex_packing.ex Fix complex packing bit-padding bug corrupting decoded values 2026-03-30 09:54:10 -05:00
extractor.ex Replace wgrib2 with pure Elixir GRIB2 decoder for HRRR pipeline 2026-03-29 18:43:43 -05:00
lambert_conformal.ex Replace wgrib2 with pure Elixir GRIB2 decoder for HRRR pipeline 2026-03-29 18:43:43 -05:00
section.ex Make GRIB2 section parser resilient to trailing padding and truncation 2026-03-30 09:21:27 -05:00
simple_packing.ex Replace wgrib2 with pure Elixir GRIB2 decoder for HRRR pipeline 2026-03-29 18:43:43 -05:00