首页 文章

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

提问于
浏览
2

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

所以,我想知道,如果我想在 2 pm2016/06/05 上找到 Delhi(28.6139, 77.2090) timezone: Asia/Kolkata 的UV索引,我该如何从这些文件中计算出来?它是 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

1 回答

  • 3

    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 .

    如上所述,您可以将日期和时间转换为反之亦然 .

相关问题