爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 15823|回复: 2

[经验总结] 利用脚本下载欧洲中心ERA5数据

[复制链接]

新浪微博达人勋

发表于 2020-5-7 10:34:55 | 显示全部楼层 |阅读模式

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

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

x
最近想下载欧洲中心的ERA5数据做一些分析,看了论坛大神的帖子用Python下载ERA5简单粗暴教程之后搞定了初步的安装工作,因为下载的数据比较多,时次又不定,再加上这网速实在是感人,所以就仅选取所需要的时次,在搜索一番之后,知乎上发现了某神所做的python批量下载ECMWF欧洲中心数据,但是不能做时次选择,再折腾了一番和求助群里大神之后终于搞定了。仅仅是小菜鸟一个,语言编写不足之处还请指教。脚本如下
import cdsapi

def  download_cds():

    c = cdsapi.Client()
    lines = open("code.txt", 'r').readlines()
    for i in range(len(lines)):        
        if i%2==0:
            fields = lines.strip('\n')
            fields = fields.split(' ') #split data
            year = fields[0]
            month = fields[1]
            day = fields[2]
            time = list()            
            for j in range(len(fields)):               
                int(j)
                if j > 2:
                    time.append(fields[j])
                    j = j-1
                else:
                    continue
            t = time
            print('Download %s-%s-%s data'% (year,month,day))
            c.retrieve(
                           'reanalysis-era5-single-levels',
                        {
                                'area':'50/95/20/125', # North, West, South, East. Default: global
                                'grid': [0.1, 0.1],
                                'product_type': 'reanalysis',
                                'variable': [
                                        '10m_u_component_of_wind', '10m_v_component_of_wind', '2m_dewpoint_temperature',
                                        '2m_temperature', 'surface_pressure',
                                        ],
                                        'year': year,
                                        'month': month,
                                        'day': day,
                                        'time': t,
                                        'format': 'grib'

                      },
            'd:/era_down/CDS%s%s%s'% (year,month,day)+'.grib')
            print('Datafile %s%s%s'% (year,month,day)+'.grib download successful')
        else:
            pass

if __name__ == '__main__':
    download_cds()


code.txt的格式如下
批注 2020-05-07 103215.jpg

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

新浪微博达人勋

发表于 2020-5-9 17:41:44 | 显示全部楼层
多谢多谢,尝试一下
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-7 10:01:41 | 显示全部楼层
非常感谢,试试看
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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