我从 ftp 获取每小时紫外线指数NOAA 网站。如前所述here ,预报时间以 uv.t12z.grbfXX 的形式出现在文件名中,其中 XX 是预报时间(01 到 120)
。但在 grib2 文件中,键 hour
始终指示小时为 12。此外,任何文件中的日期都不会发生变化。截至今天,所有 120 个文件中的日期均为 2016/06/04
。我在文件的键中也找不到时区。
所以,我想知道,如果我想查找德里(28.6139, 77.2090)时区:亚洲/加尔各答
在2016/06/05
的紫外线指数下午 2 点
,我如何从这些文件中计算出这个值?是否是 uv.t12z.grbf38
文件中的 UV 指数(假设文件中的 01
为 2016/06/04 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
最佳答案
GRIB 文件中的
值时、日、月、年
仅表示天气预报的开始时间(即生成预报的初始时间)。
此文件中的日期和时间采用 UTC。
要获取 UTC 格式的预测日期和时间,您需要向初始时间添加一个值 XX
。
然后,为了获得您的本地时间,请添加您的时移值。
也就是说,我需要将 uv.t12z.grbf38,其中时、日、月、年 = 12,1,1,2016
转换为莫斯科时间。首先,我添加开始时间 38 小时并得到 2,3,1,2016
(这次根据 UTC)。莫斯科时移 +3 UTC,这意味着本地时间为 2016 年 1 月 3 日 5:00。
您可以转换日期和时间,反之亦然,正如我上面所写的。
关于python - 解释 NOAA 紫外线指数预测如何计算预测文件中的小时数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37639170/