解释NOAA紫外线指数预测如何计算预测文件中的小时数



我从NOAA的ftp网站上获得每小时的紫外线指数。如此处所述,预测时间在文件名中显示为 uv.t12z.grbfXX, where XX is the forecast hour (01 to 120) 。但是在 grib2 文件中,键hour始终指示小时是 12。此外,日期在任何文件中都不会更改。截至今天,它已2016/06/04在所有 120 个文件中。我也在文件的键中找到时区。

所以,我想知道,如果我想在2 pm找到2016/06/05Delhi(28.6139, 77.2090) timezone: Asia/Kolkata的紫外线指数,我该如何从这些文件计算出来?是uv.t12z.grbf38文件中的UV索引,假设文件中的0100: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

GRIB 文件中hour, day, month, year的值仅指示天气预报的开始时间(它是生成预报的初始时间)。此文件中的日期和时间根据 UTC。要以 UTC 格式获取预测日期和时间,您需要在初始时间中添加一个值XX 。然后,要获取本地时间,请将您的时间偏移添加到此值中。

即,我需要转换 uv.t12z.grbf38,从hour, day, month, year = 12,1,1,2016到莫斯科时间。首先,我将开始时间添加到 38 小时并得到2,3,1,2016(这次根据 UTC)。莫斯科的时移为+3 UTC,这意味着当地时间是2016年1月3日5:00。

您可以按照我上面写的转换日期和时间,反之亦然。

最新更新