Metpy HRRR Поперечное сечение - PullRequest
0 голосов
/ 05 февраля 2019

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

Вот как выглядит мой набор данных после чтения в netcdf с xarray: Imgur

После чтения данных я пытаюсь следовать сечению Metpy / Xarrayучебные пособия путем синтаксического анализа данных:

data = ds.metpy.parse_cf()

Что дает этот новый набор данных: Imgur Это создало координату crs, поэтому я предположил, что она работала несколько правильно.

После этого ясоздал контурную карту относительной влажности 700 МБ, ветра и высоты (другой набор данных), где я проанализировал относительную влажность из набора данных, а также вытащил x и y

RH = data.metpy.parse_cf('RH_P0_L100_GLC0')
x, y = RH.metpy.coordinates('x', 'y')

Все это сработало, и я смог произвестикрасивый сюжет без проблем.Итак, затем я хотел сделать поперечное сечение.Следуя примеру в документации:

start = (40.3847, -120.5676)
end = (39.2692, -122.3784)
cross = cross_section(data, start, end)

, который выдал следующие ошибки: Imgur

Итак, вместо этого я попытался использовать переменную RH сверху, начиная с

RH.metpy.x 

дал X-измерение.Но выполнение

cross = cross_section(RH, start, end)

вместо этого выдало эту ошибку: Imgur

Так что мне просто интересно, пропустил ли я какой-то шаг в разборе исходного набора данных или если сообщениеКонвертация netcdf что-то испортила или, если это вообще возможно, с помощью metpy?

В общем, я просто работаю над созданием поперечного сечения, как показано в примере: https://unidata.github.io/MetPy/latest/examples/cross_section.html#sphx-glr-examples-cross-section-py

В качестве бонусавопрос можно ли будет заполнить рельеф местности под участками?

1 Ответ

0 голосов
/ 06 февраля 2019

В настоящее время Интерполяция сечения MetPy основывается на измерениях x и y, присутствующих в наборе данных / массиве данных в качестве координат измерений (см. Описание в документации xarray здесь ).В вашем наборе данных измерения x и y ygrid_0 и xgrid_0 указаны как измерения без координат, поэтому возникает проблема.

Однако, поскольку такая ситуация обычно встречается в файлах метеорологических данных, текущая реализация MetPyможет быть слишком строгим.Я бы предложил открыть проблему на системе отслеживания проблем MetPy .

Что касается вашего бонусного вопроса, если у вас есть данные уровня местности в той же вертикальной координате, что и ваши данные, вы можете использоватьfill_between() метод в matplotlib для заполнения ландшафта под участками.

...