bwiggs / go-nexrad

NEXRAD Data Processing with Go
https://bwiggs.com/projects/go-nexrad/
MIT License
26 stars 12 forks source link

Data Block - unknown type '' #5

Closed millisecond closed 3 years ago

millisecond commented 3 years ago

Trying to render a recent radar scan from the same site as your Harvey example i.e. https://noaa-nexrad-level2.s3.amazonaws.com/2021/09/19/KCRP/KCRP20210919_000249_V06 and getting the same failure reading both as a library and via nexrad-render CLI:

go run main.go -f KCRP20210919_002125_V06

Output:

Generating ref from KCRP20210919_002125_V06 -> radar.png
PANI[0000] Data Block - unknown type ''              
panic: (*logrus.Entry) 0xc000146070

goroutine 1 [running]:
github.com/sirupsen/logrus.Entry.log(0xc0001467e0, 0xc0000120f0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)

Debugging in, it looks like the m31 header is correct but the DataBlock is corrupt. Let me know if I can provide anything else.

bwiggs commented 3 years ago

Thanks for the report. Looks like latest ICD FOR RDA/RPG - Build RDA 19.0/RPG 19.0 (PDF) found here on page 3-127 has added a new moment data type. We'll need to add support for an extra moment field, and dynamic data moment pointers to handle legacy files as well as new files.

There are some good reports on other project on github that had to deal with the same issue. See https://github.com/ARM-DOE/pyart/issues/887

I'm working on a fix.

bwiggs commented 3 years ago

Pushed a fix for this to master

millisecond commented 3 years ago

Awesome, thanks so much for fixing!