Skip to content

Weather API Hook for OpenNomad (ACN Integration) #134

@spydmobile

Description

@spydmobile

Summary

Provide a formal extension point in OpenNomad that allows agencies to wire their own weather services, APIs, or databases into Nomad. Agencies implement a defined interface and register hooks — one for historical observations and one for forecast data — enabling seamless integration with agency-specific weather infrastructure.

Motivation

In ACN (Agency Centric Nomad) deployments, agencies have their own weather data systems — operational databases, forecast APIs, internal observation networks. Rather than forcing all weather data through file import, OpenNomad should expose clean extension points that let agencies connect their systems directly. This follows the 100% API-driven architecture — Nomad's UI stays pure presentation while the adapter layer handles data sourcing.

Design

Interface Contract

OpenNomad should define a WeatherProvider interface (or equivalent) with two hooks:

  1. Historical Observations Hook — For retrieving past weather observation data

    • Input: spatial extent, time range, station filters
    • Output: weather records in Nomad's internal format
  2. Forecast Data Hook — For retrieving weather forecast data

    • Input: spatial extent, forecast period, model preferences
    • Output: forecast records in Nomad's internal format

These are separate hooks because agencies may source historical and forecast data from entirely different systems.

Registration

Agencies implement the interface and register their provider(s) through OpenNomad's configuration. When registered, Nomad's weather data flows route through the agency provider instead of (or in addition to) built-in sources.

Acceptance Criteria

  • WeatherProvider interface defined with historical and forecast hooks
  • Separate hook registration for historical observations and forecast data
  • Default/fallback behavior when no agency provider is registered (existing built-in behavior)
  • Documentation for agency developers on implementing and registering a provider
  • At least one reference implementation or example provider
  • Integration with the weather data flows already in Nomad (model setup wizard, weather import)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions