【问题标题】:Explaining how NOAA UV Index forecast calculates hour in forecast file?解释 NOAA 紫外线指数预测如何计算预测文件中的小时数?
【发布时间】:2016-10-04 23:36:15
【问题描述】:

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

所以,我想知道,如果我想在2016/06/052 pm 上找到Delhi(28.6139, 77.2090) timezone: Asia/Kolkata 的紫外线指数,我该如何从这些文件中计算出来?假设文件中的0100:00 hrs on 2016/06/04,是uv.t12z.grbf38 文件中的UV 指数吗?我在文档中找不到与此相关的任何内容。

这是查找小时的代码 sn-p:

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

【问题讨论】:

    标签: python weather grib noaa


    【解决方案1】:

    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。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-01
      • 2014-02-01
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多