爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 180636|回复: 126

[经验总结] 用Python下载ERA5简单粗暴教程

  [复制链接]

新浪微博达人勋

发表于 2019-6-16 13:44:34 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 yuan_ys 于 2019-7-3 17:54 编辑
Python下载ERA5数据简单粗暴教程
Author: Syy, IAP, China.
2019.6.16
       写在前面的话:对不起大家,这气象家园上传图片我是真搞不懂。所以,下面可见的就只有文字,图文并茂的内容放在附件pdf文件里;附件还有个test.py文件,也就是下载ERA5的py文件。
       话不多说,直接上干货。本文主要从Python安装,到最后用py文件批量下载ERA5数据进行介绍(步骤非常详细,小白可以掌握的!)。
一.       Python安装
网上有很多Python安装包,平时大家说的是直接到Python官网下载,这个包比较小(优点),其他需要用到的库都要自己进行下一步安装(缺点)。我要说的是Anaconda,这是Python的一个科学计算发行版,内置了数百个Python常用库,包括做机器学习或数据挖掘的库等。它自动集成了最新版的MKL(Math Kernel Library)库,能加速矩阵运算和线性代数运算(emm这里不看也罢,看不懂也没关系,反正下ERA5用不到这些,但会用到conda,优点一会儿再说,总之就按步骤下吧!)。
Python安装步骤:
(1)    清华大学网站下载Anaconda国内镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
根据操作系统windows,mac或linux下载最新版本(下拉到最底)Python3.x版。(也可以去Anaconda官网下载https://www.continuum.io/downloads
(2)    安装Anaconda

(3)    确认Anaconda能调用Python
安装完Anaconda之后,开始菜单会出现Anaconda文件夹(like this):

我们接下来会用到Anaconda Prompt和Spyder。
点击Anaconda Prompt,会出现命令行窗口。输入python,回车,出现如下界面(不报错)即可。

试用python命令:输入print(‘You are excellent!’),回车,屏幕正常输出不报错即可。

退出python,调用ipython:输入exit(),回车,退出python;输入ipython,回车出现如下界面(不报错)。

试用ipython命令:输入print(‘You are excellent!’),回车,屏幕正常输出不报错即可。

至此,上面步骤没有任何问题的话,恭喜你已经成功安装好Anaconda/Python!
二.       下载ERA5
(1)    在Climate Data Store(CDS)注册账号并登陆,网址https://cds.climate.copernicus.eu/user/register?destination=%2F%23!%2Fhome
(2)    安装CDS API :
这一步就体现出Anaconda的优势了!当然其实是因为有conda。欧洲中心官网是这么介绍(https://confluence.ecmwf.int/display/CKB/How+to+install+and+use+CDS+API+on+Windows)的,很多字,但我们有Anaconda,所以就只需要看红框的内容就可以了!如下:

Emm。。。看不太清,自己去官网对应一下吧。总之步骤就是:
还是打开AnacondaPrompt,直接按官网指导,输入conda config --add channels conda-forge,回车;再输入condainstall cdsapi,回车。然后等待,会问你Proceed ([y]/n)?,你就输一个y,回车。然后就可以等它完成了(注意过程中要联网)!
至此,恭喜你已经完成CDS API的安装,距离成功又近了一步!
(3)    在这个目录下C:\Users\Username\ 新建一个txt文件,命名为.cdsapirc.txt。

(4)    确保已经登陆CDS之后,打开这个网址(https://cds.climate.copernicus.eu/api-how-to),复制你的API key(下图红框里的两行),并粘贴到那个.cdsapirc.txt文件中,保存,关闭。

(5)    将这个文件重命名为.cdsapirc.(即删除txt这三个字母,注意新命名的文件前后各有一个点),系统会提示文件不可用,点确定即可。完事儿就是这样:

(6)    好了,前期工作终于全部做完了,接下来正式开始下载ERA5!
搜索ERA5,再选择Datasets,会出现

选择你需要的资料,本文以ERA5 hourly data on pressure levels from 1979 to present为例。点进去,选择Download data,在这个页面选择你需要的pressure level,variable, time等,最后注意先accept the licence,然后Show API request。

打开Spider(开始菜单—Anaconda3--Spider),新建一个文件(本文命名为test.py),保存到Python安装目录。

将刚刚Show API request得到的代码复制粘贴到Spider程序的test.py文件中。把程序最后“download.nc”改成自己电脑上的路径和名称,分辨率也可以调一下,然后run就可以了。像这样,

OK,差不多已经算成功了。但是,这样下载只能按天或者月下,每次跑都要改时间,太麻烦了。那么有没有循环甚至可以并行的程序呢?有!网址在此https://github.com/jiangleads/Get_ECMWF_Data/blob/master/%E5%9C%B0%E9%9D%A2%E5%9C%BA_era5_cds.py
剩下的就靠自己去悟了!哈哈哈!(最好有点python的基础知识。。。)

test.py

1.17 KB, 下载次数: 560, 下载积分: 金钱 -5

用Python下载ERA5数据简单教程.pdf

591.47 KB, 下载次数: 1576, 下载积分: 金钱 -5

评分

参与人数 3金钱 +26 收起 理由
hhhhhy + 1 很给力!
guohao + 5 很给力!
rceclx + 20 很给力!

查看全部评分

本帖被以下淘专辑推荐:

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

新浪微博达人勋

 楼主| 发表于 2020-2-13 11:00:16 | 显示全部楼层
发现点文件.cdsapi.创建不成功是大家经常出现的问题,这个就去搜一搜你的系统如何创建点文件吧。另外有的电脑创建点文件就是出问题,这个时候可以尝试用另一台电脑创建成功后复制过去。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-9-22 15:57:43 | 显示全部楼层
太棒了楼主这里缺少个空格哇  conda install cdsapi
密码修改失败请联系微信:mofangbao
回复 支持 3 反对 0

使用道具 举报

新浪微博达人勋

发表于 2020-2-19 10:27:34 | 显示全部楼层
你好!请问安装好了Anaconda,就不用再安装Python了吧?Python安装目录应该在哪里?我按照上述操作,会出现报错:No module named cdsapi,但是前面conda install cdsapionda的操作已完成,请问为什么会出现这种情况呢?谢谢!
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2019-12-16 22:58:54 | 显示全部楼层
某某蒙 发表于 2019-12-16 22:53
想请问一下我在运行conda install cdsapi之后一直显示Solving environment: failed该怎样解决呀,谢谢!!
...

刚用这个conda config --set channel_priority flexible好像解决了
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2019-10-9 11:20:05 | 显示全部楼层
勿忘草 发表于 2019-6-21 11:10
一个很弱的问题,我在建.cdsapirc.文件的时候,它总是文本文件,没法变成不可执行文件。

你在查看文件的时候在文件夹里选择显示所有文件的扩展名,然后把.cdsapirc.txt的“txt”删掉就好
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2019-10-23 23:52:55 | 显示全部楼层
不顾一切 发表于 2019-10-14 10:51
您好,我想请问一下,我运行了最后的python程序,它显示is running,可是并没有数据下好,是还要继续等待吗 ...

你这个情况我也遇到了,问题是下载的数据太大,如果一次下载数据量超过2G就会这样,最后下载失败。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-7-3 17:58:17 | 显示全部楼层
纠正pdf文档里的一个小错误:第二.(2)部分,打开Anaconda Prompt之后,应该输入conda config --add channels conda-forge 。即add前面有两个短横线,pdf里面只写了一个,这样是会出错的。当然网站上就是两个短横线,我打字的时候少打了一个。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2019-6-17 08:06:47 | 显示全部楼层
大佬,顶上
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-6-17 08:51:54 | 显示全部楼层

东拼西凑(捂眼)
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-6-17 09:19:54 | 显示全部楼层
多谢分享haha
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-6-17 14:33:05 | 显示全部楼层

别客气
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-6-17 16:39:38 | 显示全部楼层
这是及时雨的节奏啊,点赞楼主!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-6-18 14:04:43 | 显示全部楼层
独孤酒见 发表于 2019-6-17 16:39
这是及时雨的节奏啊,点赞楼主!

嘻嘻~能顺利下载就好~
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-6-21 11:10:54 | 显示全部楼层
一个很弱的问题,我在建.cdsapirc.文件的时候,它总是文本文件,没法变成不可执行文件。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-6-21 16:54:59 | 显示全部楼层
勿忘草 发表于 2019-6-21 11:10
一个很弱的问题,我在建.cdsapirc.文件的时候,它总是文本文件,没法变成不可执行文件。

可以用编辑器创建,比如sublime text3
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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