2.安装客户端库 该版本的库提供对Python 2.7.x和Python 3的支持。 您可以ecmwfapi 通过在Unix / Linux上运行来安装 python库: sudo pip install https://software.ecmwf.int/wiki/download/attachments/56664858/ecmwf-api-client-python.tgz 或在Windows上: pip install https://software.ecmwf.int/wiki/downlo...
1.安装ECMWF KEY
如果您没有帐户,请通过https //apps.ecmwf.int/registration/ 进行自我注册,然后转到以下步骤。
登录https //apps.ecmwf.int/auth/login/
通过https //api.ecmwf.int/v1/key/ 获取密钥
请注意,该密钥在1年内到期。您将在到期日期前1个月收到注册电子邮件地址的电子邮件,并附上续订说明。要查看当前密钥登录的到期日期,请访问
www.ecmwf.int复制此页面中的信息,并将其粘贴到文件 $ HOME / .ecmwfapirc(Unix / Linux)或%USERPROFILE%\ .ecmwfapirc(Windows;
如何创建前导点文件?
重命名
创建 file.txt
重命名.file.,最后一个点将被删除,你就得到.file
这里我们需要 创建 .ecmwfapirc 文件 ,并将下面内容拷贝进去
上面的文件放在 %USERPROFILE%下,这里这个路径可以在用户变量中找到,本人电脑用户名为Cronous 路径为 C:\Users\Cronous
所以将 .ecmwfapirc 放在上面路径下面
$ HOME / .ecmwfapirc(Unix / Linux)或%USERPROFILE%\。ecmwfapirc(Windows)的内容
{"url" : "
https://api.ecmwf.int/v1","key" : "XXXXXXXXXXXXXXXXXX","email" : "example@123.com"}2.安装客户端库
该版本的库提供对Python 2.7.x和Python 3的支持。
您可以ecmwfapi 通过在Unix / Linux上运行来安装 python库:
sudo pip install
https://software.ecmwf.int/wiki/download/attachments/56664858/ecmwf-api-client-python.tgz 或在Windows上:
pip install
https://software.ecmwf.int/wiki/download/attachments/56664858/ecmwf-api-client-python.tgz 如果您无法运行sudo或pip命令,只需下载 ecmwf-api-client-python.tgz。提取其内容并将模块复制ecmwfapi到环境变量指向的目录中PYTHONPATH。
3.检查数据可用性
要查看ECMWF Public Datasets的可用性,请访问Web界面:
http://apps.ecmwf.int/datasets/使用此界面,您可以 发现我们存档中提供的所有ECMWF公用数据集。我们强烈建议您浏览我们的公共数据集以熟悉其可用性。您可以选择一个公共数据集,并开始浏览其内容。
请考虑有关内容的一些注意事项:
不同的ECMWF公共数据集包括不同的“参数”,“时间”和“步骤”
在每个 ECMWF公共数据集中,并非所有“参数”都可以从所有“步骤”
在每个 ECMWF公共数据集中,并非所有“时间”都提供所有“步骤”
上面的Web界面将帮助您检查和了解可用性。对于任何类型的选择,系统将以动态方式更新属性以反映当前的可用性。(即如果您更改步骤,一些参数将被添加或删除)。
小费
选择完成后,我们鼓励用户使用页面底部的“ 查看MARS请求 ”功能。使用这个MARS请求,你可以建立自己的Python脚本。
这里说一下查看MARS请求可以自动生成python脚本样例文件,我们可以对照着学习一下,如下面的我选择的数据源:
自动生成的python脚本如下:
[python] view plain copy
For more information on how to retrieve data programmatically, in Python, please go to Access ECMWF Public Datasets.
#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer
server = ECMWFDataServer()
server.retrieve({
"class": "ti",
"dataset": "tigge",
"date": "2017-10-01/to/2017-10-20",
"expver": "prod",
"grid": "0.5/0.5",
"levtype": "sfc",
"origin": "ecmf",
"param": "134/167/228228",
"step": "0/6/12/18/24/30/36/42/48/54/60/66/72/78/84/90/96/102/108/114/120/126/132/138/144/150/156/162/168/174/180/186/192/198/204/210/216/222/228/234/240/246/252/258/264/270/276/282/288/294/300/306/312/318/324/330/336/342/348/354/360",
"time": "00:00:00/12:00:00",
"type": "cf",
"target": "output",
})
我们可以对照着学习一下。
这里给出一个TIGGE数据源的示例
转至元数据结尾转至元数据起始
TIGGE压力水平控制预测
TIGGE表面扰动预测
TIGGE压力水平控制预测
10m风组件,10m v风组件,来自NCEP。所有压力水平。
ECMWF公共数据集Web界面
#!/usr/bin/env pythonfrom ecmwfapi import ECMWFDataServer server = ECMWFDataServer() server.retrieve({ 'origin' : "kwbc", 'levelist' : "200/250/300/500/700/850/925/1000", 'levtype' : "pl", 'expver' : "prod", 'dataset' : "tigge", 'step' : "0/6/12/18/24/30", 'grid' : "0.5/0.5", 'param' : "131/132", 'time' : "00/06/12/18", 'date' : "2014-10-01", 'type' : "cf", 'class' : "ti", 'target' : "tigge_2014-10-01_00061218.grib"})
TIGGE表面扰动预测
2m温度。01 NOV 2014,来自ECMWF
ECMWF公共数据集Web界面
#!/usr/bin/env pythonfrom ecmwfapi import ECMWFDataServer server = ECMWFDataServer() server.retrieve({ 'origin' : "ecmf", 'levtype' : "sfc", 'number' : "1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50", 'expver' : "prod", 'dataset' : "tigge", 'step' : "0/6/12/18", 'grid' : "0.5/0.5", 'param' : "167", 'time' : "00/12", 'date' : "2014-11-01", 'type' : "pf", 'class' : "ti", 'target' : "tigge_2014-11-01_0012.grib"})
来自日本东京日本的rjtd
#!/usr/bin/env pythonfrom ecmwfapi import ECMWFDataServer server = ECMWFDataServer() server.retrieve({ 'origin' : "rjtd", 'levtype' : "sfc", 'number' : "1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26", 'expver' : "prod", 'dataset' : "tigge", 'step' : "0/6/12/18", 'grid' : "0.5/0.5", 'param' : "167", 'time' : "00/12", 'date' : "2014-11-01", 'type' : "pf", 'class' : "ti", 'target' : "tigge_2014-11-01_0012.grib"})
来自rksl,韩国:
#!/usr/bin/env pythonfrom ecmwfapi import ECMWFDataServer server = ECMWFDataServer() server.retrieve({ 'origin' : "rksl", 'levtype' : "sfc", 'number' : "1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23", 'expver' : "prod", 'dataset' : "tigge", 'step' : "0/6/12/18", 'grid' : "0.5/0.5", 'param' : "167", 'time' : "00/12", 'date' : "2014-11-01", 'type' : "pf", 'class' : "ti", 'target' : "tigge_2014-11-01_0012.grib"})
转至元数据起始
监控您的请求(python中我如何知道是否成功,如何取消请求)
我的要求完成需要多长时间?
根据一些因素和限制,请求可能需要一些时间(从几分钟到几个小时)才能完成。(例如,您提交的请求数,Nr当前正在运行的总活动请求数量,所涉及资源的可用性,最重要的是您的请求效率)
如何追溯旧请求?
您的工作列表可用于跟踪旅游请求。
您还可以使用Web-API活动和MARS活动页面。请参阅为什么MARS活动很重要
哪个是取消请求的最佳方式?
如果您想取消请求,请访问 您的工作,并单击取消选项。
一旦你已经取消了它,请求的状态将成为中止
取消不是推荐的方法,因为它可能会影响其他提交的请求的性能。
参见下一个常见问题。
我可以在本地环境中杀死我的请求(例如通过CTRL + C)
如果您只是在本地环境中杀死一个Web API请求(例如通过CTRL + C),那么在web-API服务级别上的相应作业不会被取消,但仍在运行。
您的请求将在您的工作列表中继续有效。
http://apps.ecmwf.int/webmars/joblist/ 这个是查看请求的列表的网站,执行完的请求数据以及请求状态都可以看到,请求完成的数据
也可以在这里下载
请参阅以前的常见问题,以查看如何正确取消您的请求。
图为joblist
我的请求已经排队(或活动)了很长时间。我要杀了吗?
根据许多因素和限制,请求可能需要一些时间才能完成。
访问您的工作列表以查看请求的状态
您可能需要访问我们的疑难解答页面了解更多信息。
进一步
我可以要求“netcdf”格式的数据吗?
是的, 你只需要添加你的请求“格式”:“netcdf”
我可以要求有限区域吗?
是
如果您已经在请求中设置了“grid”关键字,可以添加“area”:“coordinates”关键字。您可以设置预定义的区域,例如欧洲,或者使用北/西/南/东的坐标设置区域。
您还可以访问MARS区域关键字以获取更多信息:后处理关键字。
见下面的例子。
"area": "europe",
#area: N/W/S/E #europe"area": "75/-20/10/60", #africa"area": "40/-20/-40/60",
转至元数据结尾
由Cristian Simarro创建,最后修改于五月11,2015
转至元数据起始
TIGGE压力水平控制预测
TIGGE表面扰动预测
请参阅简要请求语法来了解每个关键字。
TIGGE压力水平控制预测
10m风组件,10m v风组件,来自NCEP。所有压力水平。
ECMWF公共数据集Web界面
#!/usr/bin/env pythonfrom ecmwfapi import ECMWFDataServer server = ECMWFDataServer() server.retrieve({ 'origin' : "kwbc", 'levelist' : "200/250/300/500/700/850/925/1000", 'levtype' : "pl", 'expver' : "prod", 'dataset' : "tigge", 'step' : "0/6/12/18/24/30", 'grid' : "0.5/0.5", 'param' : "131/132", 'time' : "00/06/12/18", 'date' : "2014-10-01", 'type' : "cf", 'class' : "ti", 'target' : "tigge_2014-10-01_00061218.grib"})
TIGGE表面扰动预测
2m温度。01 NOV 2014,来自ECMWF
ECMWF公共数据集Web界面
#!/usr/bin/env pythonfrom ecmwfapi import ECMWFDataServer server = ECMWFDataServer() server.retrieve({ 'origin' : "ecmf", 'levtype' : "sfc", 'number' : "1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50", 'expver' : "prod", 'dataset' : "tigge", 'step' : "0/6/12/18", 'grid' : "0.5/0.5", 'param' : "167", 'time' : "00/12", 'date' : "2014-11-01", 'type' : "pf", 'class' : "ti", 'target' : "tigge_2014-11-01_0012.grib"})
来自日本东京日本的rjtd
#!/usr/bin/env pythonfrom ecmwfapi import ECMWFDataServer server = ECMWFDataServer() server.retrieve({ 'origin' : "rjtd", 'levtype' : "sfc", 'number' : "1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26", 'expver' : "prod", 'dataset' : "tigge", 'step' : "0/6/12/18", 'grid' : "0.5/0.5", 'param' : "167", 'time' : "00/12", 'date' : "2014-11-01", 'type' : "pf", 'class' : "ti", 'target' : "tigge_2014-11-01_0012.grib"})
来自rksl,韩国:
#!/usr/bin/env pythonfrom ecmwfapi import ECMWFDataServer server = ECMWFDataServer() server.retrieve({ 'origin' : "rksl", 'levtype' : "sfc", 'number' : "1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23", 'expver' : "prod", 'dataset' : "tigge", 'step' : "0/6/12/18", 'grid' : "0.5/0.5", 'param' : "167", 'time' : "00/12", 'date' : "2014-11-01", 'type' : "pf", 'class' : "ti", 'target' : "tigge_2014-11-01_0012.grib"})
2017-11-15