SuperAPI AI 工具集

open-meteo-flood-fetch

数据与分析

查看项目

更新于 10-16 04:05

技能介绍

用途

Open-Meteo Flood Fetch 的核心目标是为一个或多个坐标获取 Open-Meteo 洪水数据。它支持包含首尾日期的 start_date 与 end_date 时间窗口,返回机器可读的 JSON,其中包含请求元数据、传输信息、校验摘要和规范化记录,并通过结构化日志和可选日志文件输出保持运行时可观测。

主要能力

  • 单次调用支持多个坐标(通过重复 --location 参数)。
  • 支持 inclusive 的 start_date 与 end_date 日期窗口。
  • 返回 JSON,包含请求元数据、传输信息、校验摘要与规范化记录。
  • 结构化日志,支持可选日志文件输出。
  • 内置健壮性:对瞬时 HTTP 与网络失败进行指数退避重试;在存在 Retry-After 时予以遵守,超过配置上限则快速失败;通过最小请求间隔进行限流。
  • 远程调用前执行安全上限检查:最大坐标数、最大日期跨度、最大每日变量数。
  • 传输校验:HTTP 状态处理、JSON content-type、UTF-8 严格解码、JSON 解析。
  • 结构校验:响应对象/列表形状、daily 与 daily_units 是否存在、时间轴可解析性与范围检查、请求变量是否存在且数组长度对齐、启用 --ensemble 时可选集合成员字段对齐。

使用方式

环境配置

通过环境变量配置运行时(参见 references/env.md),从 assets/config.example.env 开始。运行命令前加载环境变量:

set -a
source assets/config.example.env
set +a

工作流

  1. 校验有效配置:
python3 scripts/open_meteo_flood_fetch.py check-config --pretty
  1. 先对请求计划做 dry-run:
python3 scripts/open_meteo_flood_fetch.py fetch \
  --location 52.52,13.41 \
  --start-date 2026-03-01 \
  --end-date 2026-03-05 \
  --daily-var river_discharge \
  --timezone GMT \
  --dry-run \
  --pretty
  1. 带校验与运行日志执行抓取:
python3 scripts/open_meteo_flood_fetch.py fetch \
  --location 52.52,13.41 \
  --location 48.85,2.35 \
  --start-date 2026-03-01 \
  --end-date 2026-03-05 \
  --daily-var river_discharge \
  --daily-var river_discharge_p75 \
  --ensemble \
  --cell-selection nearest \
  --timezone GMT \
  --output ./data/open-meteo/open-meteo-flood-fetch.json \
  --log-level INFO \
  --log-file ./logs/open-meteo-flood-fetch.log \
  --pretty

OpenClaw 调用兼容性

  • 触发元数据保留在 name、description 和 agents/openai.yaml 中。
  • 使用 $open-meteo-flood-fetch 调用。
  • 调用保持原子化,并通过以下参数化:--location、--start-date、--end-date、--daily-var、--ensemble、--cell-selection。
  • 周期性任务应使用 OpenClaw 编排,而非本脚本。

OpenClaw 提示模板

可直接在 OpenClaw 中使用以下模板,仅替换方括号占位符。

侦察(dry-run):

Use $open-meteo-flood-fetch.
Run:
python3 scripts/open_meteo_flood_fetch.py fetch \
  --location [LATITUDE,LONGITUDE] \
  --start-date [YYYY-MM-DD] \
  --end-date [YYYY-MM-DD] \
  --daily-var river_discharge \
  --timezone GMT \
  --dry-run \
  --pretty
Return only the JSON result.

抓取(洪水验证窗口):

Use $open-meteo-flood-fetch.
Run:
python3 scripts/open_meteo_flood_fetch.py fetch \
  --location [LATITUDE,LONGITUDE] \
  --start-date [YYYY-MM-DD] \
  --end-date [YYYY-MM-DD] \
  --daily-var river_discharge \
  --daily-var river_discharge_p75 \
  --ensemble \
  --cell-selection nearest \
  --timezone GMT \
  --pretty
Return only the JSON result.

校验(质量门):

Use $open-meteo-flood-fetch.
Run:
python3 scripts/open_meteo_flood_fetch.py fetch \
  --location [LATITUDE,LONGITUDE] \
  --start-date [YYYY-MM-DD] \
  --end-date [YYYY-MM-DD] \
  --daily-var river_discharge \
  --timezone GMT \
  --pretty
Check validation_summary.total_issue_count and validation_summary.ok.
Return JSON plus one-line pass/fail verdict.

适用场景

  • 需要为指定坐标与日期窗口获取 Open-Meteo 每日河流流量数据的场景。
  • 需要机器可读 JSON 输出并附带校验摘要的自动化流程。
  • 需要重试、限流与详细日志的可观测抓取任务。
  • 作为更大编排流程中的原子抓取步骤,由 OpenClaw 等外部工具负责周期性调用。

限制

  • 仅针对 Open-Meteo 洪水端点,保持单一原子抓取实现。
  • 不包含告警阈值、地理编码、轮询循环或洪水解释逻辑。
  • 如需周期性执行,需由 OpenClaw 等外部编排重复调用。
  • 具体收费、价格、平台支持范围等信息暂未提供。

参考资料

  • references/env.md
  • references/open-meteo-flood-api-notes.md
  • references/open-meteo-flood-limitations.md
  • references/openclaw-chaining-templates.md
  • scripts/open_meteo_flood_fetch.py