爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 180311|回复: 81

[分享资料] Grads基础篇+NCEP+EC资料下载

  [复制链接]

新浪微博达人勋

发表于 2018-1-20 16:11:14 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 feiji158 于 2018-6-14 07:59 编辑

Grads基础篇+NCEP+EC资料下载
写在前面的话:发这样的一篇帖子主要是方便自己日后使用,省得又得百度。我多年前写文章时用的还是1.8、1.9,多年不用,现在都是2.0、2.1。有较大的变化,加之多年不用也忘的差不多了,本帖就是重新开始学习的一个内容。本贴会涉及一些小问题解决,但我能力有限(英语小学水平、没学过编程),其他问题请自行百度。本帖以引用气象家园帖子为主,我会贴下帖子链接,所有程序、组件请去原帖下载,一来尊重别人的劳动成果,二来也可以通过拜读原帖加深印象。主要内容包括:一、Grads的安装与运行,二、NCEP资料的下载和EC资料的下载
一、Grads安装与运行
1、Grads安装
1.1、Grads下载(OpenGrads)
Grads2.1 这个是安装版
https://sourceforge.net/projects/opengrads/files/grads2/2.1.a2.oga.1/Windows/grads-2.1.a2.oga.1-win32_superpack.exe/download
这个是不需要配置环境变量的。
1.2、Grads 安装
双击下一步下一步,没什么复杂的。唯一点就是不要手贱右键以管理员身份运行安装程序。
1.3、当然你可以选择家园整合版2.1、家园整合版2.0
整合版2.1解压了就可以用、2.0是安装版需要关闭杀毒软件安全卫士等,里面都有一个配置PATH的vbs,但我使用起来有些问题,最好是手动配置环境变量。如果不配置就不能在任何环境执行程序,而且在解码GRIB1、2文件也会出现问题。(改的都是系统变量,不是用户变量,如果以前有安装Grads,请注意先把以前的删除。)
如何配置环境可看下面两个帖子(win7、8和win10显示略有差异,自行百度)
配置的路径跟你Grads安装的路径要一致,不能完全照搬帖子里的路径。
https://jingyan.baidu.com/article/6079ad0e9a348528ff86dba8.html
如何才是配置好了?
DOS环境下执行grads –l(win+r,键入cmd,进入DOS),如果grads能运行出来,说明配置好了。
2、Grads运行
2.1一个大问题,按回车程序闪退。
没有联网闪退,请参考:
win8和win10没有这个loopback网卡 你需要安装的是 xxx环回适配器
联网闪退显示 PATH is too long请参考:
2.2两个小问题:对运行无任何影响,视觉不爽而已。没有强迫症可以忽视。
1.jpg
find_fast_cwd:大概是32位程序在64位系统上运行的问题,i686下找到opengrads兼容到windowsXP运行就不会显示了,但这样会造成grads窗口不能直接拖文件显示路径。
Cygwinwarning:在环境变量中系统变量添加一个CYGWIN=nodosfilewarning就可以了。如下图
2.jpg
二、资料下载
1、NCEP资料下载
我常用的有两个
不需要帐号:
https://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.html
需要注册帐号:
https://rda.ucar.edu/datasets/ds083.2/
第一个简称NC资料,是单物理量2.5°*2.5°的资料,常用于环流形势的分析。一般是一年的资料为时间尺度,格式是netCDF3或netCDF4-classic,里面提供每日4时次、日平均、月平均等资料下载,有人说有1°*1°的资料,请自行查找,我不知道在哪,不要问我。
例如需要下载2015年每日6小时一次的高度场资料:
点第一个网址中的Pressurelevel——Geopotential Height4-times Daily 后面的see list——Multiple levels的see list——hgt.2015.nc下载。这样的资料Grads可以直接用sdfopen命令就可直接读取,不需转码。
第二个简称FNL资料,083.2目录下是1999.7.30到现在的多物理量1°*1°的资料,可用于中小尺度系统的分析。格式是GRIB1或GRIB2,点Description,下拉到Related RDA Datasets可以查看各类资料哪个目录下。
例如下载2018年1月1日00时(世界时)的资料:
点Data Access——GRIB2 6 HOURLY FILES 2007.12.06 to current 后的Web File Listing——Complete File List—— GRIB2 2018—— fnl_20180101_00_00.grib2就可以下载,如果是多个文件可以点选fnl_**.grib2文件前的勾选框,然后点击上方的View SelectedFiled/Get As a Tar File(后面还有个Perl Download Script,可用于批量下载),进入下一步,点Download tarfile下载压缩包。
Fnl资料其他下载方式:
物理量选择下载,WebFileListing后选择Faceted Browse,请自行研究。
批量下载,手动下载不能超过2G,超过2G需要脚本下载,我使用的是Perl脚本。其需要Perl、Wget两个软件。
Perl用的ActivePerl
http://downloads.activestate.com/ActivePerl/releases/5.24.3.2404/ActivePerl-5.24.3.2404-MSWin32-x64-404865.exe
Wget用的gun wget
https://eternallybored.org/misc/wget/
ActivePerl自行安装,Wget是不需要安装的,32位系统就下wget.exe,64位系统就下wget64.exe(下载好后把文件名改成wget.exe)。然后把wget.exe复制到某个文件下,我是放到D:\Program Files (x86)\wget文件夹下的,最后环境变量-系统变量Path中添加wget.exe的路径如D:\ProgramFiles (x86)\wget。DOS环境下输入wget -h 查看wget环境变量配置是否成功,如果出现帮助菜单就说明配置成功。
脚本获取
在勾选好索取的fnl资料后我们不用点击View Selected Filed/Get As a Tar File,点击Perl Download Script,然后复制里面的脚本,新建一个文本文件,把脚本复制进去保存,把文件改成‘xxx.pl’(就是把.txt改成.pl,没有看到.txt请自行百度),进入DOS界面输入‘perl 脚本所在路径\xxx.pl 你的密码’进行下载,下载文件是保存在脚本所在文件下的,自己注意。(是否可以通过修改脚本下载自己想要的文件,请自行研究,不要问我,我不知道。)

2、EC资料下载
EC资料是需要帐号,欧洲中心帐号注册https://apps.ecmwf.int/registration/ 是需要梯子的 https://my.ishadowx.net/
3天或1G的梯子,只有这样才能在注册看到验证码图案。
注册好后会给你的邮箱发确认信,用信中给的地址确认后才能给你邮箱发密码。
关于下载请先看下两个帖子,了解大概。
利用python脚本,批量自动下载欧洲中心的气象数据:
欧洲中心关于脚本下载的介绍
https://software.ecmwf.int/wiki/display/WEBAPI/Access+ECMWF+Public+Datasets
需要一个软件Python
https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi
如果你知道pip组件如何安装,可自行选择版本(https://www.python.org/downloads/
),不知道请选择带有pip组件的Python版本(2.7.14是自带的),请自行安装好。
特别要注意选上pipAdd python.exe to Path,然后一路点“Next”即可完成安装。

第一步生成点文件
有了帐号密码后登录https://apps.ecmwf.int/auth/login/
登录后打开https://api.ecmwf.int/v1/key/
复制以下内容:
3.png
新建一个名为‘.ecmwfapirc.txt’的文本文档(.txt不显示的,请调至显示,不会的百度),别少了前面的点,打开文档把复制的key内容(就是上图的内容)粘贴进去,保存。重名命文档,txt前在加一个点,变成‘.ecmwfapirc..txt’,最后把‘.txt’删除,提示不可用,请点‘是’,这样点文件‘.ecmwfapirc就生成了。最后把点文件复制到我的文档下面,win10就是桌面用户名文档下面,里面包含下载、音乐、桌面等文件夹的(搞不清楚自行百度)。
第二步安装库
https://software.ecmwf.int/wiki/display/WEBAPI/Access+ECMWF+Public+Datasets
找到Install client libraries
4.png
复制图中红圈里的内容
进入DOS,粘贴(ctrl+v),回车等提示Successfully installed ecmwf-api-client-*** 就表明安装成功了。
第三步调试
上一个网址下,找到Scriptexamples里面有各类模式分析资料基础脚本,例如点击Python ERA-interim examples复制A basic example 下的脚本:
#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer
   
server= ECMWFDataServer()
   
server.retrieve({
    'stream'   : "oper",
    'levtype'  : "sfc",
    'param'    : "165.128/166.128/167.128",
    'dataset'  : "interim",
    'step'     : "0",
    'grid'     : "0.75/0.75",
    'time'     : "00/06/12/18",
    'date'     : "2014-07-01/to/2014-07-02",
    'type'     : "an",
    'class'    : "ei",
    'target'   : "interim_2014-07-01to2014-07-02_00061218.grib"
})
新建一个文本文档‘xxx.txt’把内容复制进去,(把日期改少点)保存,‘.txt’改成‘.py’ 双击执行,等待下载。
利用python脚本,批量自动下载欧洲中心的气象数据:
里有如何修改脚本下载自己所需内容的,请自行学习。
学不会,去http://apps.ecmwf.int/datasets/ 选择你需要的内容,然后在最下面点击View the MARS生成脚本,复制 Python script下面的脚本生成脚本文件进行下载。

三、GRIB1、GRIB2文件解码,Grads2.0与2.1出图区别
3.1解码
【第二版】【NCEP FNL 1*1(grib1+grib2)资料处理】兰溪整合版
关于解码里面介绍的很详细,强调三点
1、解码分两步,生成ctl文件和b文件;
2、GRIB1用grib2ctl,GRIB2用g2ctl 别搞混;
3、Grads画图用的是ctl文件。
解码需要的组件可以去
【圣诞礼物】新鲜出炉的g2ctl.exe、cn_out.txt、basemap.gs等等
下载g2ctl_etc_exe.rar,里面有最新的内容。请把cyggomp-1.dll、g2ctl.exe、grib2ctl.exe、wgrib.exe、wgrib2.exe文件复制到‘Grads安装路径\OpenGrADS\Contents\Cygwin\Versions\2.1.a2.oga.1\i686’
如果提示cygwin1.dll的问题请去兰溪的PDF里的附件下载,粘贴到上面的文件夹里。
3.2出图区别
Grads2.0一般用的命令是:enable print xxx    print  disable print
Grads2.1gxprint  xxx  
而且Grads2.1出不了gmf格式图片,再者2.0上大眼睛会闪退,所以我用的都是出eps的图片,读取和旋转请参见
[图形美化] opengrads2.1 输出图形格式无奈之下的办法:
强调两点:
1.先安装Ghostscrip,再安装GSview(注册码帖子内有),用GSview打开eps图片;
2.如果图片打开是倒的,在orientation里选择Landscape。(auto可能是倒的)。
然后Edit—copy 粘贴到word中。

评分

参与人数 4金钱 +37 贡献 +10 收起 理由
further + 10
珮瑶瑶 + 5 很给力!
z134229 + 2 很给力!
mofangbao + 20 + 10

查看全部评分

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

新浪微博达人勋

 楼主| 发表于 2018-12-21 10:25:23 | 显示全部楼层
young89 发表于 2018-12-7 09:21
我想问一下,官网上NCEP数据说明在哪找?找了半天没找到。

本帖19楼{:eb348:}{:eb348:}
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

发表于 2018-1-20 19:13:30 | 显示全部楼层
赞,作为新手入门很好的参考资料,mark!
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2018-1-20 20:42:57 | 显示全部楼层
挺好的,点赞
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-1-21 10:18:02 | 显示全部楼层
这个总结必须给个赞!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-1-21 16:34:45 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2018-1-25 19:12:50 | 显示全部楼层
不错 整理很详细
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-1-27 23:23:14 | 显示全部楼层
感谢楼主详细介绍,鼓捣一晚上下载成功
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-3-2 21:24:21 | 显示全部楼层
楼主您好,想问一下Python批量下载,按照上面步骤安装完了之后,写了一个脚本不能运行,报错
Traceback (most recent call last):
  File "G:\python\1\interm_1.py", line 2, in <module>
    from ecmwfapi import ECMWFDataServer
ImportError: No module named ecmwfapi
不知道是哪里出了问题。。。。
求助!!!
!!!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-2 21:43:18 | 显示全部楼层
DILIDILI 发表于 2018-3-2 21:24
楼主您好,想问一下Python批量下载,按照上面步骤安装完了之后,写了一个脚本不能运行,报错
Traceback ( ...

看看脚本前面跟这个一致吗?
#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer
点文件设置好了没?


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

新浪微博达人勋

发表于 2018-3-3 00:21:56 | 显示全部楼层
feiji158 发表于 2018-3-2 21:43
看看脚本前面跟这个一致吗?
#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer

我的问题已经解决啦!谢谢回复!脚本一致,应该是我没对电脑的path设置环境变量的原因
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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