windows上利用Python批量下载ERA-20C数据

windows上利用Python批量下载ERA-20C数据

Python小白一个,以前都是手动下ERA数据的,这次由于要下载ERA-20C不能全选所需要的时间,只能用程序批量下载。试了很多办法都行不通,可能是环境变量不匹配导致的,最终用anaconda实现,分为anaconda安装python、加载ecmwfapi和下载资料三步。

1. 利用anaconda安装python
具体方法参考这篇博文:通过Anaconda安装Python3.7

2. 加载ecmwf

   pip install ecmwf-api-client

详情见链接:ECMWF加载ecmwf包

3. 下载资料
(1)在电脑中打开Jupyter Notebook,即弹出界面和网页,在网页右侧点击“New”新建一个py文件备用。
在这里插入图片描述
在这里插入图片描述
Jupyter Notebook界面:Jupyter Notebook网页
(2)在官网找到ERA-20C的资料,以surface的ERA-20C数据为例:
选择一个年份,选择所需变量,划至最下方点击左侧按钮View data retrieval request,将弹出来的页面中Python script选项卡中的脚本复制到刚刚在Jupyter Notebook新建的脚本.py中在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)更改代码,批量下载。
最主要的是设置循环,使时间变量可以一直变,并且文件名也要一直变,运用了最简单的方法,代码如下

from ecmwfapi import ECMWFDataServer
for year in range(1950,2010):   # 根据需要设置循环年份
    time=str(year)
    filename=time+"0101/"+time+"0201/"+time+"0301/"+time+"0401/"+time+"0501/"+time+"0601/"+time+"0701/"+time+"0801/"+time+"0901/"+time+"1001/"+time+"1101/"+time+"1201"
    target="F:/ERA-20C_surface_"+time+".nc" # 根据需要设置下载的文件储存位置
    server = ECMWFDataServer()
    server.retrieve({
        "class": "e2",
        "dataset": "era20c",
        "date": "19000101/19000201/19000301/19000401/19000501/19000601/19000701/19000801/19000901/19001001/19001101/19001201",
        "expver": "1",     
        "levtype": "sfc",
        "param": "168.128", # 根据需要选择变量名
        "stream": "moda",
        "type": "an",
        "grid": "2.0/2.0",  # 根据需要设置分辨率,这里用的是2°的
        "format": "netcdf", # 根据需要设置分辨率,这里用的是nc,还可以设为grib
        "target": target,
    })

然后点击上方的“运行”按钮就开始下载啦:
在这里插入图片描述
在这里插入图片描述
成功!

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Python处理CMIP 6数据可以通过以下步骤实现: 1. 获取数据:首先需要获取CMIP 6数据集。可以通过访问相应的数据仓库或使用Google引擎网站(如CERA-20C数据集)下载数据。 2. 导入数据:将数据文件导入Python环境中。可以使用Python内置的netCDF库或者第三方库(如xarray)来导入数据。这些库可以轻松处理netCDF格式的数据,提供了方便的数据访问和操作方法。 3. 数据预处理:根据需要,对数据进行预处理。例如,可以选择特定时间范围、降低数据的空间分辨率、进行数据插补或填充缺失值等。 4. 数据分析和可视化:使用Python中的数据分析库(如pandas、numpy和scipy)进行数据分析。可以计算统计量(如均值、标准差、相关性等)或进行时空分析。 5. 数据存储:根据需要,将分析结果存储为新的数据文件。可以选择将数据保存为新的netCDF文件或其他格式(如CSV、Excel等)。 6. 数据可视化:使用Python中的可视化库(如matplotlib和seaborn)对数据进行可视化。可以绘制时间序列图、空间分布图、散点图等,以便更好地理解和呈现数据。 7. 数据分享:将处理和分析过的数据和可视化结果分享给其他人。可以将数据和结果发布在网站上、分享到学术论坛上或利用Jupyter Notebook创建交互式报告。 总之,使用Python处理CMIP 6数据可以帮助我们更好地理解和分析气候模型输出,为气候研究和决策提供有力的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值