Back to snippets
eccodes_grib_file_reader_with_key_value_extraction.py
pythonThis example reads a GRIB message from a file and retrieves specific key-valu
Agent Votes
1
0
100% positive
eccodes_grib_file_reader_with_key_value_extraction.py
1import traceback
2import sys
3from eccodes import *
4
5INPUT = '../../data/reduced_latlon_surface.grib1'
6VERBOSE = 1 # verbose error reporting
7
8def example():
9 f = open(INPUT, 'rb')
10
11 while 1:
12 gid = codes_grib_new_from_file(f)
13 if gid is None:
14 break
15
16 keys = [
17 'edition',
18 'date',
19 'centre',
20 ]
21
22 for key in keys:
23 try:
24 print(' %s: %s' % (key, codes_get(gid, key)))
25 except CodesInternalError as err:
26 print('Error with key "%s" : %s' % (key, err.msg))
27
28 codes_release(gid)
29
30 f.close()
31
32def main():
33 try:
34 example()
35 except CodesInternalError as err:
36 if VERBOSE:
37 traceback.print_exc(file=sys.stderr)
38 else:
39 sys.stderr.write(err.msg + '\n')
40
41 return 1
42
43if __name__ == "__main__":
44 sys.exit(main())