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

标签 python weather grib noaa

我从 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 指数(假设文件中的 012016/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/

相关文章:

python - Numpy 选择具有多列的行作为条件

python - 忽略 swig 接口(interface)中 operator<< 的重新定义

android - 应用关闭后如何 “Stop Flutter from rebuilding widgets”

android - 如何读取 Android 和 iOS 的 GRIB 文件?

python - 每次运行时清除小部件以前的输出

python - Pygame 墙 Sprite 碰撞

jquery - 集成/构建 'weather radar' 小部件

javascript - 经典工具包的 ExtJS 地理定位用法

python - 如何在 Python 中从极地立体图 grib2 文件绘制等高线

r - 使用 R 将 GRIB 数据绘制为经度超过 360 度的 map