Преобразование CSV в данные GRIB2 для отображения в Leaflet - PullRequest
0 голосов
/ 12 марта 2020

TL; DR: я ищу некоторые ресурсы для создания наборов данных GRIB2 на лету, в идеале с использованием собственных данных о ветре в формате CSV.

У нас есть куча данных для серия локализованных метеостанций, контролирующих информацию о ветре вокруг нашего города. Они сообщают с интервалом ~ 2-3 минуты (гораздо чаще, чем стандартные погодные данные), и из их отчетов мы получаем широту, долготу, скорость ветра и направление ветра. Кто-то пошел и рассказал боссу об этих действительно приятных визуализациях, таких как this , которые могут отображать скорость и направление ветра, и моя работа заключается в том, чтобы это произошло.

Вышеприведенный плагин для Leaflet , GitHub здесь , а также некоторые другие, все используют данные GRIB2, которые из моего исследования включают набор данных влево / вправо и набор данных вверх / вниз для ряда точек, нанесенных на график через регион.

Проблема, с которой я столкнулся, состоит в том, что я нашел только несколько инструментов, которые взаимодействуют с данными GRIB2, и большинство, кажется, декодирует данные из набора данных GRIB2, и только кажется, существует один инструмент, работающий на Фортране, который компилирует данные GRIB2.

Итак, есть ли способ генерировать данные GRIB2 на лету, используя собственные данные с интервалом в 2-3 минуты?

I Вы просматривали этот ресурс на сайте NOAA , где я нашел несколько инструментов.

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

Вы можете сделать это простым python сценарием, используя pandas, xarray и cfgrib

import pandas as pd
import cfgrib

data = pd.read_csv('your_csv_data.csv')
xarray_data = data.to_xarray()
cfgrib.to_grib(xarray_data, 'out2.grib')

Пожалуйста обратите внимание, что вы должны определить спецификации grib, прежде чем сохранять их как данные grib.

0 голосов
/ 12 марта 2020

Я знаю, как сложно работать с GRIB и некоторыми другими научными / погодными форматами. Это может быть не самый лучший ответ, но это может быть ваш единственный ответ, так как я нахожу эти типы вопросов только пылиться из-за общего недостатка знаний о форматах и ​​инструментах.

Из того, что я помню, Инструменты CDO (ссылка здесь ) могут творить волшебные вещи - но я не настолько опытен с этим. Я использую это для преобразования спутниковых данных в обычный текст, и это было абсолютным спасением жизни! Поэтому я объясню:

Я предложил сначала преобразовать CSV в netCDF. У меня долгое время сохранялась ссылка go, но она мне так и не понадобилась. ( обсуждение здесь ). По сути, некоторый код python должен быть в состоянии выполнить преобразование для вас. Может быть несколько способов сделать это, но я никогда не смотрел на это дальше первоначального исследования.

Далее, вы должны быть в состоянии конвертировать .n c в .grib с использованием CDO , Я знаю, что это может сделать довольно много. Здесь обсуждается это, так что это должно быть в состоянии сделать .

Я также вижу по этой ссылке , где кто-то конвертирует grib в netcdf , но вы должны быть в состоянии сделать это и в обратном порядке. Я просто не знаю точных команд. По ссылке:

В качестве примера использования CDO, преобразование из GRIB в netCDF может быть таким простым, как

cdo -f nc copy file.grb file.nc

Я подозреваю, что это только наоборот но, вероятно, что-то вроде:

cdo -f grb file.nc file.grb

Надеюсь, вы можете собрать все воедино, чтобы он работал, не будучи слишком взломанным.

...