Объясняете, как прогноз NOAA UV Index рассчитывает час в файле прогноза?

Я получаю ежечасный УФ-индекс с ftp- сайта NOAA. Как упомянуто здесь, время прогноза присутствует в имени файла как uv.t12z.grbfXX, where XX is the forecast hour (01 to 120), Но внутри файлов grib2 ключ hour всегда указывайте, что час 12. Кроме того, дата не меняется вообще ни в одном файле. На сегодня это 2016/06/04 во всех 120 файлах. Я не смог найти часовой пояс в ключе файла.

Итак, я хотел бы знать, если я хочу найти УФ-индекс Delhi(28.6139, 77.2090) timezone: Asia/Kolkata на 2016/06/05 в 2 pmКак я могу рассчитать это из этих файлов? Это УФ-индекс в uv.t12z.grbf38 при условии файла 01 в файлах есть 00:00 hrs on 2016/06/04, Я не смог найти ничего в документации по этому поводу.

Вот фрагмент кода для поиска часа:

import pygrib
grbs = pygrib.open('uv.t12z.grbf01.grib2')
grb = grbs.select(name='UV index')[0]
year = grb.year
month = grb.month
day = grb.day
hour = grb.hour
minute = grb.minute
print year,month,day,hour,minute

Выход:

>>2016 6 4 12 0

1 ответ

Решение

Ценности hour, day, month, year в файле GRIB указывается только время начала прогноза погоды (это начальное время, из которого составляется прогноз). Дата и время в этом файле соответствуют UTC. Чтобы получить прогноз даты и времени в UTC, необходимо добавить к начальному времени значение XX, Затем, чтобы получить ваше местное время, добавьте к этому значению сдвиг времени.

Т.е. мне нужно конвертировать ув.t12z.grbf38, из которого hour, day, month, year = 12,1,1,2016 по московскому времени. Сначала добавляю время начала 38 часов и получаю 2,3,1,2016 (на этот раз по UTC). В Москве сдвиг времени +3 UTC, то есть местное время 5 января 3 января 2016 года.

Вы можете конвертировать дату и время наоборот, как я написал выше.

Другие вопросы по тегам