Объясняете, как прогноз 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 года.
Вы можете конвертировать дату и время наоборот, как я написал выше.