You have a URL which contains a GRIB/BUFR message and you want to read it directly from the web
Step-by-step guide
Let's say you have a stream of in-memory bytes rather than a file which contains one or more GRIB or BUFR messages. The following python script shows you how you can decode those messages:
import requests
from eccodes import codes_new_from_message, codes_get, codes_release
url='https://some.gov/pub/data/temperature.grib2'
print('Started downloading...')
r = requests.get(url)
data = r.content # raw bytes
# Convert each field to a handle in turn
offset = 0
while offset < len(data):
h = codes_new_from_message(data[offset:])
print(offset, codes_get(h, 'step'), codes_get(h, 'shortName'))
# Advance through the bytes by the length of the message
offset += codes_get(h, 'totalLength')
codes_release(h)
Related articles
Content by label
There is no content with the specified labels