Git Product home page Git Product logo

Comments (9)

landru29 avatar landru29 commented on May 30, 2024 1

It appears that the error occurs only when going through this part of code: https://github.com/nilsmagnus/grib/blob/master/griblib/data3.go#L91
template.MissingValue == 1

I made some fixes on my fork => no more "Corrupted message" but no idea about the consistency of data read

Can someone check data extract with my code (branch data3-fix) before I make a pull request ?

https://github.com/landru29/grib/tree/data3-fix

from grib.

nilsmagnus avatar nilsmagnus commented on May 30, 2024

Hi @jewome62, this is an issue with how missing data in Section7 is read for the datatype Data3. I have not been able to pinpoint what goes wrong here, but it is most likely a bug in data3.go, line 167-216.

Feel free to try to debug it. I wont have time to fix the issue in the near future, but I will have a look at it eventually if noone else does .

from grib.

jewome62 avatar jewome62 commented on May 30, 2024

Hello @nilsmagnus,

Thanks for your answer, I like to contribute for lib i use.
But i don't know Go Lang ^-^

So currently i have use wgrib2 from NOAA

from grib.

landru29 avatar landru29 commented on May 30, 2024

Can you please give us the link to download the grib file?

from grib.

dev-rice avatar dev-rice commented on May 30, 2024

@landru29 I'm getting a similar error using this file:

ftp://ftp.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.2019011118/gfs.t18z.pgrb2.0p25.f000

❯ grib -file gfs.t18z.pgrb2.0p25.f000 -export 3
Input parameters : griblib.Options{Operation:"parse", Discipline:-1, DataExport:true, Category:-1, Filepath:"gfs.t18z.pgrb2.0p25.f000", ReduceFilePath:"reduced.grib2", ExportType:3, MaximumNumberOfMessages:2147483647, GeoFilter:griblib.GeoFilter{MinLat:-90000000, MaxLat:90000000, MinLong:0, MaxLong:360000000}, Surface:griblib.Surface{Type:0xff, Scale:0x0, Value:0x0}}
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Corrupt message "runtime error: index out of range"
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
Using GeoFilter %#V {-90000000 90000000 0 360000000}
panic: runtime error: index out of range

goroutine 1 [running]:
github.com/nilsmagnus/grib/griblib.FilterValuesFromGeoFilter(0xc0b1954d00, 0x55d4a80faa2b580, 0x15752a0000000000, 0x35, 0x0, 0x0)
	/Users/chris/Code/go/src/github.com/nilsmagnus/grib/griblib/filters.go:98 +0x397
github.com/nilsmagnus/grib/griblib.Filter(0xc0e67c6000, 0x162, 0x200, 0x1130525, 0x5, 0xffffffffffffffff, 0x1, 0xffffffffffffffff, 0x7ffeefbff95b, 0x18, ...)
	/Users/chris/Code/go/src/github.com/nilsmagnus/grib/griblib/filters.go:41 +0x2d5
main.parse(0x114f740, 0xc00008a078, 0x1130525, 0x5, 0xffffffffffffffff, 0x1, 0xffffffffffffffff, 0x7ffeefbff95b, 0x18, 0x1131693, ...)
	/Users/chris/Code/go/src/github.com/nilsmagnus/grib/main.go:121 +0xa2
main.main()
	/Users/chris/Code/go/src/github.com/nilsmagnus/grib/main.go:72 +0x2b8

from grib.

nilsmagnus avatar nilsmagnus commented on May 30, 2024

@donutmonger are you able to confirm the fix that @landru29 made?

from grib.

landru29 avatar landru29 commented on May 30, 2024

@nilsmagnus , when you will make a version with that fix, can you use semver notation (should be V1.2.1) ?
https://golang.github.io/dep/docs/FAQ.html#what-semver-version-should-i-use
https://semver.org/

from grib.

nilsmagnus avatar nilsmagnus commented on May 30, 2024

Done

from grib.

dev-rice avatar dev-rice commented on May 30, 2024

@nilsmagnus @landru29 that fixed it for me, thanks!

from grib.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.