Я начинаю программировать python и хотел бы написать небольшой скрипт, который отображает данные «Локальная температура, диагностированная на высоте 2 м над рельефом», «Зональная составляющая западно-восточного горизонтального ветра, диагностированная на Высота 10 м »и« меридианная составляющая горизонтального ветра, диагностируемого на высоте 10 м », как функция долготы и широты.
Для этого я загружаю файл с открытого сайта данных Метеофранса ОТКРЫТЬ ДАННЫЕ , выбрав:
Домен: «Франция - 0,01 °», субпакет: «SP1 - текущие параметры поверхности», группа сроков «0h» и дата запуска «2020-02-10 00 UT» C "
Итак, у меня есть файл в формате grib2, который я пытаюсь обработать с помощью библиотеки pygrib
Для начала, я просто пытаюсь получить температуру для данного точка (долгота = 0,25, широта = 49,21)
Я создал индекс для чтения файла (кажется, что он самый быстрый)
indx = pygrib.index('./AROME_0.01_SP1_00H_2020021000.grib2', 'typeOfLevel', 'level', 'name')
Я выбираю записи, которые соответствуют temperatu и я возвращаю значения:
msg = indx.select(level=2, typeOfLevel="heightAboveGround", name="2 metre temperature")
temp2m = msg[0].values
Проблема в том, что оттуда я шарил и не могу найти, как извлечь из этой переменной (numpy .ma.core.MaskedArray) значение это соответствует моей долготе = 0,25 и широте = 49,21
Если у кого-то есть идея, мне интересно
import pygrib
indx = pygrib.index('./AROME_0.01_SP1_00H_2020021000.grib2', 'typeOfLevel', 'level', 'name')
msg = indx.select(level=2, typeOfLevel="heightAboveGround", name="2 metre temperature")
temp2m = msg[0].values