BaroclineBarocline
Tool ReferenceStation Observations

station_historical_data

Station Historical Data

Historical weather station data. Returns METAR/SYNOP-derived weather observations for a single station.

Use station_search first for station IDs, or geolocator for coordinates.
Call station_available_variables to discover available fields and packages before use.

Interval guidance: HOURLY for <1 month, DAILY for 1mo-2yr, MONTHLY for >2yr.
GMT time zone available for HOURLY and DAILY intervals only.

DATA TYPES:
- GAPFILLED (default): Continuous hourly series with ERA5/GFS gap-filling. Use for time
  series, aggregations, and computed fields (apparent temp, wet bulb, solar, 80m wind). 40+ variables.
- FORMATTED: Raw METAR observations as issued. Use for present weather codes,
  ceiling/visibility, flight category analysis, and thunderstorm climatology.
  Combine with fields="rawMetar,presentWeather" to activate the full METAR parsing engine.

DATA SOURCE NOTE:
Data is METAR/SYNOP-derived, not GHCN-Daily or NWS COOP records. Temperatures are at
tenths-of-degree precision. For climate queries, prefer
maxInstantaneousSurfaceTemperature / minInstantaneousSurfaceTemperature over the envelope
max/min fields — these are closer to official NWS daily values (DAILY/MONTHLY only).

SNOWFALL NOTE:
Recent snowfall (<~45 days) uses hourly estimates that may significantly underestimate
accumulation. GHCN-corrected totals finalize ~30-45 days after the event. Always check
the finalizedData flag for snowfall queries.

INTERANNUAL MODE:
Set interannual=True to pull the same calendar window across multiple years for
climatological analysis (e.g., "Is this unusual?", "30-year trend").

For full field guidance, snowfall caveats, METAR parsing details, and aviation analysis
reference, call with info=True.
https://mcp.barocline.com/mcp
https://mcpkey.barocline.com/weather-risk/mcp
https://mcpoauth.barocline.com/mcp
Read-onlyIdempotent

Parameters

NameTypeRequiredDefault
stationstring | nullNonull
latitudenumber | nullNonull
longitudenumber | nullNonull
startDatestringNonull
endDatestringNonull
intervalstringNo"DAILY"
fieldsstringNo"standard"
unitsstringNo"IMPERIAL"
data_typestringNo"GAPFILLED"
filtersstring | object | nullNonull
analysis_levelstringNo"auto"
timestringNo"LWT"
content_modestringNo"text"
interannualbooleanNofalse
interannual_outputstringNo"stats"
infobooleanNofalse

Sample input

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "station_historical_data",
    "arguments": {
      "interval": "DAILY",
      "fields": "standard",
      "units": "IMPERIAL",
      "data_type": "GAPFILLED",
      "analysis_level": "auto",
      "time": "LWT",
      "content_mode": "text",
      "interannual": false,
      "interannual_output": "stats",
      "info": false
    }
  }
}
{
  "name": "station_historical_data",
  "arguments": {
    "interval": "DAILY",
    "fields": "standard",
    "units": "IMPERIAL",
    "data_type": "GAPFILLED",
    "analysis_level": "auto",
    "time": "LWT",
    "content_mode": "text",
    "interannual": false,
    "interannual_output": "stats",
    "info": false
  }
}