爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6552|回复: 1

[grib] 按要素、高度层下载GFS数据方法

[复制链接]

新浪微博达人勋

发表于 2019-4-16 20:19:47 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
数据下载
由于业务需求,需要下载GFS数据,根据GFS提供的ftp地址可以访问并下载需要的数据。可以看到这个目录(https://ftpprd.ncep.noaa.gov/data/nccf/com/gfs/prod/)下提供有最近10天的数据。

                               
登录/注册后可看大图
随便打开一个时间目录,里面存有单个起报时间,多种格点精度,多个预报时次的数据。可以根据这里数据的完整地址下载数据。

                               
登录/注册后可看大图
虽然能够下载数据了,不过平时使用数据并不需要全部的要素和全球区域,是否能够下载裁剪的数据?
最后我找到了需要的网站(https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p50.pl?dir=%2Fgfs.2019041600),不过在开始写文档的时候突然发现忘记哪里找到这网站的了T_T。
这个页面里可以选择不同预报时次,
可以选择不同的高度层,
可以选择不同的要素,
居然还可以进行区域裁剪,
这不正是我想要的吗!

                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图
点击Start download按钮,就开始了数据下载。

                               
登录/注册后可看大图
数据验证
使用Panoply查看下载的数据的详情。可以看到得到的数据是我们根据要素进行筛选出来的,数据位置也是经过裁剪的。因此可以通过这个方法下载裁剪后的数据。

                               
登录/注册后可看大图

                               
登录/注册后可看大图

数据批量下载
虽然成功下到了需要的数据,但是这需要多次点击,并输入对应的经纬度信息,单次下载还可以,如果要下载多个文件,或者定时下载的话就会特别繁琐。
这里考虑通过脚本软件来进行下载。首先,需要获取下载得到的数据的地址,从浏览器的下载页面中可以看到数据的原始路径。
https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p50.pl?file=gfs.t00z.pgrb2full.0p50.f003&all_lev=on&var_HGT=on&var_RH=on&var_TMP=on&var_UGRD=on&var_VGRD=on&subregion=&leftlon=50&rightlon=120&toplat=50&bottomlat=5&dir=%2Fgfs.2019041600

                               
登录/注册后可看大图

这个地址包含很多信息,仔细查看可以发现我们需要的格点精度:0p50,起报日期:2019041600,起报时间:t00z,预报时次:f003,要素信息:RH/UGRD/TMP/HGT/VGRD,高度层:all_lev=on,经纬度范围:leftlon=50&rightlon=120&toplat=50&bottomlat=5都包含了。
由于之前高度层选的全部,尝试修改其中的高度层信息,选择500mb和600mb,得到的url为https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p50.pl?file=gfs.t00z.pgrb2full.0p50.f003&lev_500_mb=on&lev_600_mb=on&var_HGT=on&var_RH=on&var_TMP=on&var_UGRD=on&var_VGRD=on&subregion=&leftlon=50&rightlon=120&toplat=50&bottomlat=5&dir=%2Fgfs.2019041600,高度层相关的lev_500_mb=on&lev_600_mb=on。
这次修改url中的信息,将500、600改为700、800,发现同样可以下载数据。
因此可以通过直接修改url中对应的参数来获取不同的数据。
编写程序来组成对应的url,使用urllib库来访问url进行数据下载。最后成功下到对应的数据。具体代码见github页面(https://github.com/epicstockings/Atmosphere/tree/master/data)。
对于特定数据的url拼接这里不做详细描述,大家根据自己的需求进行修改。我这边下载速度有点慢,没有测试是urllib库的原因还是别的,如果有人有更快的下载方法麻烦告诉我下。
另外在linux下面可以通过wegt进行下载,wget需要将url中的'&'替换为'\&',否则无法成功下载。

                               
登录/注册后可看大图
附:0.5度数据要素高度层说明文档:https://www.nco.ncep.noaa.gov/pmb/products/gfs/gfs.t00z.pgrb2.0p50.f006.shtml

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-11-21 09:34:40 | 显示全部楼层
我想问一下第一楼的那个链接我点进去好像只有gfs最近20天的数据  那我要是想要下载2015年的风场应该在哪下载呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表