# web/data , the eight demo series

`index.json` lists all eight; each entry says whether it is bundled (a
`.f32` + `_meta.json` pair here, regenerated by `tools/fetch_series.py`) or
live (fetched by the browser at page load from the `liveUrl`).

## 1. US births, bundled

Daily US live births, 1969-01-01 to 1988-12-31. Unchanged from the existing
`series.f32` / `series_meta.json`. Source: GIFT-Eval (`Salesforce/GiftEval`),
config `us_births/D`, itself the Monash Time Series Forecasting Archive's
`us_births` dataset. See git history for the fuller provenance note.

## 2. NOAA CO-OPS tide gauge, live

Station 8443970 (Boston, MA), `water_level` product, hourly-ish (6-min
native, the page can decimate). The worker fetches the last 30 days (not
just the drawn ~8-day window) so ~512 undrawn hourly points of context
precede the window. Verified:

```
$ curl -sD- 'https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?...&station=8443970&product=water_level&datum=MLLW&units=metric&time_zone=gmt&format=json'
HTTP/2 200
access-control-allow-origin: *
{"metadata":{"id":"8443970","name":"Boston",...}, "data": [{"t":"2026-09-18 00:00", "v":"1.67", ...}]}
```

License: NOAA/NOS data, US Government work, public domain.

## 3. Mauna Loa CO2 weekly, bundled

`co2_weekly_mlo.f32` / `_meta.json`, 700 weekly points (2013-04-07 to
2026-08-30, ~13.5 years) from `co2_weekly_mlo.csv` -- the drawn window is
still the last 160 weeks (2023-08-13 to 2026-08-30), but 540 weeks of
undrawn history precede it so the model sees several full seasonal cycles
of context (a 160-point/~3-year bundle was giving it about one cycle,
which showed up as a flat forecast at long horizons). Verified:

```
$ curl -sI https://gml.noaa.gov/webdata/ccgg/trends/co2/co2_weekly_mlo.csv
HTTP/1.1 200 OK
access-control-allow-origin: *
```

License: NOAA GML data are public domain; credit NOAA (Xin Lan, Pieter Tans)
and Scripps Institution of Oceanography (Ralph Keeling) per the file's own
header.

## 4. RTE eco2mix national consumption, bundled

`eco2mix_national.f32` / `_meta.json`, 2023-12-09 08:00 to 2023-12-27 23:30
(896 half-hour points), resampled from the dataset's native 15-min rate to
30-min by keeping the `:00`/`:30` timestamps. The drawn window is still the
week 2023-12-20 to 2023-12-27 (Christmas dip inside the horizon), preceded
by exactly 512 undrawn half-hours (~10.7 days) of context. Verified:

```
$ curl -s 'https://odre.opendatasoft.com/api/records/1.0/search/?dataset=eco2mix-national-cons-def&q=date_heure:[2023-12-09T08:00:00Z TO 2023-12-27T23:59:59Z]&rows=2000&sort=date_heure'
HTTP/2 200
{"nhits": 1792, "records": [...]}
```

License: RTE via ODRE (Open Data Reseaux Energies), "Licence Ouverte /
Open Licence" (Etalab v2.0) , free reuse with attribution to RTE.

## 5. USGS river discharge, live

Gauge 01646500 (Potomac River), parameter 00060 (discharge, cfs), 15-min
instantaneous values. The worker requests `period=P9D` (the drawn ~3-day
window plus 512 x 15-min, ~5.3 days, of undrawn context). Verified:

```
$ curl -sD- 'https://waterservices.usgs.gov/nwis/iv/?sites=01646500&parameterCd=00060&period=P1D&format=json'
HTTP/1.1 200
Access-Control-Allow-Origin: *
```

License: USGS data, US Government work, public domain.

## 6. SILSO monthly sunspot number, bundled

`sunspot_monthly.f32` / `_meta.json`, 1950-01 to 2010-12 (732 points) from
`SN_m_tot_V2.0.txt`. The drawn window is still 1996-01 to 2010-12 (180
points), preceded by 552 undrawn months (>512) of context, spanning
several 11-year solar cycles. Verified:

```
$ curl -sI https://www.sidc.be/SILSO/DATA/SN_m_tot_V2.0.txt
HTTP/1.1 200 OK
```

License: CC BY-NC 4.0. Required attribution: "SILSO data/image, Royal
Observatory of Belgium, Brussels."

## 7. METAR temperature at LFPB, live

Paris Le Bourget, hourly `tmpc`, IEM's ASOS archive CGI. The worker fetches
29 days (the drawn ~7-day window plus 512h, ~21.3 days, of undrawn
context). Verified (first attempt hit a transient 503 "server over
capacity", second succeeded):

```
$ curl -sD- 'https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?station=LFPB&data=tmpc&...&format=onlycomma&report_type=3'
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
station,valid,tmpc
LFPB,2026-09-13 00:00,18.00
```

License: public-domain NWS METAR observations, served by the Iowa
Environmental Mesonet (IEM).

## Regenerating the bundled files

```
python3 -m venv .venv && .venv/bin/pip install requests
.venv/bin/python tools/fetch_series.py
```

NOTE: the `co2_weekly_mlo.*` / `eco2mix_national.*` / `sunspot_monthly.*`
files currently in this directory were regenerated by hand (not by
`tools/fetch_series.py`, which lives in the t0-web repo, outside this
worktree) to add the >=512-point undrawn-history margin described above.
`tools/fetch_series.py` itself still produces the old drawn-window-only
sizes and needs the same slicing logic (extra history before each
`window.start`, same end date) ported into it in t0-web so a re-run there
doesn't regress this fix.

Only touches `co2_weekly_mlo.*`, `eco2mix_national.*`, `sunspot_monthly.*` ,
`series.f32` (us_births) is left alone, per its own README note above.
