Skip to content

Add dynamical.org products to status page with source/agency filters#87

Open
mrshll wants to merge 3 commits into
mainfrom
status-dynamical-products
Open

Add dynamical.org products to status page with source/agency filters#87
mrshll wants to merge 3 commits into
mainfrom
status-dynamical-products

Conversation

@mrshll

@mrshll mrshll commented Jun 4, 2026

Copy link
Copy Markdown
Member

Surface our published Icechunk catalog products on /status/ alongside the upstream sources from summary.json:

  • Group rows by model (shared display label); within each group the dynamical.org row leads, then its upstream Source row(s). Model groups with a dynamical.org product sort ahead of source-only models.
  • Source filter (dynamical.org / AWS / NOMADS / DWD) and multi-select Agency filter (NOAA / ECMWF / DWD), combined with AND. Group headings hide when all their rows are filtered out; selections persist to localStorage.
  • Surface ingestion_lag_stats (p50/p95/p99) on dynamical.org rows, falling back to "insufficient data" below 20 samples or while percentiles are null. Per-init ingestion_lag_s added to bar tooltips.

mrshll and others added 2 commits June 4, 2026 18:07
Surface our published Icechunk catalog products on /status/ alongside the
upstream sources from summary.json:

- Group rows by model (shared display label); within each group the
  dynamical.org row leads, then its upstream Source row(s). Model groups
  with a dynamical.org product sort ahead of source-only models.
- Source filter (dynamical.org / AWS / NOMADS / DWD) and multi-select
  Agency filter (NOAA / ECMWF / DWD), combined with AND. Group headings
  hide when all their rows are filtered out; selections persist to
  localStorage.
- Surface ingestion_lag_stats (p50/p95/p99) on dynamical.org rows,
  falling back to "insufficient data" below 20 samples or while
  percentiles are null. Per-init ingestion_lag_s added to bar tooltips.
Reuse the validation report's scroll-spy TOC (lib/markdown-toc.js) to add
a sticky contents rail listing the model groups on /status/. The rail
floats into the left margin on wide viewports and collapses into document
flow on narrow ones, mirroring the validation pages.

- export slugify from markdown-toc and skip display:none headings in the
  scroll-spy so filtered-out groups don't break section tracking
- build the TOC + slugs server-side in _data/wxopticon.js
- give each model heading an id and sync TOC links with the source/agency
  filters so hidden groups drop out of the contents
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 4, 2026

Copy link
Copy Markdown

Deploying dynamical-org with  Cloudflare Pages  Cloudflare Pages

Latest commit: 98f3fe0
Status: ✅  Deploy successful!
Preview URL: https://0bff1aae.dynamical-org.pages.dev
Branch Preview URL: https://status-dynamical-products.dynamical-org.pages.dev

View logs

Drop the client-side 20-sample gate; the backend already nulls the
ingestion_lag_stats percentiles until it has enough samples, so gate
solely on null percentiles.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants