水文风险计算引擎

NWA Hydro-Compute是一款专为尼加拉瓜设计的水文风险计算引擎,结合气象数据和农艺建议,提供精确的水资源压力风险评估。

  • by datanicaragua
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 datanicaragua/nwa-hydro-mcp

使用说明


标题:NWA水力计算 表情符号💧 颜色来源:蓝色 颜色To:绿色 sdk:毕业 sdk版本:“6.0.1” app_file:app.py 固定:false 许可证:apache-2.0 标签:

  • mcp-track-01
  • mcp-in-action-track-01 short_description:尼加拉瓜精准水风险引擎

NWA水力计算:精密水风险引擎

图1:Live Dashboard v1.0(点击图片观看2分钟导览)

用于 尼加拉瓜天气档案.

为 拥抱面孔MCP 1岁生日黑客马拉松 (2025年冬季)


🚀 愿景

NWA水力计算 这不仅仅是另一个天气包装。这是一个特定领域 智能层 旨在弥合原始气候数据和可操作的农艺建议之间的差距。

当通用机器人应答时 “下雨了吗?”,NWA水力计算答案 “我的作物面临的水分胁迫风险是什么?” 通过将确定性科学与语义推理相结合。

🏆 黑客马拉松赛道和资格

我们将此项目提交到以下轨道:

跟踪 整合/论证
轨道1:构建MCP 一个健壮的 FastMCP服务器 (src/nwa_hydro)为数据融合和科学提供原子工具。兼容 克劳德桌面版.
轨道2:MCP在行动 A. Gradio 6 Web用户界面 (app.py)它使用这些工具来可视化干旱风险图。
谷歌双子座奖 核心集成。 我们使用 Gemini 2.5 Flash精简版 作为一名专家农学家,将数字ETo数据解释为文本建议。

🌟 关键差异

1.“智能集成器”堆栈

我们不会重新发明轮子。我们精心策划最好的工具:

  • 数据: 开放天气ERA5 API 本地CSV回退 (韧性)。
  • 科学: 哈格里夫斯·萨马尼ETo模型 (FAO-56数学)用于确定性需水量计算。
  • 情报: 谷歌双子座2.5 Flash精简版 用于JSON模式强制的语义推理。
  • 可视化: Plotly Express+Gradio 6 双轴图(降水供应与ETo需求),具有暗模式UI可读性和地理空间可视化功能,通过 马普利伯 根据现场情况。

2.数据融合架构

如果API崩溃,大多数黑客马拉松项目都会崩溃。我们的特色a 故障安全融合引擎:

  • 主要的,重要的 实时API获取。
  • 退路: 自动切换到NWA本地存档(data/local_station.csv)如果无法访问API或请求进行地面-地面校准。

🏗️ 系统架构

v1.0管道接收Open Meteo ERA5数据,通过融合引擎对其进行归一化,计算Hargreaves Samani ETo,并为Maplibre前端和Gemini见解提供服务,同时在需要时返回本地存档。

图2:端到端数据管道:从Open Meteo摄取到Gemini 2.0 Flash洞察。

📂 存储库结构

我们跟随 整洁架构 将传输(MCP)与逻辑(域)分离的原则。

nwa-hydro-mcp/
├── app.py                  # Gradio Frontend (The Web Demo)
├── src/nwa_hydro/          # The MCP Server Package
│   ├── server.py           # FastMCP Entrypoint
│   └── tools/              # Atomic Logic
│       ├── fusion.py       # Data Fetching (API + CSV)
│       ├── science.py      # Hargreaves ETo Logic
│       └── intelligence.py # Gemini 2.5 Lite Integration
├── docs/                   # Strategy & Architecture Documentation
└── pyproject.toml          # PEP 621 Configuration

🛠️ 快速开始

先决条件

  • Python 3.10+
  • uv 或 pip
  • Google AI Studio API密钥(用于智能层)

安装

  1. 克隆存储库:

    git clone https://github.com/datanicaragua/nwa-hydro-mcp.git
    cd nwa-hydro-mcp
    
  2. 设置环境:

    # Create virtual env
    python -m venv .venv
    # Activate (Windows PowerShell)
    .\.venv\Scripts\Activate.ps1
    # Install dependencies
    pip install -e .
    
  3. 运行服务器(MCP模式):

    # Starts the MCP server on stdio (for Claude Desktop)
    python src/nwa_hydro/server.py
    
  4. 运行演示(Web模式):

    # Starts the Gradio UI
    python app.py
    

🛡 V5.1“指挥中心”发布功能

  • 交互式地图上下文: 位置输入与Maplibre地理空间可视化、场地预设(Matagalpa/Dry Corridor)和赞助商的视觉背景相结合。
  • 双轴智能: 图表明确显示了两者之间的差距 供应 (降水柱)和 需求 (ETo线)在专门的暗模式UI中。
  • 渐进式加载: UI永远不会冻结;当Gemini 2.5 Flash Lite异步处理农艺推理时,KPI会立即加载。
  • 科学透明度: 直接在UI“About”手风琴中全面披露Hargreaves Samani方法和ERA5数据源。

Built with ❤️ by Data Nicaragua

👥 作者

古斯塔沃·埃内斯托·马丁内斯·卡德纳斯 NWA首席数据科学家兼架构师

🎥 故事:从Machete到AI

从咖啡田到云端:穿越生态系统、经济和社会的旅程。

“在算法之前,泥里有橡胶靴和电缆,测量水的脉搏。知识在上升到云端之前很久就在阳光下培养起来了。这个项目整合了该领域的每一张绘制的地图和每一次经验,因为技术只是在自然挑战我们时做出反应的工具。从根源上讲……到代码。”

开发设置

看 CONTRIBUTING.md 用于设置、测试和运行命令。