ECMWF Web服务API的Python客户端。
项目描述
ecmwf-api-client
安装
使用pip通过以下方式安装
$ pip install ecmwf-api-client
配置
匿名访问(默认,不推荐)
匿名访问是默认的访问类型,无需配置。
但是,匿名访问仅适用于有限的几个数据集,并且服务质量较低。若要访问所有数据集并提高服务质量,请使用注册访问(见下文)。
注册访问(推荐)
-
在https://apps.ecmwf.int/registration/注册ECMWF。
-
在https://api.ecmwf.int/v1/key/获取API访问密钥。
请注意,API访问密钥的有效期为1年。在到期前1个月,您将收到一封包含续订说明的电子邮件,发送到注册的电子邮箱。要检查您当前密钥的到期日期,请登录到www.ecmwf.int,然后访问https://api.ecmwf.int/v1/key/。
-
将API访问密钥复制并粘贴到文件$HOME/.ecmwfapirc(Unix/Linux)或%USERPROFILE%\.ecmwfapirc(Windows:通常在C:\Users\
\.ecmwfapirc)中。 您的$HOME/.ecmwfapirc(Unix/Linux)或%USERPROFILE%\.ecmwfapirc(Windows)应如下所示
{ "url" : "https://api.ecmwf.int/v1", "key" : "XXXXXXXXXXXXXXXXXXXXXX", "email" : "john.smith@example.com" }
-
或者,您可以使用自己喜欢的文件,并使用环境变量
ECMWF_API_RC_FILE
指向它。ECMWF_API_RC_FILE
应设置为给定文件的完整路径。此方法优先于使用.ecmwfapirc文件的前一种方法。 -
作为另一种选择,您可以直接使用变量
ECMWF_API_KEY
(密钥)、ECMWF_API_URL
(url)、ECMWF_API_EMAIL
(邮箱)在环境中设置API访问密钥值。此方法优先于使用环境变量ECMWF_API_RC_FILE
的前一种方法。
示例
您可以使用此小型Python脚本测试检索TIGGE(https://apps.ecmwf.int/datasets/data/tigge)数据。请注意,访问TIGGE数据需要注册访问,并且需要接受https://apps.ecmwf.int/datasets/data/tigge/licence/中的许可。
#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer
# To run this example, you need an API key
# available from https://api.ecmwf.int/v1/key/
server = ECMWFDataServer()
server.retrieve({
'origin' : "ecmf",
'levtype' : "sfc",
'number' : "1",
'expver' : "prod",
'dataset' : "tigge",
'step' : "0/6/12/18",
'area' : "70/-130/30/-60",
'grid' : "2/2",
'param' : "167",
'time' : "00/12",
'date' : "2014-11-01",
'type' : "pf",
'class' : "ti",
'target' : "tigge_2014-11-01_0012.grib"
})
日志记录
默认情况下,日志消息通过Python的print
语句输出到stdout
。
要更改此行为,可以定义自己的日志函数并按如下方式使用它
import logging
from ecmwfapi import ECMWFDataServer
logging.basicConfig(level=logging.INFO)
def my_logging_function(msg):
logging.info(msg)
server = ECMWFDataServer(log=my_logging_function)
许可证
版权所有2019年欧洲中期天气预报中心(ECMWF)授权根据Apache许可证版本2.0(“许可证”);除非根据适用法律或书面同意,否则不得使用此文件,除非符合许可证。您可以在以下位置获取许可证副本:
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。请参阅许可证,了解具体语言的权限和限制。在适用此许可证时,ECMWF不放弃其作为政府间组织所享有的特权和豁免权,也不受任何司法管辖权的约束。
项目详情
ecmwf-api-client-1.6.3.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 3a00bda34a72e2d5198c97399a4750b42a6633efdb5e1b3a5fd2b2bbaa5db0d6 |
|
MD5 | 42b7cbe28a334fa243eccc6ad39c8dbe |
|
BLAKE2b-256 | 5b44ddeb18174b1cce4fe2c714c1968cd0e4272c6869c5073a3b270f071e5549 |