用途
本 Skill 用于通过 Tiangong CLI 获取有界的 Open-Meteo 历史天气再分析数据。它只提供意图路由和结果使用边界,数据源发现、输入输出模式、HTTP 行为、限制、校验和回执由 CLI 掌管。
主要能力
- 支持最多十个已知坐标的历史天气数据获取。
- 使用单一受控模型,可选 era5 或 era5_land。
- 支持明确的逐小时变量和逐日变量。
- 坐标为 WGS84 十进制度。
使用方式
运行前,先读取 references/tiangong-data-requirement.json。使用调用方或工作区解析出的稳定 CLI。需求文件声明兼容的能力与操作契约主版本,但不选择包构建。
使用同一 CLI 运行 data describe,仅当能力 ID、所需契约主版本和 open-meteo.series-all-null 操作特性都匹配时才继续,然后把该响应中确切的能力与操作版本复制到运行请求中。
运行默认静态 doctor。除非用户明确要求探测提供方,否则不要添加 --live。
tiangong-ai data describe open-meteo.historical-weather --json
tiangong-ai data doctor open-meteo.historical-weather --json
使用返回的 Discovery Metadata 确认当前模型覆盖、分辨率、更新延迟、变量可用性、公共端点条款、归属、provides 和 doesNotProvide。不要用旧版 Skill 中记住的事实替代。
准备请求
构建 tiangong.data.run-request.v1 信封,并用同一次 data describe 响应中的确切版本替换两个版本占位符。坐标为 WGS84 十进制度。两个变量数组均为必填;不需要的粒度使用空数组。至少一个数组必须非空。CLI 固定时区和单位,保留坐标顺序,并规范化变量顺序:
{
"schemaVersion": "tiangong.data.run-request.v1",
"capabilityId": "open-meteo.historical-weather",
"capabilityVersion": "<describe.manifest.capabilityVersion>",
"operationId": "fetch",
"operationVersion": "<describe.manifest.operations[0].operationVersion>",
"input": {
"locations": [
{ "latitude": 52.52, "longitude": 13.41 },
{ "latitude": 48.85, "longitude": 2.35 }
],
"startDate": "2024-01-01",
"endDate": "2024-01-07",
"hourlyVariables": [
"temperature_2m",
"relative_humidity_2m",
"precipitation",
"soil_moisture_0_to_7cm"
],
"dailyVariables": [
"temperature_2m_max",
"temperature_2m_min",
"precipitation_sum",
"et0_fao_evapotranspiration"
],
"model": "era5",
"cellSelection": "land"
}
}
使用同一次 data describe 响应返回的操作输入模式获取当前变量代码、模型含义和限制。对于需要单一一致模型家族的多十年分析,选择 era5 或 era5_land。默认 best_match 优先可用局部细节,但可能随时间改变模型家族。不要添加 API 密钥:此能力仅使用公共非商业端点。商业客户端点访问需要单独审查的能力。不要静默地对名称进行地理编码、调整坐标、扩大日期范围、切换模型或添加超出用户意图的变量。
运行
tiangong-ai data run open-meteo.historical-weather fetch \
--input /absolute/path/to/request.json --json
该命令输出 tiangong.data.run-result.v1 信封。在将结果交给其他工作流时,保留其契约、警告、错误和回执以及数据。
结果边界
- 将值视为填补后的再分析或模型网格估算,而非来自具名站点的原始观测。保留请求和返回的网格坐标及高程。
- 将 null 保留为不可用的模型值。没有明确的下游方法时,绝不要将其转换为零或插值。
- 区分 series-missing 与 series-all-null:missing 表示提供方未返回所请求的序列;all-null 表示返回了结构有效、对齐的序列但没有可用的数值。保留 all-null 序列并报告机器可读的 issue code。
- 将 partial 视为不完整的坐标、区段、时间戳、变量或单位覆盖,并报告受影响的路径及可用序列。
- 在 GMT 模式下,要求每个包含的请求日期恰好有 24 个严格升序的逐小时时间戳和一个严格升序的逐日日期,且提供方 UTC 偏移为零。保留计数、排序、时区、单位、对齐和非数值问题;短轴不算完整覆盖。
- 将 blocked 视为没有可用业务结果,并呈现结构化错误,而不是绕过限制或切换端点。
- 报告记录限制截断。CLI 保持每个保留变量与其返回的时间轴对齐,但截断结果不是穷尽的。
- 在分析和引用中保留所选模型。不要组合模型,也不要把 Best Match 不连续解释为天气或气候趋势。
- 当需要仪器来源、局部测量质量或监管级观测时,选择站点来源。
适用场景与限制
适用场景:获取有界的历史天气再分析数据,用于非商业分析、建模或研究输入。
限制:不要将此能力用于预报、未来气候情景、因果归因、显著性检验或安全关键天气决策。
固定的公共契约有意省略了源脚本的多模型请求、任意时区和单位、可选 API 密钥/客户访问、端点覆盖以及原始 JSON/日志工件。只能通过单独审查的 CLI 契约扩展这些内容。
归属 Open-Meteo 及底层数据提供方。公共端点是非商业的;不要暗示商业使用许可。
跨源比较、统计推断和研究证据准入属于调用方或 Auto Research,而非此原子 Skill。
参考
references/tiangong-data-requirement.json:稳定的能力需求;它不是包锁定。
暂未提供
关于具体收费、价格、平台支持范围、效果保证的详细信息暂未提供。