下载网站:
ECMWF | S2S, ECMWF, Realtime, Daily averagedhttps://apps.ecmwf.int/datasets/data/s2s
关于这个网站的介绍
由于我随便选了一天的数据之后,出现了python代码。从头开始操作
(二)获取自己的API Key
ECMWF | Your API keyhttps://api.ecmwf.int/v1/key/记录一下,我在工位本地也保存了这个文件,但是我还是选择用服务器哈哈
ok,在服务器也创建一个
①打开Xshell 7,
连上服务器。路径:(base)wn@amax:~$
②输入
:vim $HOME/.ecmwfapirc 注意home后面没有空格,直接接/. 把自己的apikey复制进去,Esc,:wq!保存退出,ls -a,可以看见有没有这个文件
③安装ecmwfapi
根据这篇文章的指令分别在windows和linux下,均报错
批量下载ECMWF数据的正确姿势-优快云博客https://blog.youkuaiyun.com/junlong750/article/details/113605759
在Windows系统中,cmd执行
- pip install https://software.ecmwf.int/wiki/download/attachments/56664858/ecmwf-api-client-python.tgz
在macOS/Linux系统中,如果有root权限,则执行
- sudo pip install https://software.ecmwf.int/wiki/download/attachments/56664858/ecmwf-api-client-python.tgz
若无root权限,则执行
- pip install --user https://software.ecmwf.int/wiki/download/attachments/56664858/ecmwf-api-client-python.tgz
最后解决办法:
寻求老师的帮助
conda install conda-forge::ecmwf-api-client
可惜我安装到服务器的base环境了,不知道以后会不会有影响(因为我在xshell命令的,我现在在vscode命令
(Windows同理,安装成功!在vscode里,先激活自己的虚拟环境,然后再复制这条命令)
ECMWF公司 |公共数据集https://apps.ecmwf.int/datasets/这里可以找到其他产品,不赘述了。开头的链接是我要下载的S2S的
④脚本
我随便选了一下,ECWMF生成了一个脚本
ok我先在本地上试试,这是官网给的代码,我参照网上加了一些注释
#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer
server = ECMWFDataServer()
server.retrieve({
"class": "s2",
"dataset": "s2s",
"date": "2024-04-22",
#比如你想要下载2000年1月1日至2017年12月31日
# 你只需要把日期那一行改成这样:
#"date": "2000-01-01/to/2017-12-31"
"expver": "prod",
"hdate": "2023-04-22",
"levelist": "850",
"levtype": "pl",
"model": "glob",
"origin": "ecmf",
"param": "131",
"step": "0/24/48/72/96/120/144/168/192/216/240/264/288/312/336/360/384/408/432/456/480/504/528/552/576/600/624/648/672/696/720/744/768/792/816/840/864/888/912/936/960/984/1008/1032/1056/1080/1104",
"stream": "enfh",
"time": "00:00:00",
"type": "cf",
#target是用来修改保存文件的目标路径
"target": "C:\\Users\\Dell\\Desktop\\python\\ecwmf\\output.nc",
#可以增加format,netcdf,如果不加的话默认是grib
"format":"netcdf"
})
读出来:成功了,很开心
下一篇更新批量下载
一些参考网站: 批量下载气象数据(EC;NCEP;CMIP) | ZSYXY Meteorological workshop (yxy-biubiubiu.github.io)