---
type: "firecrawl-provider"
description: "Western Regional Climate Center RAWS USA Climate Archive (raws.dri.edu): any state's RAWS station catalog from the static regional list pages, station metadata (DMS coordinates, elevation, NESS and NWS ids, agency), daily rows from the monthly summary CGI (solar, wind, gusts, air and fuel temperature, humidity, dew point, wet bulb, pressure, precipitation; one station x month per call) and wind frequency (wind rose) tables with hourly wind statistics. Public Perl CGI pages, no key, no cookies; hourly listings and the Data Lister are gated by WRCC and not collected."
use_when: "Western Regional Climate Center RAWS USA Climate Archive (raws.dri.edu): any state's RAWS station catalog from the static regional list pages, station metadata (DMS coordinates, elevation, NESS and NWS ids, agency), daily rows from the monthly summary CGI (solar, wind, gusts, air and fuel temperature, humidity, dew point, wet bulb, pressure, precipitation; one station x month per call) and wind frequency (wind rose) tables with hourly wind statistics. Public Perl CGI pages, no key, no cookies; hourly listings and the Data Lister are gated by WRCC and not collected."
categories: "Public records"
capabilities: 6
credits_per_call: 5
---
# WRCC RAWS USA Climate Archive on Firecrawl Alexandria

Western Regional Climate Center RAWS USA Climate Archive (raws.dri.edu): any state's RAWS station catalog from the static regional list pages, station metadata (DMS coordinates, elevation, NESS and NWS ids, agency), daily rows from the monthly summary CGI (solar, wind, gusts, air and fuel temperature, humidity, dew point, wet bulb, pressure, precipitation; one station x month per call) and wind frequency (wind rose) tables with hourly wind statistics. Public Perl CGI pages, no key, no cookies; hourly listings and the Data Lister are gated by WRCC and not collected.

- Categories: Public records
- Category index: [Public records category](https://firecrawl.dev/alexandria/agents/categories/public-records)
- Provider key: `raws-dri-edu`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/raws-dri-edu)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/openapi.json)

## Capabilities

- [Catalog audit](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/catalog_audit): Coverage check of the whole archive: read the archive map (wraws/usaarch.map) and every regional list page it links (43 pages, six at a time) and report whether the per-state page sets `source_status` and `stations` read still reach every station. `drift` names the stations a state's set misses (they sit only on other pages), stations that resolve to no state, and table pages gone from the map, with recomputed page sets to use instead.
- [Daily](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/daily): records/list of daily summary rows, one station x month per call (the segment key): GET wea_monsum2.pl and parse its three header lines (the column set varies with the station's sensors: solar, wind average / vector direction / max gust, air and fuel temperature mean/max/min, humidity mean/max/min, dew point, wet bulb, barometric pressure, total precipitation) and one row per day; the Total/Ave./Max./Min. footer is dropped. Blank cells and -9999 sentinels are null. `source_record_id` is `<stn>:<yyyy-mm-dd>`; `publication_id` is the SHA-256 of the parsed rows. A month the archive has no data for returns zero records with the station's inventory of years; an unknown station is not_found. Metric (`M`) by default, English (`E`) on request; months from 2000-01 to the current month.
- [Source status](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/source_status): Cheap version check of one state's station catalog: GET the regional list pages that carry its stations (Montana: nidwmtlst.html, emtlst.html; at most three pages for any state) and report their Last-Modified, ETag, size, SHA-256 and the unique station count for the state. The CGI data pages carry no validators; their records are hashed per call instead.
- [Station](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/station): records/get for one station by its four-character RAWS code: the wea_info.pl page with name, DMS latitude/longitude (also as decimal degrees, west negative), elevation in feet, NESS id, NWS id, agency and the dates of the station photo sets. An unknown code renders an empty record and is reported as not_found.
- [Stations](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/stations): records/list of one state's RAWS station catalog: parse the regional list pages that carry it, keep the stations whose label names the state (or, for labels with no state, a key prefix only that state uses; Montana: 171 unique stations as of 2026-01-24, including portables and retired stations), sort by code and page through them. The cursor pins the list pages' Last-Modified publication id; if either page changed between pages the call fails with invalid_input/publication_changed and the listing must restart.
- [Wind rose](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/wind_rose): Wind frequency table for a station over a date window of at most 10 years (POST wea_windrose2.pl, the public form): 16 compass points x Beaufort speed bins as percent (`P`) or counts (`C`), the Total, Calm and Ave Speed rows, the day and observation counts, and (default on) the 24-hour statistics table (scalar/vector speed, resultant direction, directional constancy, observation counts). Element MWS (mean wind speed, default) or MXW (maximum gust); units M (m/s), E (mph) or K (knots); an optional seasonal sub-window (`window_start`/`window_end` as MM-DD) and hour window. One upstream request per call; multi-year windows take 10-25 s server side.

## 1. Choose this provider when

Western Regional Climate Center RAWS USA Climate Archive (raws.dri.edu): any state's RAWS station catalog from the static regional list pages, station metadata (DMS coordinates, elevation, NESS and NWS ids, agency), daily rows from the monthly summary CGI (solar, wind, gusts, air and fuel temperature, humidity, dew point, wet bulb, pressure, precipitation; one station x month per call) and wind frequency (wind rose) tables with hourly wind statistics. Public Perl CGI pages, no key, no cookies; hourly listings and the Data Lister are gated by WRCC and not collected.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "raws-dri-edu",
  "capability": "weather-history/catalog_audit",
  "options": {}
}
```

## 3. Add provider options

Use only the options needed for the task:


## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "raws-dri-edu",
    capability: "weather-history/catalog_audit",
    options: {},
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "raws-dri-edu",
  "capability": "weather-history/catalog_audit",
  "options": {}
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "raws-dri-edu",
    "capability": "weather-history/catalog_audit",
    "options": {}
  }
}'
```

### CLI

```sh
firecrawl scrape 'raws-dri-edu/weather-history/catalog_audit' \
  --options '{}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "raws-dri-edu",
  "capability": "weather-history/catalog_audit",
  "options": {}
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "raws-dri-edu",
  "capability": "weather-history/catalog_audit",
  "options": {}
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "map_last_modified": "Mon, 19 May 2025 20:20:46 GMT",
  "map_url": "https://raws.dri.edu/wraws/usaarch.map",
  "observed_at_ms": 1792349118120,
  "pages_read": 43,
  "publication_id": "archive@sha256:3a9dec20ad57d109e2d1a61d161c7f0da9d7ed640bd0465a864fd069ecdabf10",
  "retrieved_at": "2026-10-18T18:45:18Z",
  "source_url": "https://raws.dri.edu/wraws/usaarch.map",
  "states": [
    {
      "pages": [
        "aklst.html"
      ],
      "state": "AK",
      "stations": 197
    },
    {
      "pages": [
        "al_mslst.html"
      ],
      "state": "AL",
      "stations": 21
    },
    {
      "pages": [
        "arlst.html"
      ],
      "state": "AR",
      "stations": 21
    },
    {
      "pages": [
        "azlst.html"
      ],
      "state": "AZ",
      "stations": 137
    },
    {
      "pages": [
        "scalst.html",
        "ncalst.html",
        "ccalst.html"
      ],
      "state": "CA",
      "stations": 592
    },
    {
      "pages": [
        "colst.html"
      ],
      "state": "CO",
      "stations": 131
    },
    {
      "pages": [
        "de_mdlst.html"
      ],
      "state": "DE",
      "stations": 3
    },
    {
      "pages": [
        "fllst.html"
      ],
      "state": "FL",
      "stations": 39
    },
    {
      "pages": [
        "ga_sclst.html",
        "fllst.html"
      ],
      "state": "GA",
      "stations": 47
    },
    {
      "pages": [
        "hilst.html"
      ],
      "state": "HI",
      "stations": 89
    },
    {
      "pages": [
        "ialst.html"
      ],
      "state": "IA",
      "stations": 9
    },
    {
      "pages": [
        "sidlst.html",
        "nidwmtlst.html"
      ],
      "state": "ID",
      "stations": 144
    },
    {
      "pages": [
        "illst.html"
      ],
      "state": "IL",
      "stations": 4
    },
    {
      "pages": [
        "illst.html"
      ],
      "state": "IN",
      "stations": 6
    },
    {
      "pages": [
        "kslst.html"
      ],
      "state": "KS",
      "stations": 6
    },
    {
      "pages": [
        "ky_tnlst.html"
      ],
      "state": "KY",
      "stations": 17
    },
    {
      "pages": [
        "lalst.html"
      ],
      "state": "LA",
      "stations": 19
    },
    {
      "pages": [
        "ct_ma_rilst.html"
      ],
      "state": "MA",
      "stations": 4
    },
    {
      "pages": [
        "de_mdlst.html"
      ],
      "state": "MD",
      "stations": 10
    },
    {
      "pages": [
        "me_nh_vtlst.html"
      ],
      "state": "ME",
      "stations": 6
    },
    {
      "pages": [
        "mi_wilst.html",
        "mnlst.html"
      ],
      "state": "MI",
      "stations": 45
    },
    {
      "pages": [
        "mnlst.html"
      ],
      "state": "MN",
      "stations": 41
    },
    {
      "pages": [
        "molst.html"
      ],
      "state": "MO",
      "stations": 28
    },
    {
      "pages": [
        "al_mslst.html"
      ],
      "state": "MS",
      "stations": 32
    },
    {
      "pages": [
        "nidwmtlst.html",
        "emtlst.html"
      ],
      "state": "MT",
      "stations": 171
    },
    {
      "pages": [
        "nclst.html"
      ],
      "state": "NC",
      "stations": 57
    },
    {
      "pages": [
        "ndlst.html"
      ],
      "state": "ND",
      "stations": 21
    },
    {
      "pages": [
        "nelst.html"
      ],
      "state": "NE",
      "stations": 13
    },
    {
      "pages": [
        "me_nh_vtlst.html"
      ],
      "state": "NH",
      "stations": 6
    },
    {
      "pages": [
        "nj_palst.html"
      ],
      "state": "NJ",
      "stations": 10
    },
    {
      "pages": [
        "nmlst.html",
        "orlst.html"
      ],
      "state": "NM",
      "stations": 88
    },
    {
      "pages": [
        "nvutlst.html"
      ],
      "state": "NV",
      "stations": 103
    },
    {
      "pages": [
        "nylst.html"
      ],
      "state": "NY",
      "stations": 28
    },
    {
      "pages": [
        "ohlst.html"
      ],
      "state": "OH",
      "stations": 11
    },
    {
      "pages": [
        "oklst.html"
      ],
      "state": "OK",
      "stations": 8
    },
    {
      "pages": [
        "orlst.html",
        "walst.html"
      ],
      "state": "OR",
      "stations": 217
    },
    {
      "pages": [
        "nj_palst.html"
      ],
      "state": "PA",
      "stations": 30
    },
    {
      "pages": [
        "prlst.html"
      ],
      "state": "PR",
      "stations": 9
    },
    {
      "pages": [
        "ct_ma_rilst.html"
      ],
      "state": "RI",
      "stations": 2
    },
    {
      "pages": [
        "ga_sclst.html"
      ],
      "state": "SC",
      "stations": 24
    },
    {
      "pages": [
        "sdlst.html"
      ],
      "state": "SD",
      "stations": 26
    },
    {
      "pages": [
        "ky_tnlst.html"
      ],
      "state": "TN",
      "stations": 34
    },
    {
      "pages": [
        "txlst.html"
      ],
      "state": "TX",
      "stations": 110
    },
    {
      "pages": [
        "nvutlst.html"
      ],
      "state": "UT",
      "stations": 111
    },
    {
      "pages": [
        "va_wvlst.html"
      ],
      "state": "VA",
      "stations": 21
    },
    {
      "pages": [
        "prlst.html"
      ],
      "state": "VI",
      "stations": 2
    },
    {
      "pages": [
        "me_nh_vtlst.html"
      ],
      "state": "VT",
      "stations": 7
    },
    {
      "pages": [
        "walst.html"
      ],
      "state": "WA",
      "stations": 124
    },
    {
      "pages": [
        "mi_wilst.html"
      ],
      "state": "WI",
      "stations": 40
    },
    {
      "pages": [
        "va_wvlst.html",
        "ga_sclst.html"
      ],
      "state": "WV",
      "stations": 22
    },
    {
      "pages": [
        "wylst.html",
        "orlst.html"
      ],
      "state": "WY",
      "stations": 68
    }
  ],
  "stations": 3011,
  "status": "current",
  "suggested_pages": [],
  "table_pages_missing": [],
  "unassigned": [],
  "unassigned_count": 0,
  "uncovered": [],
  "uncovered_count": 0
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Catalog audit

- Capability: `weather-history/catalog_audit`
- Description: Coverage check of the whole archive: read the archive map (wraws/usaarch.map) and every regional list page it links (43 pages, six at a time) and report whether the per-state page sets `source_status` and `stations` read still reach every station. `drift` names the stations a state's set misses (they sit only on other pages), stations that resolve to no state, and table pages gone from the map, with recomputed page sets to use instead.
- Instructions: On a schedule, to learn that the archive moved stations before a state listing silently misses them; when it reports drift, list affected states with `stations` and `pages: all` until the table is updated.
- Cost: 5 credits per call
- Capability file: [Catalog audit](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/catalog_audit)

Accepted options:

Response schema example:
```json
{
  "map_last_modified": "Mon, 19 May 2025 20:20:46 GMT",
  "map_url": "https://raws.dri.edu/wraws/usaarch.map",
  "observed_at_ms": 1792349118120,
  "pages_read": 43,
  "publication_id": "archive@sha256:3a9dec20ad57d109e2d1a61d161c7f0da9d7ed640bd0465a864fd069ecdabf10",
  "retrieved_at": "2026-10-18T18:45:18Z",
  "source_url": "https://raws.dri.edu/wraws/usaarch.map",
  "states": [
    {
      "pages": [
        "aklst.html"
      ],
      "state": "AK",
      "stations": 197
    },
    {
      "pages": [
        "al_mslst.html"
      ],
      "state": "AL",
      "stations": 21
    },
    {
      "pages": [
        "arlst.html"
      ],
      "state": "AR",
      "stations": 21
    },
    {
      "pages": [
        "azlst.html"
      ],
      "state": "AZ",
      "stations": 137
    },
    {
      "pages": [
        "scalst.html",
        "ncalst.html",
        "ccalst.html"
      ],
      "state": "CA",
      "stations": 592
    },
    {
      "pages": [
        "colst.html"
      ],
      "state": "CO",
      "stations": 131
    },
    {
      "pages": [
        "de_mdlst.html"
      ],
      "state": "DE",
      "stations": 3
    },
    {
      "pages": [
        "fllst.html"
      ],
      "state": "FL",
      "stations": 39
    },
    {
      "pages": [
        "ga_sclst.html",
        "fllst.html"
      ],
      "state": "GA",
      "stations": 47
    },
    {
      "pages": [
        "hilst.html"
      ],
      "state": "HI",
      "stations": 89
    },
    {
      "pages": [
        "ialst.html"
      ],
      "state": "IA",
      "stations": 9
    },
    {
      "pages": [
        "sidlst.html",
        "nidwmtlst.html"
      ],
      "state": "ID",
      "stations": 144
    },
    {
      "pages": [
        "illst.html"
      ],
      "state": "IL",
      "stations": 4
    },
    {
      "pages": [
        "illst.html"
      ],
      "state": "IN",
      "stations": 6
    },
    {
      "pages": [
        "kslst.html"
      ],
      "state": "KS",
      "stations": 6
    },
    {
      "pages": [
        "ky_tnlst.html"
      ],
      "state": "KY",
      "stations": 17
    },
    {
      "pages": [
        "lalst.html"
      ],
      "state": "LA",
      "stations": 19
    },
    {
      "pages": [
        "ct_ma_rilst.html"
      ],
      "state": "MA",
      "stations": 4
    },
    {
      "pages": [
        "de_mdlst.html"
      ],
      "state": "MD",
      "stations": 10
    },
    {
      "pages": [
        "me_nh_vtlst.html"
      ],
      "state": "ME",
      "stations": 6
    },
    {
      "pages": [
        "mi_wilst.html",
        "mnlst.html"
      ],
      "state": "MI",
      "stations": 45
    },
    {
      "pages": [
        "mnlst.html"
      ],
      "state": "MN",
      "stations": 41
    },
    {
      "pages": [
        "molst.html"
      ],
      "state": "MO",
      "stations": 28
    },
    {
      "pages": [
        "al_mslst.html"
      ],
      "state": "MS",
      "stations": 32
    },
    {
      "pages": [
        "nidwmtlst.html",
        "emtlst.html"
      ],
      "state": "MT",
      "stations": 171
    },
    {
      "pages": [
        "nclst.html"
      ],
      "state": "NC",
      "stations": 57
    },
    {
      "pages": [
        "ndlst.html"
      ],
      "state": "ND",
      "stations": 21
    },
    {
      "pages": [
        "nelst.html"
      ],
      "state": "NE",
      "stations": 13
    },
    {
      "pages": [
        "me_nh_vtlst.html"
      ],
      "state": "NH",
      "stations": 6
    },
    {
      "pages": [
        "nj_palst.html"
      ],
      "state": "NJ",
      "stations": 10
    },
    {
      "pages": [
        "nmlst.html",
        "orlst.html"
      ],
      "state": "NM",
      "stations": 88
    },
    {
      "pages": [
        "nvutlst.html"
      ],
      "state": "NV",
      "stations": 103
    },
    {
      "pages": [
        "nylst.html"
      ],
      "state": "NY",
      "stations": 28
    },
    {
      "pages": [
        "ohlst.html"
      ],
      "state": "OH",
      "stations": 11
    },
    {
      "pages": [
        "oklst.html"
      ],
      "state": "OK",
      "stations": 8
    },
    {
      "pages": [
        "orlst.html",
        "walst.html"
      ],
      "state": "OR",
      "stations": 217
    },
    {
      "pages": [
        "nj_palst.html"
      ],
      "state": "PA",
      "stations": 30
    },
    {
      "pages": [
        "prlst.html"
      ],
      "state": "PR",
      "stations": 9
    },
    {
      "pages": [
        "ct_ma_rilst.html"
      ],
      "state": "RI",
      "stations": 2
    },
    {
      "pages": [
        "ga_sclst.html"
      ],
      "state": "SC",
      "stations": 24
    },
    {
      "pages": [
        "sdlst.html"
      ],
      "state": "SD",
      "stations": 26
    },
    {
      "pages": [
        "ky_tnlst.html"
      ],
      "state": "TN",
      "stations": 34
    },
    {
      "pages": [
        "txlst.html"
      ],
      "state": "TX",
      "stations": 110
    },
    {
      "pages": [
        "nvutlst.html"
      ],
      "state": "UT",
      "stations": 111
    },
    {
      "pages": [
        "va_wvlst.html"
      ],
      "state": "VA",
      "stations": 21
    },
    {
      "pages": [
        "prlst.html"
      ],
      "state": "VI",
      "stations": 2
    },
    {
      "pages": [
        "me_nh_vtlst.html"
      ],
      "state": "VT",
      "stations": 7
    },
    {
      "pages": [
        "walst.html"
      ],
      "state": "WA",
      "stations": 124
    },
    {
      "pages": [
        "mi_wilst.html"
      ],
      "state": "WI",
      "stations": 40
    },
    {
      "pages": [
        "va_wvlst.html",
        "ga_sclst.html"
      ],
      "state": "WV",
      "stations": 22
    },
    {
      "pages": [
        "wylst.html",
        "orlst.html"
      ],
      "state": "WY",
      "stations": 68
    }
  ],
  "stations": 3011,
  "status": "current",
  "suggested_pages": [],
  "table_pages_missing": [],
  "unassigned": [],
  "unassigned_count": 0,
  "uncovered": [],
  "uncovered_count": 0
}
```

### Daily

- Capability: `weather-history/daily`
- Description: records/list of daily summary rows, one station x month per call (the segment key): GET wea_monsum2.pl and parse its three header lines (the column set varies with the station's sensors: solar, wind average / vector direction / max gust, air and fuel temperature mean/max/min, humidity mean/max/min, dew point, wet bulb, barometric pressure, total precipitation) and one row per day; the Total/Ave./Max./Min. footer is dropped. Blank cells and -9999 sentinels are null. `source_record_id` is `<stn>:<yyyy-mm-dd>`; `publication_id` is the SHA-256 of the parsed rows. A month the archive has no data for returns zero records with the station's inventory of years; an unknown station is not_found. Metric (`M`) by default, English (`E`) on request; months from 2000-01 to the current month.
- Instructions: Daily humidity, wind, gusts, solar, fuel temperature and RAWS precipitation for a station and month (daily temperature alone is also in rcc-acis-org as GHCN `USR0000<STN>`).
- Cost: 5 credits per call
- Capability file: [Daily](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/daily)

Accepted options:
- `cursor` (string): A `cursor` from a previous `daily` response: re-reads that station-month and fails with invalid_input/publication_changed if the rows no longer hash the same. Example: `<cursor>`
- `month` (string): Calendar month `YYYY-MM`, 2000-01 to the current month. Pattern: ^[0-9]{4}-[0-9]{2}$. Example: `YYYY-MM`
- `station` (string): Four-character RAWS station code, e.g. `MNIN`. Pattern: ^[A-Za-z0-9]{4}$. Example: `<station>`
- `units` (string): `M` metric (default: °C, m/s, mm, mb, kWh/m²) or `E` English. Example: `M`

Response schema example:
```json
{
  "available_years": null,
  "columns": [
    {
      "group": "Total",
      "key": "solar_rad_total",
      "label": "Solar Rad.",
      "unit": "KW-hr/m²"
    },
    {
      "group": "Wind",
      "key": "wind_speed_avg",
      "label": "Ave.",
      "unit": "m/s"
    },
    {
      "group": "Wind",
      "key": "wind_dir_vector",
      "label": "V. Dir.",
      "unit": "Deg"
    },
    {
      "group": "Wind",
      "key": "wind_gust_max",
      "label": "Max.",
      "unit": "m/s"
    },
    {
      "group": "Air Temperature",
      "key": "air_temp_mean",
      "label": "Mean",
      "unit": "Deg. Celsius"
    },
    {
      "group": "Air Temperature",
      "key": "air_temp_max",
      "label": "Max",
      "unit": "Deg. Celsius"
    },
    {
      "group": "Air Temperature",
      "key": "air_temp_min",
      "label": "Min",
      "unit": "Deg. Celsius"
    },
    {
      "group": "Fuel Temperature",
      "key": "fuel_temp_mean",
      "label": "Mean",
      "unit": "Deg. Celsius"
    },
    {
      "group": "Fuel Temperature",
      "key": "fuel_temp_max",
      "label": "Max",
      "unit": "Deg. Celsius"
    },
    {
      "group": "Fuel Temperature",
      "key": "fuel_temp_min",
      "label": "Min",
      "unit": "Deg. Celsius"
    },
    {
      "group": "Humidity",
      "key": "humidity_mean",
      "label": "Mean",
      "unit": "Percent"
    },
    {
      "group": "Humidity",
      "key": "humidity_max",
      "label": "Max",
      "unit": "Percent"
    },
    {
      "group": "Humidity",
      "key": "humidity_min",
      "label": "Min",
      "unit": "Percent"
    },
    {
      "group": "Dew",
      "key": "dew_point",
      "label": "Point",
      "unit": "Deg. Celsius"
    },
    {
      "group": "Wet",
      "key": "wet_bulb",
      "label": "Bulb",
      "unit": "Deg. Celsius"
    },
    {
      "group": "Total",
      "key": "precip_total",
      "label": "Precip.",
      "unit": "mm."
    }
  ],
  "count": 31,
  "cursor": "{\"month\":\"2024-07\",\"publication_id\":\"MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50\",\"station\":\"MNIN\",\"units\":\"M\"}",
  "month": "2024-07",
  "next_month": "2024-08",
  "observed_at_ms": 1792332377426,
  "previous_month": "2024-06",
  "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
  "records": [
    {
      "date": "2024-07-01",
      "day_of_year": 183,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-01",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 22.2,
        "air_temp_mean": 16.3,
        "air_temp_min": 10,
        "dew_point": 9,
        "fuel_temp_max": 34.4,
        "fuel_temp_mean": 17.9,
        "fuel_temp_min": 7.8,
        "humidity_max": 97,
        "humidity_mean": 66,
        "humidity_min": 42,
        "precip_total": 0.76,
        "solar_rad_total": 5.96,
        "wet_bulb": 11.9,
        "wind_dir_vector": 240,
        "wind_gust_max": 10.3,
        "wind_speed_avg": 1.9
      }
    },
    {
      "date": "2024-07-02",
      "day_of_year": 184,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-02",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 24.4,
        "air_temp_mean": 17.4,
        "air_temp_min": 11.1,
        "dew_point": 7.3,
        "fuel_temp_max": 37.8,
        "fuel_temp_mean": 19.5,
        "fuel_temp_min": 10,
        "humidity_max": 89,
        "humidity_mean": 56,
        "humidity_min": 29,
        "precip_total": 0,
        "solar_rad_total": 6.25,
        "wet_bulb": 11.5,
        "wind_dir_vector": 239,
        "wind_gust_max": 11.6,
        "wind_speed_avg": 1.6
      }
    },
    {
      "date": "2024-07-03",
      "day_of_year": 185,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-03",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 22.8,
        "air_temp_mean": 16.5,
        "air_temp_min": 9.4,
        "dew_point": 6.1,
        "fuel_temp_max": 30,
        "fuel_temp_mean": 17.5,
        "fuel_temp_min": 7.2,
        "humidity_max": 84,
        "humidity_mean": 54,
        "humidity_min": 27,
        "precip_total": 0,
        "solar_rad_total": 4.97,
        "wet_bulb": 10.5,
        "wind_dir_vector": 246,
        "wind_gust_max": 8.9,
        "wind_speed_avg": 1.3
      }
    },
    {
      "date": "2024-07-04",
      "day_of_year": 186,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-04",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 27.2,
        "air_temp_mean": 18.2,
        "air_temp_min": 6.7,
        "dew_point": 4.4,
        "fuel_temp_max": 42.2,
        "fuel_temp_mean": 20.2,
        "fuel_temp_min": 3.9,
        "humidity_max": 90,
        "humidity_mean": 48,
        "humidity_min": 17,
        "precip_total": 0,
        "solar_rad_total": 7.6,
        "wet_bulb": 10.4,
        "wind_dir_vector": 314,
        "wind_gust_max": 8.9,
        "wind_speed_avg": 1.1
      }
    },
    {
      "date": "2024-07-05",
      "day_of_year": 187,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-05",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 30,
        "air_temp_mean": 19.9,
        "air_temp_min": 7.2,
        "dew_point": 5,
        "fuel_temp_max": 40,
        "fuel_temp_mean": 20.9,
        "fuel_temp_min": 3.3,
        "humidity_max": 79,
        "humidity_mean": 43,
        "humidity_min": 20,
        "precip_total": 0,
        "solar_rad_total": 7.24,
        "wet_bulb": 11.2,
        "wind_dir_vector": 297,
        "wind_gust_max": 10.7,
        "wind_speed_avg": 1.3
      }
    },
    {
      "date": "2024-07-06",
      "day_of_year": 188,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-06",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 30,
        "air_temp_mean": 21.1,
        "air_temp_min": 10,
        "dew_point": 6.7,
        "fuel_temp_max": 46.7,
        "fuel_temp_mean": 23.7,
        "fuel_temp_min": 7.2,
        "humidity_max": 74,
        "humidity_mean": 44,
        "humidity_min": 20,
        "precip_total": 0,
        "solar_rad_total": 7.81,
        "wet_bulb": 12.4,
        "wind_dir_vector": 251,
        "wind_gust_max": 7.2,
        "wind_speed_avg": 1.2
      }
    },
    {
      "date": "2024-07-07",
      "day_of_year": 189,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-07",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 33.3,
        "air_temp_mean": 22.5,
        "air_temp_min": 10,
        "dew_point": 7,
        "fuel_temp_max": 50.6,
        "fuel_temp_mean": 24.7,
        "fuel_temp_min": 7.2,
        "humidity_max": 76,
        "humidity_mean": 42,
        "humidity_min": 18,
        "precip_total": 0,
        "solar_rad_total": 7.95,
        "wet_bulb": 13.1,
        "wind_dir_vector": 335,
        "wind_gust_max": 6.3,
        "wind_speed_avg": 1
      }
    },
    {
      "date": "2024-07-08",
      "day_of_year": 190,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-08",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 35,
        "air_temp_mean": 23.8,
        "air_temp_min": 11.1,
        "dew_point": 7.2,
        "fuel_temp_max": 51.1,
        "fuel_temp_mean": 26,
        "fuel_temp_min": 7.2,
        "humidity_max": 72,
        "humidity_mean": 40,
        "humidity_min": 15,
        "precip_total": 0,
        "solar_rad_total": 8.19,
        "wet_bulb": 13.6,
        "wind_dir_vector": 230,
        "wind_gust_max": 7.2,
        "wind_speed_avg": 1.1
      }
    },
    {
      "date": "2024-07-09",
      "day_of_year": 191,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-09",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 37.2,
        "air_temp_mean": 25.3,
        "air_temp_min": 12.2,
        "dew_point": 8.2,
        "fuel_temp_max": 51.7,
        "fuel_temp_mean": 27.4,
        "fuel_temp_min": 8.9,
        "humidity_max": 74,
        "humidity_mean": 40,
        "humidity_min": 14,
        "precip_total": 0,
        "solar_rad_total": 7.98,
        "wet_bulb": 14.6,
        "wind_dir_vector": 194,
        "wind_gust_max": 6.3,
        "wind_speed_avg": 0.9
      }
    },
    {
      "date": "2024-07-10",
      "day_of_year": 192,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-10",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 37.8,
        "air_temp_mean": 26.5,
        "air_temp_min": 12.8,
        "dew_point": 7.7,
        "fuel_temp_max": 52.2,
        "fuel_temp_mean": 28.1,
        "fuel_temp_min": 8.9,
        "humidity_max": 77,
        "humidity_mean": 38,
        "humidity_min": 11,
        "precip_total": 0,
        "solar_rad_total": 7.81,
        "wet_bulb": 14.8,
        "wind_dir_vector": 303,
        "wind_gust_max": 7.6,
        "wind_speed_avg": 1.1
      }
    },
    {
      "date": "2024-07-11",
      "day_of_year": 193,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-11",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 36.1,
        "air_temp_mean": 26.1,
        "air_temp_min": 15,
        "dew_point": 6,
        "fuel_temp_max": 50,
        "fuel_temp_mean": 28,
        "fuel_temp_min": 12.2,
        "humidity_max": 61,
        "humidity_mean": 33,
        "humidity_min": 13,
        "precip_total": 0,
        "solar_rad_total": 7.83,
        "wet_bulb": 14,
        "wind_dir_vector": 270,
        "wind_gust_max": 11.2,
        "wind_speed_avg": 2
      }
    },
    {
      "date": "2024-07-12",
      "day_of_year": 194,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-12",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 35,
        "air_temp_mean": 24.1,
        "air_temp_min": 11.1,
        "dew_point": 2.3,
        "fuel_temp_max": 50.6,
        "fuel_temp_mean": 25.8,
        "fuel_temp_min": 6.7,
        "humidity_max": 63,
        "humidity_mean": 30,
        "humidity_min": 8,
        "precip_total": 0,
        "solar_rad_total": 8.19,
        "wet_bulb": 11.9,
        "wind_dir_vector": 275,
        "wind_gust_max": 10.3,
        "wind_speed_avg": 1.6
      }
    },
    {
      "date": "2024-07-13",
      "day_of_year": 195,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-13",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 36.1,
        "air_temp_mean": 24.5,
        "air_temp_min": 11.7,
        "dew_point": 3.3,
        "fuel_temp_max": 51.1,
        "fuel_temp_mean": 26.2,
        "fuel_temp_min": 7.8,
        "humidity_max": 67,
        "humidity_mean": 32,
        "humidity_min": 9,
        "precip_total": 0,
        "solar_rad_total": 8.08,
        "wet_bulb": 12.3,
        "wind_dir_vector": 263,
        "wind_gust_max": 8.5,
        "wind_speed_avg": 1.1
      }
    },
    {
      "date": "2024-07-14",
      "day_of_year": 196,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-14",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 35.6,
        "air_temp_mean": 24.1,
        "air_temp_min": 11.7,
        "dew_point": 3,
        "fuel_temp_max": 47.8,
        "fuel_temp_mean": 25,
        "fuel_temp_min": 7.2,
        "humidity_max": 63,
        "humidity_mean": 31,
        "humidity_min": 10,
        "precip_total": 0,
        "solar_rad_total": 7.09,
        "wet_bulb": 12,
        "wind_dir_vector": 246,
        "wind_gust_max": 13,
        "wind_speed_avg": 1.6
      }
    },
    {
      "date": "2024-07-15",
      "day_of_year": 197,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-15",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 33.9,
        "air_temp_mean": 23.8,
        "air_temp_min": 11.7,
        "dew_point": 2.7,
        "fuel_temp_max": 48.3,
        "fuel_temp_mean": 25.3,
        "fuel_temp_min": 7.2,
        "humidity_max": 59,
        "humidity_mean": 30,
        "humidity_min": 11,
        "precip_total": 0,
        "solar_rad_total": 8.03,
        "wet_bulb": 11.9,
        "wind_dir_vector": 223,
        "wind_gust_max": 12.5,
        "wind_speed_avg": 2.1
      }
    },
    {
      "date": "2024-07-16",
      "day_of_year": 198,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-16",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 33.9,
        "air_temp_mean": 22.8,
        "air_temp_min": 10,
        "dew_point": 3.3,
        "fuel_temp_max": 50,
        "fuel_temp_mean": 24.1,
        "fuel_temp_min": 6.1,
        "humidity_max": 65,
        "humidity_mean": 34,
        "humidity_min": 12,
        "precip_total": 0,
        "solar_rad_total": 6.97,
        "wet_bulb": 11.7,
        "wind_dir_vector": 289,
        "wind_gust_max": 6.7,
        "wind_speed_avg": 1
      }
    },
    {
      "date": "2024-07-17",
      "day_of_year": 199,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-17",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 36.7,
        "air_temp_mean": 24.1,
        "air_temp_min": 10.6,
        "dew_point": 4.3,
        "fuel_temp_max": 52.2,
        "fuel_temp_mean": 25.8,
        "fuel_temp_min": 6.7,
        "humidity_max": 63,
        "humidity_mean": 33,
        "humidity_min": 11,
        "precip_total": 0,
        "solar_rad_total": 7.15,
        "wet_bulb": 12.5,
        "wind_dir_vector": 278,
        "wind_gust_max": 5.8,
        "wind_speed_avg": 0.9
      }
    },
    {
      "date": "2024-07-18",
      "day_of_year": 200,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-18",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 35.6,
        "air_temp_mean": 26.5,
        "air_temp_min": 18.9,
        "dew_point": 7.3,
        "fuel_temp_max": 51.7,
        "fuel_temp_mean": 28.4,
        "fuel_temp_min": 15,
        "humidity_max": 55,
        "humidity_mean": 33,
        "humidity_min": 16,
        "precip_total": 0,
        "solar_rad_total": 6.78,
        "wet_bulb": 14.7,
        "wind_dir_vector": 316,
        "wind_gust_max": 8,
        "wind_speed_avg": 1.2
      }
    },
    {
      "date": "2024-07-19",
      "day_of_year": 201,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-19",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 36.7,
        "air_temp_mean": 25.5,
        "air_temp_min": 12.8,
        "dew_point": 6.3,
        "fuel_temp_max": 50.6,
        "fuel_temp_mean": 27.4,
        "fuel_temp_min": 8.9,
        "humidity_max": 65,
        "humidity_mean": 34,
        "humidity_min": 12,
        "precip_total": 0,
        "solar_rad_total": 7.59,
        "wet_bulb": 13.8,
        "wind_dir_vector": 342,
        "wind_gust_max": 8,
        "wind_speed_avg": 0.8
      }
    },
    {
      "date": "2024-07-20",
      "day_of_year": 202,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-20",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 37.2,
        "air_temp_mean": 26.2,
        "air_temp_min": 13.3,
        "dew_point": 6.6,
        "fuel_temp_max": 51.7,
        "fuel_temp_mean": 28.2,
        "fuel_temp_min": 9.4,
        "humidity_max": 62,
        "humidity_mean": 33,
        "humidity_min": 13,
        "precip_total": 0,
        "solar_rad_total": 7.51,
        "wet_bulb": 14.2,
        "wind_dir_vector": 79,
        "wind_gust_max": 8.9,
        "wind_speed_avg": 1.4
      }
    },
    {
      "date": "2024-07-21",
      "day_of_year": 203,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-21",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 37.8,
        "air_temp_mean": 27.2,
        "air_temp_min": 15.6,
        "dew_point": 5.8,
        "fuel_temp_max": 51.7,
        "fuel_temp_mean": 29.1,
        "fuel_temp_min": 12.2,
        "humidity_max": 55,
        "humidity_mean": 30,
        "humidity_min": 9,
        "precip_total": 0,
        "solar_rad_total": 7.57,
        "wet_bulb": 14.3,
        "wind_dir_vector": 85,
        "wind_gust_max": 9.4,
        "wind_speed_avg": 1.8
      }
    },
    {
      "date": "2024-07-22",
      "day_of_year": 204,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-22",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 37.2,
        "air_temp_mean": 27.1,
        "air_temp_min": 16.1,
        "dew_point": 7.3,
        "fuel_temp_max": 51.1,
        "fuel_temp_mean": 28.5,
        "fuel_temp_min": 12.8,
        "humidity_max": 53,
        "humidity_mean": 32,
        "humidity_min": 15,
        "precip_total": 0,
        "solar_rad_total": 5.86,
        "wet_bulb": 14.8,
        "wind_dir_vector": 295,
        "wind_gust_max": 5.8,
        "wind_speed_avg": 0.9
      }
    },
    {
      "date": "2024-07-23",
      "day_of_year": 205,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-23",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 36.1,
        "air_temp_mean": 26.2,
        "air_temp_min": 15.6,
        "dew_point": 7.4,
        "fuel_temp_max": 47.8,
        "fuel_temp_mean": 28,
        "fuel_temp_min": 12.2,
        "humidity_max": 68,
        "humidity_mean": 35,
        "humidity_min": 16,
        "precip_total": 0,
        "solar_rad_total": 7.02,
        "wet_bulb": 14.6,
        "wind_dir_vector": 307,
        "wind_gust_max": 10.3,
        "wind_speed_avg": 1.6
      }
    },
    {
      "date": "2024-07-24",
      "day_of_year": 206,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-24",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 37.8,
        "air_temp_mean": 24.9,
        "air_temp_min": 12.2,
        "dew_point": 7.3,
        "fuel_temp_max": 52.2,
        "fuel_temp_mean": 27.1,
        "fuel_temp_min": 8.9,
        "humidity_max": 80,
        "humidity_mean": 39,
        "humidity_min": 15,
        "precip_total": 0.76,
        "solar_rad_total": 6.45,
        "wet_bulb": 14.1,
        "wind_dir_vector": 209,
        "wind_gust_max": 24.6,
        "wind_speed_avg": 1.7
      }
    },
    {
      "date": "2024-07-25",
      "day_of_year": 207,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-25",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 26.7,
        "air_temp_mean": 20.4,
        "air_temp_min": 12.8,
        "dew_point": 8,
        "fuel_temp_max": 37.8,
        "fuel_temp_mean": 22.2,
        "fuel_temp_min": 10,
        "humidity_max": 95,
        "humidity_mean": 52,
        "humidity_min": 21,
        "precip_total": 0,
        "solar_rad_total": 6.03,
        "wet_bulb": 13.3,
        "wind_dir_vector": 263,
        "wind_gust_max": 13,
        "wind_speed_avg": 2
      }
    },
    {
      "date": "2024-07-26",
      "day_of_year": 208,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-26",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 28.3,
        "air_temp_mean": 17.8,
        "air_temp_min": 5.6,
        "dew_point": -1.4,
        "fuel_temp_max": 43.3,
        "fuel_temp_mean": 19.7,
        "fuel_temp_min": 1.7,
        "humidity_max": 73,
        "humidity_mean": 34,
        "humidity_min": 8,
        "precip_total": 0,
        "solar_rad_total": 7.71,
        "wet_bulb": 8.1,
        "wind_dir_vector": 282,
        "wind_gust_max": 11.2,
        "wind_speed_avg": 1.6
      }
    },
    {
      "date": "2024-07-27",
      "day_of_year": 209,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-27",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 30,
        "air_temp_mean": 18.7,
        "air_temp_min": 6.1,
        "dew_point": -0.9,
        "fuel_temp_max": 43.3,
        "fuel_temp_mean": 20.7,
        "fuel_temp_min": 2.8,
        "humidity_max": 69,
        "humidity_mean": 33,
        "humidity_min": 10,
        "precip_total": 0,
        "solar_rad_total": 7.31,
        "wet_bulb": 8.6,
        "wind_dir_vector": 262,
        "wind_gust_max": 9.8,
        "wind_speed_avg": 1.5
      }
    },
    {
      "date": "2024-07-28",
      "day_of_year": 210,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-28",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 29.4,
        "air_temp_mean": 19.5,
        "air_temp_min": 9.4,
        "dew_point": 2.8,
        "fuel_temp_max": 43.9,
        "fuel_temp_mean": 21.8,
        "fuel_temp_min": 5.6,
        "humidity_max": 61,
        "humidity_mean": 37,
        "humidity_min": 18,
        "precip_total": 0,
        "solar_rad_total": 6.78,
        "wet_bulb": 10.1,
        "wind_dir_vector": 285,
        "wind_gust_max": 11.2,
        "wind_speed_avg": 1.5
      }
    },
    {
      "date": "2024-07-29",
      "day_of_year": 211,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-29",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 29.4,
        "air_temp_mean": 20.6,
        "air_temp_min": 9.4,
        "dew_point": 6.6,
        "fuel_temp_max": 41.1,
        "fuel_temp_mean": 22.3,
        "fuel_temp_min": 6.7,
        "humidity_max": 76,
        "humidity_mean": 44,
        "humidity_min": 22,
        "precip_total": 0,
        "solar_rad_total": 6.41,
        "wet_bulb": 12.2,
        "wind_dir_vector": 251,
        "wind_gust_max": 10.7,
        "wind_speed_avg": 1.5
      }
    },
    {
      "date": "2024-07-30",
      "day_of_year": 212,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-30",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 23.3,
        "air_temp_mean": 18.6,
        "air_temp_min": 15.6,
        "dew_point": 12.7,
        "fuel_temp_max": 38.3,
        "fuel_temp_mean": 20.9,
        "fuel_temp_min": 13.3,
        "humidity_max": 91,
        "humidity_mean": 70,
        "humidity_min": 52,
        "precip_total": 0.76,
        "solar_rad_total": 4.32,
        "wet_bulb": 14.8,
        "wind_dir_vector": 160,
        "wind_gust_max": 8.5,
        "wind_speed_avg": 1.3
      }
    },
    {
      "date": "2024-07-31",
      "day_of_year": 213,
      "publication_id": "MNIN:2024-07:sha256:1893d44a53884ddb4c94c845458185b12ae1389da6408aa5fa54e69a85554e50",
      "retrieved_at": "2026-10-18T14:06:17Z",
      "source_record_id": "MNIN:2024-07-31",
      "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
      "values": {
        "air_temp_max": 30,
        "air_temp_mean": 20.8,
        "air_temp_min": 11.1,
        "dew_point": 10.3,
        "fuel_temp_max": 45,
        "fuel_temp_mean": 23.7,
        "fuel_temp_min": 8.9,
        "humidity_max": 96,
        "humidity_mean": 58,
        "humidity_min": 25,
        "precip_total": 0.25,
        "solar_rad_total": 7.23,
        "wet_bulb": 14.2,
        "wind_dir_vector": 232,
        "wind_gust_max": 10.3,
        "wind_speed_avg": 1.7
      }
    }
  ],
  "retrieved_at": "2026-10-18T14:06:17Z",
  "source_url": "https://raws.dri.edu/cgi-bin/wea_monsum2.pl?stn=MNIN&mon=07&yea=24&units=M",
  "station_code": "MNIN",
  "station_name": "Nine Mile Montana",
  "units": "M"
}
```

### Source status

- Capability: `weather-history/source_status`
- Description: Cheap version check of one state's station catalog: GET the regional list pages that carry its stations (Montana: nidwmtlst.html, emtlst.html; at most three pages for any state) and report their Last-Modified, ETag, size, SHA-256 and the unique station count for the state. The CGI data pages carry no validators; their records are hashed per call instead.
- Instructions: Before re-collecting the station catalog, to see whether the list pages moved since the last run.
- Cost: 5 credits per call
- Capability file: [Source status](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/source_status)

Accepted options:
- `state` (string, required): Two-letter postal code or full state name (`MT`, `Washington`). Every state with RAWS stations in the archive is accepted, plus `PR` and `VI`; Connecticut has none. Example: `<state>`

Response schema example:
```json
{
  "files": [
    {
      "anchors": 244,
      "bytes": 75772,
      "last_modified": "Sat, 24 Jan 2026 03:14:49 GMT",
      "sha256": "ed2d16d18af20d4cdf547dec02c1834e74665c2ba74b473536538984222666c1",
      "url": "https://raws.dri.edu/nidwmtlst.html"
    },
    {
      "anchors": 101,
      "bytes": 33405,
      "last_modified": "Sat, 24 Jan 2026 03:22:28 GMT",
      "sha256": "707ec3afa8e7197038afd9681a4dd2f732877e54f4ffb48ef6a1910e2254bc22",
      "url": "https://raws.dri.edu/emtlst.html"
    }
  ],
  "notes": "Static list pages carry Last-Modified (and an ETag the program does not surface); the CGI outputs (wea_info.pl, wea_monsum2.pl, wea_windrose2.pl) carry no validators and are hashed per record instead.",
  "observed_at_ms": 1792332344578,
  "publication_id": "nidwmtlst.html@Sat, 24 Jan 2026 03:14:49 GMT|emtlst.html@Sat, 24 Jan 2026 03:22:28 GMT",
  "published_at": "2026-01-24T03:22:28Z",
  "record_count": 171,
  "retrieved_at": "2026-10-18T14:05:44Z",
  "source_url": "https://raws.dri.edu/"
}
```

### Station

- Capability: `weather-history/station`
- Description: records/get for one station by its four-character RAWS code: the wea_info.pl page with name, DMS latitude/longitude (also as decimal degrees, west negative), elevation in feet, NESS id, NWS id, agency and the dates of the station photo sets. An unknown code renders an empty record and is reported as not_found.
- Instructions: Metadata for a station code from `stations` (or any RAWS code the archive knows).
- Cost: 5 credits per call
- Capability file: [Station](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/station)

Accepted options:
- `station` (string, required): Four-character RAWS station code, e.g. `MNIN` (case-insensitive). Pattern: ^[A-Za-z0-9]{4}$. Example: `<station>`

Response schema example:
```json
{
  "agency": "USFS",
  "elevation_ft": 3300,
  "latitude": 47.070833,
  "latitude_dms": "47° 04' 15\"",
  "location": "Nine Mile Montana",
  "longitude": -114.402222,
  "longitude_dms": "114° 24' 08\"",
  "name": "Nine Mile",
  "ness_id": "3232E56C",
  "nws_id": "241507",
  "observed_at_ms": 1792332365431,
  "photo_dates": [
    "July 2005",
    "October 2010"
  ],
  "publication_id": "wea_info:MNIN:sha256:d71c5b2f8fcca641ab9675ee12cf4377bee118f9d6b7b2b6b25459a1b0021bf6",
  "retrieved_at": "2026-10-18T14:06:05Z",
  "source_record_id": "MNIN",
  "source_url": "https://raws.dri.edu/cgi-bin/wea_info.pl?mtMNIN",
  "state": "Montana",
  "station_code": "MNIN"
}
```

### Stations

- Capability: `weather-history/stations`
- Description: records/list of one state's RAWS station catalog: parse the regional list pages that carry it, keep the stations whose label names the state (or, for labels with no state, a key prefix only that state uses; Montana: 171 unique stations as of 2026-01-24, including portables and retired stations), sort by code and page through them. The cursor pins the list pages' Last-Modified publication id; if either page changed between pages the call fails with invalid_input/publication_changed and the listing must restart.
- Instructions: The full current station list of a state with codes; feed `station_code` into `station`, `daily` and `wind_rose`.
- Cost: 5 credits per call
- Capability file: [Stations](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/stations)

Accepted options:
- `cursor` (string): `next_cursor` of the previous page. Omit for the first page. Example: `next_cursor`
- `page_size` (number): Stations per page, 1..200 (default 50; a cursor carries the page size it was issued with). Example: `10`
- `pages` (string): `table` (default): the state's page set, 1 to 3 fetches. `all`: every page on the archive map (43 fetches, about 15 s), complete even when `catalog_audit` reports drift. A cursor keeps the mode it was issued with. Example: `table`
- `state` (string, required): Two-letter postal code or full state name (`MT`, `Washington`). Every state with RAWS stations in the archive is accepted, plus `PR` and `VI`; Connecticut has none. Example: `<state>`

Response schema example:
```json
{
  "count": 5,
  "next_cursor": "{\"offset\":5,\"page_size\":5,\"publication_id\":\"nidwmtlst.html@Sat, 24 Jan 2026 03:14:49 GMT|emtlst.html@Sat, 24 Jan 2026 03:22:28 GMT\"}",
  "observed_at_ms": 1792332354927,
  "offset": 0,
  "page_size": 5,
  "publication_id": "nidwmtlst.html@Sat, 24 Jan 2026 03:14:49 GMT|emtlst.html@Sat, 24 Jan 2026 03:22:28 GMT",
  "published_at": "2026-01-24T03:22:28Z",
  "records": [
    {
      "info_url": "https://raws.dri.edu/cgi-bin/wea_info.pl?mtMALF",
      "label": "Alpha Montana (RAWS)",
      "list_pages": [
        "nidwmtlst.html",
        "emtlst.html"
      ],
      "map_key": "mtMALF",
      "name": "Alpha",
      "portable": false,
      "publication_id": "nidwmtlst.html@Sat, 24 Jan 2026 03:14:49 GMT|emtlst.html@Sat, 24 Jan 2026 03:22:28 GMT",
      "retrieved_at": "2026-10-18T14:05:54Z",
      "source_record_id": "MALF",
      "source_url": "https://raws.dri.edu/cgi-bin/rawMAIN.pl?inMALF",
      "state": "Montana",
      "station_code": "MALF"
    },
    {
      "info_url": "https://raws.dri.edu/cgi-bin/wea_info.pl?mtMANT",
      "label": "Antelope Montana (RAWS)",
      "list_pages": [
        "nidwmtlst.html"
      ],
      "map_key": "mtMANT",
      "name": "Antelope",
      "portable": false,
      "publication_id": "nidwmtlst.html@Sat, 24 Jan 2026 03:14:49 GMT|emtlst.html@Sat, 24 Jan 2026 03:22:28 GMT",
      "retrieved_at": "2026-10-18T14:05:54Z",
      "source_record_id": "MANT",
      "source_url": "https://raws.dri.edu/cgi-bin/rawMAIN.pl?inMANT",
      "state": "Montana",
      "station_code": "MANT"
    },
    {
      "info_url": "https://raws.dri.edu/cgi-bin/wea_info.pl?mtMARM",
      "label": "Armells Creek Montana (RAWS)",
      "list_pages": [
        "nidwmtlst.html",
        "emtlst.html"
      ],
      "map_key": "mtMARM",
      "name": "Armells Creek",
      "portable": false,
      "publication_id": "nidwmtlst.html@Sat, 24 Jan 2026 03:14:49 GMT|emtlst.html@Sat, 24 Jan 2026 03:22:28 GMT",
      "retrieved_at": "2026-10-18T14:05:54Z",
      "source_record_id": "MARM",
      "source_url": "https://raws.dri.edu/cgi-bin/rawMAIN.pl?inMARM",
      "state": "Montana",
      "station_code": "MARM"
    },
    {
      "info_url": "https://raws.dri.edu/cgi-bin/wea_info.pl?mtMAXO",
      "label": "Axolotl Montana (RAWS)",
      "list_pages": [
        "nidwmtlst.html"
      ],
      "map_key": "mtMAXO",
      "name": "Axolotl",
      "portable": false,
      "publication_id": "nidwmtlst.html@Sat, 24 Jan 2026 03:14:49 GMT|emtlst.html@Sat, 24 Jan 2026 03:22:28 GMT",
      "retrieved_at": "2026-10-18T14:05:54Z",
      "source_record_id": "MAXO",
      "source_url": "https://raws.dri.edu/cgi-bin/rawMAIN.pl?inMAXO",
      "state": "Montana",
      "station_code": "MAXO"
    },
    {
      "info_url": "https://raws.dri.edu/cgi-bin/wea_info.pl?mtMBAD",
      "label": "Badland Coulee Montana (RAWS)",
      "list_pages": [
        "emtlst.html"
      ],
      "map_key": "mtMBAD",
      "name": "Badland Coulee",
      "portable": false,
      "publication_id": "nidwmtlst.html@Sat, 24 Jan 2026 03:14:49 GMT|emtlst.html@Sat, 24 Jan 2026 03:22:28 GMT",
      "retrieved_at": "2026-10-18T14:05:54Z",
      "source_record_id": "MBAD",
      "source_url": "https://raws.dri.edu/cgi-bin/rawMAIN.pl?inMBAD",
      "state": "Montana",
      "station_code": "MBAD"
    }
  ],
  "retrieved_at": "2026-10-18T14:05:54Z",
  "total": 171
}
```

### Wind rose

- Capability: `weather-history/wind_rose`
- Description: Wind frequency table for a station over a date window of at most 10 years (POST wea_windrose2.pl, the public form): 16 compass points x Beaufort speed bins as percent (`P`) or counts (`C`), the Total, Calm and Ave Speed rows, the day and observation counts, and (default on) the 24-hour statistics table (scalar/vector speed, resultant direction, directional constancy, observation counts). Element MWS (mean wind speed, default) or MXW (maximum gust); units M (m/s), E (mph) or K (knots); an optional seasonal sub-window (`window_start`/`window_end` as MM-DD) and hour window. One upstream request per call; multi-year windows take 10-25 s server side.
- Instructions: Wind direction and speed frequency (wind rose) statistics for a fire-weather or CWPP chapter.
- Cost: 5 credits per call
- Capability file: [Wind rose](https://firecrawl.dev/alexandria/agents/providers/raws-dri-edu/weather-history/wind_rose)

Accepted options:
- `element` (string): `MWS` mean wind speed (default) or `MXW` maximum wind gust. Example: `MWS`
- `end` (string, required): Last day `YYYY-MM-DD`, not after today, at most 10 years after `start`. Example: `YYYY-MM-DD`
- `hour_end` (number): Last hour of day 1..24, after `hour_start` (default 24). Example: `24`
- `hour_start` (number): First hour of day 0..23 (default 0). Example: `0`
- `hourly` (boolean): Include the 24-hour statistics table (default true). Example: `false`
- `start` (string, required): First day `YYYY-MM-DD` (2000 or later). Example: `YYYY-MM-DD`
- `station` (string, required): Four-character RAWS station code, e.g. `MNIN`. Pattern: ^[A-Za-z0-9]{4}$. Example: `<station>`
- `table` (string): `P` percent of observations (default) or `C` counts. Example: `P`
- `units` (string): `M` m/s (default), `E` mph, `K` knots. Example: `M`
- `window_end` (string): Seasonal sub-window end `MM-DD` (default 12-31). Pattern: ^[0-9]{2}-[0-9]{2}$. Example: `12-31`
- `window_start` (string): Seasonal sub-window start `MM-DD` applied every year (default 01-01). Pattern: ^[0-9]{2}-[0-9]{2}$. Example: `01-01`

Response schema example:
```json
{
  "average_speed": {
    "label": "Ave Speed",
    "lower": null,
    "total": 1.3,
    "upper": null,
    "values": [
      3,
      3.5,
      3.1,
      2.7,
      2.8,
      2.7,
      2.5,
      2.2,
      2.5,
      2.6,
      3.8,
      2.7,
      2.4,
      2.5,
      2.5,
      3.1
    ]
  },
  "calm": 53.7,
  "calm_threshold": 1.3,
  "days_possible": 122,
  "days_with_data": 122,
  "directions": [
    "N",
    "NNE",
    "NE",
    "ENE",
    "E",
    "ESE",
    "SE",
    "SSE",
    "S",
    "SSW",
    "SW",
    "WSW",
    "W",
    "WNW",
    "NW",
    "NNW"
  ],
  "element": "MWS",
  "element_label": "Mean Wind Speed",
  "elevation_ft": 3300,
  "end_date": "2024-09-30",
  "end_date_label": "Sep. 30, 2024",
  "hourly": [
    {
      "dir_con": 0.481,
      "hour": 0,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 326,
      "res_spd": 0.3,
      "speed": 0.7,
      "u_vel": 0.2,
      "v_vel": -0.3
    },
    {
      "dir_con": 0.586,
      "hour": 1,
      "num_dir": 121,
      "num_spd": 122,
      "res_dir": 334,
      "res_spd": 0.4,
      "speed": 0.6,
      "u_vel": 0.2,
      "v_vel": -0.3
    },
    {
      "dir_con": 0.458,
      "hour": 2,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 332,
      "res_spd": 0.3,
      "speed": 0.6,
      "u_vel": 0.1,
      "v_vel": -0.2
    },
    {
      "dir_con": 0.509,
      "hour": 3,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 342,
      "res_spd": 0.2,
      "speed": 0.5,
      "u_vel": 0.1,
      "v_vel": -0.2
    },
    {
      "dir_con": 0.449,
      "hour": 4,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 336,
      "res_spd": 0.2,
      "speed": 0.4,
      "u_vel": 0.1,
      "v_vel": -0.2
    },
    {
      "dir_con": 0.445,
      "hour": 5,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 340,
      "res_spd": 0.2,
      "speed": 0.4,
      "u_vel": 0.1,
      "v_vel": -0.2
    },
    {
      "dir_con": 0.509,
      "hour": 6,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 330,
      "res_spd": 0.2,
      "speed": 0.4,
      "u_vel": 0.1,
      "v_vel": -0.2
    },
    {
      "dir_con": 0.273,
      "hour": 7,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 349,
      "res_spd": 0.1,
      "speed": 0.4,
      "u_vel": 0,
      "v_vel": -0.1
    },
    {
      "dir_con": 0.395,
      "hour": 8,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 171,
      "res_spd": 0.2,
      "speed": 0.6,
      "u_vel": 0,
      "v_vel": 0.2
    },
    {
      "dir_con": 0.584,
      "hour": 9,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 166,
      "res_spd": 0.7,
      "speed": 1.1,
      "u_vel": -0.2,
      "v_vel": 0.6
    },
    {
      "dir_con": 0.613,
      "hour": 10,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 161,
      "res_spd": 1,
      "speed": 1.6,
      "u_vel": -0.3,
      "v_vel": 0.9
    },
    {
      "dir_con": 0.585,
      "hour": 11,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 168,
      "res_spd": 1.1,
      "speed": 1.9,
      "u_vel": -0.2,
      "v_vel": 1.1
    },
    {
      "dir_con": 0.538,
      "hour": 12,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 179,
      "res_spd": 1.2,
      "speed": 2.1,
      "u_vel": 0,
      "v_vel": 1.2
    },
    {
      "dir_con": 0.419,
      "hour": 13,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 198,
      "res_spd": 1,
      "speed": 2.3,
      "u_vel": 0.3,
      "v_vel": 0.9
    },
    {
      "dir_con": 0.547,
      "hour": 14,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 210,
      "res_spd": 1.3,
      "speed": 2.4,
      "u_vel": 0.7,
      "v_vel": 1.1
    },
    {
      "dir_con": 0.59,
      "hour": 15,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 226,
      "res_spd": 1.5,
      "speed": 2.6,
      "u_vel": 1.1,
      "v_vel": 1.1
    },
    {
      "dir_con": 0.624,
      "hour": 16,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 230,
      "res_spd": 1.6,
      "speed": 2.6,
      "u_vel": 1.3,
      "v_vel": 1
    },
    {
      "dir_con": 0.581,
      "hour": 17,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 236,
      "res_spd": 1.3,
      "speed": 2.3,
      "u_vel": 1.1,
      "v_vel": 0.7
    },
    {
      "dir_con": 0.34,
      "hour": 18,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 249,
      "res_spd": 0.6,
      "speed": 1.9,
      "u_vel": 0.6,
      "v_vel": 0.2
    },
    {
      "dir_con": 0.291,
      "hour": 19,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 271,
      "res_spd": 0.4,
      "speed": 1.4,
      "u_vel": 0.4,
      "v_vel": 0
    },
    {
      "dir_con": 0.539,
      "hour": 20,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 313,
      "res_spd": 0.6,
      "speed": 1.1,
      "u_vel": 0.4,
      "v_vel": -0.4
    },
    {
      "dir_con": 0.615,
      "hour": 21,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 318,
      "res_spd": 0.7,
      "speed": 1.1,
      "u_vel": 0.4,
      "v_vel": -0.5
    },
    {
      "dir_con": 0.751,
      "hour": 22,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 316,
      "res_spd": 0.9,
      "speed": 1.1,
      "u_vel": 0.6,
      "v_vel": -0.6
    },
    {
      "dir_con": 0.767,
      "hour": 23,
      "num_dir": 122,
      "num_spd": 122,
      "res_dir": 318,
      "res_spd": 0.7,
      "speed": 1,
      "u_vel": 0.5,
      "v_vel": -0.5
    }
  ],
  "hourly_all": {
    "dir_con": 0.295,
    "hour": null,
    "num_dir": 2927,
    "num_spd": 2928,
    "res_dir": 234,
    "res_spd": 0.4,
    "speed": 1.3,
    "u_vel": 0.3,
    "v_vel": 0.2
  },
  "latitude_dms": "47° 04' 15\" N",
  "longitude_dms": "114° 24' 08\" W",
  "obs_count": 2928,
  "obs_possible": null,
  "observed_at_ms": 1792332389785,
  "publication_id": "windrose:MNIN:MWS:2024-06-01:2024-09-30:M:06-01:09-30:0-24:sha256:b688105429ff49e6c6f640bc81aa24542f379c401378df691369fadb80a3bc5c",
  "range_unit": "m/s",
  "retrieved_at": "2026-10-18T14:06:29Z",
  "source_record_id": "MNIN:MWS:2024-06-01:2024-09-30:M:06-01:09-30:0-24",
  "source_url": "https://raws.dri.edu/cgi-bin/wea_windrose2.pl",
  "speed_bins": [
    {
      "label": "1.3 - 1.8",
      "lower": 1.3,
      "total": 14.8,
      "upper": 1.8,
      "values": [
        0.8,
        0.5,
        0.6,
        0.6,
        0.6,
        0.5,
        1,
        1.6,
        0.8,
        0.8,
        0.5,
        1.1,
        1.1,
        1.4,
        1.8,
        1.3
      ]
    },
    {
      "label": "1.8 - 3.6",
      "lower": 1.8,
      "total": 24.6,
      "upper": 3.6,
      "values": [
        0.6,
        0.5,
        0.5,
        0.5,
        0.9,
        1.5,
        2.7,
        2,
        0.9,
        1.2,
        2.5,
        3.1,
        2.1,
        1.5,
        2.9,
        1
      ]
    },
    {
      "label": "3.6 - 5.85",
      "lower": 3.6,
      "total": 6.1,
      "upper": 5.85,
      "values": [
        0,
        0.1,
        0,
        0.1,
        0.1,
        0.3,
        0.6,
        0.1,
        0,
        0.1,
        3.4,
        0.9,
        0.1,
        0,
        0,
        0
      ]
    },
    {
      "label": "5.85 - 8.55",
      "lower": 5.85,
      "total": 0.8,
      "upper": 8.55,
      "values": [
        0,
        0,
        0,
        0,
        0.1,
        0,
        0,
        0,
        0,
        0,
        0.6,
        0,
        0,
        0,
        0,
        0
      ]
    },
    {
      "label": "8.55 - 11.25",
      "lower": 8.55,
      "total": 0,
      "upper": 11.25,
      "values": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ]
    },
    {
      "label": "11.25 - 14.4",
      "lower": 11.25,
      "total": 0,
      "upper": 14.4,
      "values": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ]
    },
    {
      "label": "14.4 - 17.55",
      "lower": 14.4,
      "total": 0,
      "upper": 17.55,
      "values": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ]
    },
    {
      "label": "17.55 - 21.15",
      "lower": 17.55,
      "total": 0,
      "upper": 21.15,
      "values": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ]
    },
    {
      "label": "21.15 -",
      "lower": 21.15,
      "total": 0,
      "upper": null,
      "values": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ]
    }
  ],
  "start_date": "2024-06-01",
  "start_date_label": "June 1, 2024",
  "station_code": "MNIN",
  "station_name": "Nine Mile Montana",
  "table": "percentage",
  "total": {
    "label": "Total(%)",
    "lower": null,
    "total": 46.3,
    "upper": null,
    "values": [
      1.3,
      1.1,
      1.1,
      1.3,
      1.8,
      2.4,
      4.2,
      3.7,
      1.7,
      2.1,
      7.2,
      5.2,
      3.3,
      2.9,
      4.7,
      2.3
    ]
  },
  "units": "M",
  "window": {
    "end": "09-30",
    "hour_end": 24,
    "hour_start": 0,
    "start": "06-01"
  }
}
```
