Есть ли способ получить только метаданные и определенный диапазон в грибе?
В облачных корзинах появляется огромное количество данных о погоде. Потрясающий! Однако они не хранятся в оптимизированных для облака форматах. Мне было интересно, есть ли способ извлекать метаданные только из файлов grib2, хранящихся на AWS, а затем извлекать только отдельные точки из этих файлов. Тот же вопрос для netcdf4. Я знаю, что библиотеки поддержки Netcdf4 позволяют делать это для файлов на диске, но я понятия не имею, как это сделать в облаке.
Я в недоумении, какие ресурсы я должен изучить, чтобы изучить это. Любая помощь могла бы быть полезна.
1 ответ
Вы можете разобрать файл GRIB2 на лету и сразу удалить все, что вам не нужно. Каждый файл GRIB2 содержит одно или несколько сообщений GRIB2 со следующей структурой:
- Раздел 0: Раздел Индикатора
- Раздел 1: Раздел идентификации
- Раздел 2: Раздел «Местное использование» (необязательно)
- Раздел 3: Раздел определения сетки (можно повторить)
- Раздел 4: Раздел «Описание продукта» (можно повторить)
- Раздел 5: Раздел представления данных (можно повторить)
- Раздел 6: Раздел Bit-Map (можно повторить)
- Раздел 7: Раздел данных (можно повторить)
- Раздел 8: Конец раздела
Раздел 0 в GRIB2 всегда имеет 16 байтов, раздел 8 всегда 4 байта. Остальное всегда начинается с
length
раздела (4 байта) и
section number
(1 байт). Поэтому должно быть легко быстро пропустить все разделы, которые вам не нужны. Затем вы можете прочитать только раздел 1, 3 или 5, в зависимости от того, какие метаданные вам нужны.
Однако есть недостаток. Если я правильно понимаю, вы хотите сделать это на онлайн-ресурсах. В этом случае вы загрузите весь файл, пропустив некоторые или большинство его частей.
Если вы пытаетесь создать какой-то индекс доступных данных GRIB, это, вероятно, будет одним из вариантов. Что-то вроде поискового робота GRIB.
Обратите внимание, что GRIB1 имеет немного другую структуру.
Подробнее о разделах GRIB2: https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/