python批量下载ECMWF欧洲中心数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python批量下载ECMWF欧洲中心数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1967字,纯文字阅读大概需要3分钟。
内容图文
ECMWF欧洲中心提供的api只能根据单时间下载,我稍微改动了一下,可以根据时间进行批量下载。详细步骤如下:
1、注册账户获得key。
网址:
https://cds.climate.copernicus.eu/#!/home
将url和key先存储在txt文件中,格式如下:
之后,重命名txt文件,同时更改缀。命名改为:.cdsapirc
这里要注意,要把.txt的后缀只改为.(命名其实为.cdsapirc.)
文件名最终为:.cdsapirc
将文件放入路径C:\Users***(根据自己的用户名)
2、安装cdsapi
直接 pip install cdsapi
3、下载数据
官方提供的方法:
#!/usr/bin/env python
import cdsapi
c = cdsapi.Client()
c.retrieve(
'reanalysis-era5-single-levels',
{
'product_type':'reanalysis',
'variable':[
'total_column_ozone','total_column_water_vapour'
],
'year':'2019',
'month':'01',
'day':'23',
'time':[
'00:00','01:00','02:00',
'03:00','04:00','05:00',
'06:00','07:00','08:00',
'09:00','10:00','11:00',
'12:00','13:00','14:00',
'15:00','16:00','17:00',
'18:00','19:00','20:00',
'21:00','22:00','23:00'
],
'format':'netcdf'
},
'download.nc')
这里只能下载单一时间,而且数据名为 ‘download.nc’。
我希望将我想下载的时间存入txt(时间文件inputpar.txt),直接批量下载,数据存储形式改为CDS+时间,代码如下:
# author = yc
import cdsapi
def download_cds():
c = cdsapi.Client()
lines = open("inputpar.txt", 'r').readlines()
for i in range(len(lines)):
if i%2==0:
fields = lines[i].split(' ') #split data
year = fields[0]
month = fields[1]
day = fields[2]
print('Download %s-%s-%s data'% (year,month,day))
c.retrieve(
'reanalysis-era5-single-levels',
{
'product_type': 'reanalysis',
'variable': [
'total_column_ozone', 'total_column_water_vapour'
],
'year': year,
'month': month,
'day': day,
'time': [
'00:00', '01:00', '02:00',
'03:00', '04:00', '05:00',
'06:00', '07:00', '08:00',
'09:00', '10:00', '11:00',
'12:00', '13:00', '14:00',
'15:00', '16:00', '17:00',
'18:00', '19:00', '20:00',
'21:00', '22:00', '23:00'
],
'format': 'netcdf'
},
'CDS%s%s%s'% (year,month,day)+'.nc')
print('Datafile CDS%s%s%s'% (year,month,day)+'.nc download successful')
else:
pass
if __name__ == '__main__':
download_cds()
结果如下:
欢迎交流,祝好!
2019.07.27
内容总结
以上是互联网集市为您收集整理的python批量下载ECMWF欧洲中心数据全部内容,希望文章能够帮你解决python批量下载ECMWF欧洲中心数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。