爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 22366|回复: 43

利用python下载欧洲气象中心的数据(ECMWF)2018.3.31更

[复制链接]

新浪微博达人勋

发表于 2018-3-31 19:40:48 | 显示全部楼层 |阅读模式

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

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

x
最近一直在用ERF-Interim驱动WRF,之前下数据主要是在网页上点,数据量一大因为网速等等的问题就特别容易断...楼主也知道有批量下载的方法,但是楼主不太积极(才不是因为懒...)就搁置了...十分感谢家园的小伙伴整理的在网页上下载方法(十分详细)
http://bbs.06climate.com/forum.php?mod=viewthread&tid=13288&extra=&page=1


但是今天2018.3.31我上ECMWF的网页想下载数据,发现他们改版了,而且我发现一次好像只能下一个月的数据了,是不是这样...我找了一下以前数据下载时间的选项不见了...不见了...这对我们做气候的人来说简直是晴天霹雳,因为我们动不动就好几十年,这下到什么时候去...于是我赶紧想起了批量下载的方法,参考了下面这位童鞋详尽的python下载方法:
http://bbs.06climate.com/forum.php?mod=viewthread&tid=24435


他们发的帖稍微有点久了,我怕网站更新后代码也更新了,所以我没有完全跟着做,而是尽量在官网找。其实没有那么复杂,如果你稍微有一点点  编码 和 python 的基础,直接看ECMWF他们网站上提供的方法,一步步来就行了,安装一个包,几行代码就可以了:
https://software.ecmwf.int/wiki/display/WEBAPI/Access+ECMWF+Public+Datasets
连这几行代码都可以在  数据获取页面(http://apps.ecmwf.int/datasets/d ... -daily/levtype=sfc/)上最下方的 View the MARS Request 直接生成(选好你要的数据),你考到脚本运行就行,改改文件名字,获取时间段,获取空间范围...可以说非常非常简单了,接下来的事情就交给网速吧...
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-17 20:39:37 | 显示全部楼层
楼主好,想问下你是怎么用python下载的,我参考你贴出来的几个网址然后去下载,但是会显示forbidden,或者我把其他参数按照View the MARS Request去改,就会运行不了,显示语法错误。D:\era_down
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-18 11:05:11 | 显示全部楼层
python下载欧洲中心数据的确方便很多
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-18 19:46:16 | 显示全部楼层
zuichu0128 发表于 2018-4-17 20:39
楼主好,想问下你是怎么用python下载的,我参考你贴出来的几个网址然后去下载,但是会显示forbidden,或者 ...

你说的forbidden是在哪个步骤上遇到的?我上面是把整个我下载数据的经历都写下来了,你想用批量下载的话不用这些网站都看,只看这个https://software.ecmwf.int/wiki/ ... MWF+Public+Datasets,按这个网站上面的详细指导一步步做就好,不难的,有问题再贴出来哈~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-18 19:47:01 | 显示全部楼层
liuchunchun 发表于 2018-4-18 11:05
python下载欧洲中心数据的确方便很多

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

新浪微博达人勋

发表于 2018-4-19 09:01:53 | 显示全部楼层
最大限制30G,为什么提示10.9G就aborted了?

  1. mars - INFO   - 20180418.184040 - Requesting 13200 fields

  2. mars - INFO   - 20180418.184040 - Calling mars on 'marser', callback on 33217

  3. mars - INFO   - 20180418.184040 - Server task is 913 [marser]

  4. mars - INFO   - 20180418.184040 - Request cost: 13,200 fields, 10.9221 Gbytes online, nodes: mvr01 mvr03 mvr04 mvr05 mvr06 mvr07 mvr08 mvr09 mvr10 mvr11 [marser]

  5. mars - INFO   - 20180418.184040 - Wind conversion requested by server

  6. mars - INFO   - 20180418.184046 - Transfering 11727545808 bytes

  7. mars - INFO   - 20180418.184047 - Deriving U and V from vorticity and divergence

  8. mars - ERROR  - 20180418.184937 - Maximum retrieve size 30.00 G reached. Please split your request.

  9. mars - WARN   - 20180418.184937 - Closing connection with 663032 bytes outstanding

  10. mars - ERROR  - 20180418.184937 - Mars server task finished in error

  11. mars - ERROR  - 20180418.184937 - Double buffer error: Assertion failed: length == buffers_[i].length_ in run, line 298 of /users/max/git/eckit/src/eckit/io/DblBuffer.cc(RemoteException from Connector[dhs1029:9701]) [marser]

  12. mars - ERROR  - 20180418.184937 - Error code is -2

  13. mars - WARN   - 20180418.184937 - Got 2047014780 out of 11727545808 bytes

  14. mars - WARN   - 20180418.184937 - Visiting database marser : expected 13200, got 2304

  15. mars - INFO   - 20180418.184937 - 2304 fields have been interpolated

  16. mars - ERROR  - 20180418.184937 - Request failed

  17. mars - INFO   - 20180418.184937 - Request time:  wall: 8 min 57 sec  cpu: 8 min 49 sec

  18. mars - INFO   - 20180418.184937 -   Read from network: 1.91 Gbyte(s) in 1 sec  [1.42 Gbyte/sec]

  19. mars - INFO   - 20180418.184937 -   Processing in marser: wall: 6 sec

  20. mars - INFO   - 20180418.184937 -   Visiting marser: wall: 8 min 57 sec cpu: 8 min 49 sec

  21. mars - INFO   - 20180418.184937 -   Post-processing: wall: 8 min 31 sec cpu: 8 min 30 sec

  22. mars - INFO   - 20180418.184937 -   Writing to target file: 4.46 Gbyte(s) in 6 sec  [722.95 Mbyte/sec] cpu: 6 sec

  23. mars - INFO   - 20180418.184937 - Memory used: 765.44 Mbyte(s)

  24. mars - ERROR  - 20180418.184937 - Some errors reported

  25. ERROR 1 (MARS_REQUEST_TOO_LARGE): Maximum retrieve size 30.00 G reached. Please split your request.
复制代码
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-19 09:33:29 | 显示全部楼层
朝曦dawn 发表于 2018-4-19 09:01
最大限制30G,为什么提示10.9G就aborted了?

重新提交没问题了。。。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-19 10:36:59 | 显示全部楼层
朝曦dawn 发表于 2018-4-19 09:33
重新提交没问题了。。。。。。

也许数据库太累开了会儿小差,原谅他
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-19 15:23:21 | 显示全部楼层
ShuyingChenUCAS 发表于 2018-4-18 19:46
你说的forbidden是在哪个步骤上遇到的?我上面是把整个我下载数据的经历都写下来了,你想用批量下载的话 ...

谢谢楼主,我按照这个里面的步骤来,第一步有点问题,要把自己账号的url和key以及email进行修改,这个步骤里说在contents of $HOME/.ecmwfapirc (Unix/Linux) or %USERPROFILE%\.ecmwfapirc (Windows),就是要找到自己电脑下的.ecmwfapirc文件,然后去修改对吗?那这个.ecmwfapirc文件是需要自己创建吗?要怎么创建呢,我打开它这里提示的创建这个文件的网页但是进不去。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-22 18:03:03 | 显示全部楼层
zuichu0128 发表于 2018-4-19 15:23
谢谢楼主,我按照这个里面的步骤来,第一步有点问题,要把自己账号的url和key以及email进行修改,这个步 ...

问题解决了吗?这几天没上气象家园,sorry。
.ecmwfapirc这个文件需要自己创建,linux放在自己的登录文件夹下(windos没用过),然后到https://api.ecmwf.int/v1/key/这里生成你自己的key复制到上面新建的.ecmwfapirc中。(它提示创建文件的网页我也进不去估计在维护,但是不影响,自己建一个然后把网页上key什么的复制进去就行了)
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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