<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="en">
  <title>dynamical.org</title>
  <subtitle>Advancing humanity&#39;s ability to access, understand, and act on accurate weather and climate data.</subtitle>
  <link href="https://dynamical.org/feed/feed.xml" rel="self" />
  <link href="https://dynamical.org/" />
  <updated>2026-07-07T00:00:00Z</updated>
  <id>https://dynamical.org/</id>
  <author>
    <name>dynamical.org</name>
    <email>marshall@dynamical.org</email>
  </author> 
  <entry>
    <title>Knowing the moment a forecast is ready</title>
    <link href="https://dynamical.org/research/when-the-forecast-is-ready/" />
    <updated>2026-07-07T00:00:00Z</updated>
    <id>https://dynamical.org/research/when-the-forecast-is-ready/</id>
    <content
      type="html"
      >&lt;p&gt;Forecast production is a factory assembly line, a fulfillment center, and a delivery route all in one. Lewis Fry Richardson&#39;s Weather Forecasting Factory was not too far off.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://dynamical.org/assets/notes/conlin-1.jpg&quot; alt=&quot;&quot;&gt;&lt;figcaption&gt;“Weather Forecasting Factory” by Stephen Conlin, 1986. Based on the description in Weather Prediction by Numerical Process, by L.F. Richardson, Cambridge University Press, 1922, and on advice from Prof. John Byrne, Trinity College Dublin. Image: ink and water colour, c. 50 x 38.5 cm. © Stephen Conlin 1986. All Rights Reserved ´. (Courtesy: Hendrik Hoffmann, School of Mathematics &amp; Statistics, University College Dublin. &lt;a href=&quot;https://www.emetsoc.org/resources/rff/&quot;&gt;Source&lt;/a&gt;)&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Every dataset in the dynamical.org catalog (so far) is downstream of a model run that
someone else produces on their own cadence. And the initialization is just the beginning (literally and philosophically). Then the files start landing, one by one, eventually
trickling in over tens of minutes (or even hours) rather than appearing all at once. If your
pipeline depends on that data, you have two bad options: pretend you can divine a cron schedule that will &amp;quot;always work,&amp;quot; or poll blindly.&lt;/p&gt;
&lt;p&gt;And to add to that, we had questions like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How often is GEFS full lead time completed &amp;quot;late&amp;quot;?&lt;/li&gt;
&lt;li&gt;What does &amp;quot;late&amp;quot; even mean? What is the spread of the min to the max latencies from init?&lt;/li&gt;
&lt;li&gt;What does the rollout of a forecast look like, file by file, minute by minute?&lt;/li&gt;
&lt;li&gt;How do different delivery routes (read: file destinations) impact latency?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These questions and many more we sought to understand deeply so that the dynamical.org catalog was resilient, low-latency, and designed with minute details about the upstream sources in mind.&lt;/p&gt;
&lt;p&gt;So, we built a tool called &lt;strong&gt;wxopticon&lt;/strong&gt; to remove that guesswork (I pronounce it &amp;quot;waxopticon&amp;quot;, and I say it in a slightly mischievous voice and picture Saruman reaching for the Palantir -- no not THAT Palantir. Oh never mind). It watches upstream weather
sources and dynamical.org&#39;s own catalog stores, and it answers two operational questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;When can I expect lead-group X dataset Y?&lt;/strong&gt; — a next-run countdown learned from observed
arrival history.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is this run on time?&lt;/strong&gt; — per-init status measured against the distribution of prior
arrivals for that product, so &amp;quot;late&amp;quot; means late relative to how this feed
usually behaves.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can see all of this on the &lt;a href=&quot;https://status.dynamical.org/pipeline&quot;&gt;pipeline status page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The second component is a system that enables consumers to create subscriptions (via webhooks, Slack notifications, etc) to meaningful events (e.g. &amp;quot;notify me when IFS ENS progress:f024 is complete&amp;quot; or &amp;quot;notify me when GEFS on AWS is delayed&amp;quot;).&lt;/p&gt;
&lt;h2&gt;What &amp;quot;ready&amp;quot; actually means&lt;/h2&gt;
&lt;p&gt;wxopticon models each run&#39;s progress as a sequence of &lt;strong&gt;readiness boundaries&lt;/strong&gt;.
Rather than a single &amp;quot;done&amp;quot; flag, a run crosses named milestones as its lead
hours become available:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;kind&lt;/th&gt;
&lt;th&gt;fires when&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;started&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;the first file of a run lands (any lead time)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;progress&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;every lead ≤ a lead-group horizon is available (e.g. &lt;code&gt;progress:f240&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;complete&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;the full run is available — you don&#39;t need to know group names&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;delayed&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;the run is still in flight a minute past its expected completion time (p95)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I went back and forth on the correct threshold for &amp;quot;delayed.&amp;quot; Raw p95 turned out to be too harsh: for a very consistent feed the distribution is so tight that p95 sits only slightly above the median, so firing exactly at p95 would page on roughly 1 in 20 perfectly normal runs. So we nudge the trigger just past it — p95 + 1 minute — which keeps ordinary run-to-run variation quiet and lets only genuinely stalled runs cross the line. I still think it could be an area where further tweaks are needed. As we roll out our own &lt;a href=&quot;https://dynamical.org/sla&quot;&gt;SLA&lt;/a&gt;, we will treat delayed for dynamical.org as a commitment rather than being driven by historical stats.&lt;/p&gt;
&lt;h2&gt;How it works, briefly&lt;/h2&gt;
&lt;p&gt;wxopticon is a set of stateless functions over a single append-only event log in
object storage. There is no database — &lt;strong&gt;the log is the source of truth&lt;/strong&gt;, and
everything else (the dashboard, on-timedness, the readiness milestones) is a
pure replay of it.&lt;/p&gt;
&lt;p&gt;A lean detection scan runs every two minutes: it replays the log to find the runs
still expected, probes their upstream locations, appends any new state
transitions, and fans each new milestone out to subscribers. A separate
summarize pass runs every five minutes to refresh the status feed and seed
&amp;quot;delayed&amp;quot; signals. For products with a notification stream (e.g. AWS SNS), a
continuous listener catches arrivals within seconds instead of waiting for the
next scan.&lt;/p&gt;
&lt;p&gt;Because the derived state is always a replay of the log, the same milestone can
never be reported inconsistently across the webhook feed, the polling feed, and
the dashboard — they are three views of one computation.&lt;/p&gt;
&lt;h2&gt;What a year of arrivals actually looks like&lt;/h2&gt;
&lt;p&gt;Because every arrival is in the log, we can replay a whole year of it. Over the
last 365 days wxopticon recorded roughly &lt;strong&gt;1.8 million file arrivals across about
8,700 runs&lt;/strong&gt; of thirteen upstream feeds.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A run arrives over time, not in an instant.&lt;/strong&gt; The moment a run &lt;em&gt;starts&lt;/em&gt; and the
moment it&#39;s &lt;em&gt;complete&lt;/em&gt; can be hours apart, and the shape of that arrival looks
different for every model.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://dynamical.org/assets/notes/arrival-staircase.png&quot; alt=&quot;Scatter plots for four models, each point a forecast file positioned by its forecast hour (vertical) against hours after init time (horizontal). GFS traces a long diagonal, HRRR a tight one, GEFS two slopes with a plateau, AIFS a near-vertical band.&quot;&gt;&lt;figcaption&gt;Every file found over the last year, by forecast hour and how long after init time it landed; the dark line is the per-lead median. GFS trickles its 16-day run in over about two hours; HRRR&#39;s 48 hours land in a tight climb between roughly 50 and 110 minutes; GEFS races out to day 16, pauses, then delivers its 35-day tail in a burst almost a day later; AIFS drops its entire 15-day run in a single ~1-hour window. (A few files with rewritten upstream timestamps are clipped from view.)&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;This is why &amp;quot;ready&amp;quot; is a set of boundaries rather than one flag — a short-range
consumer can start the instant the early leads land, hours before the archival
tail shows up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The feeds are punctualish!&lt;/strong&gt; Measured from init time to the last file of the run, the median completion runs about 1h47m for HRRR, 3h37m for DWD&#39;s ICON-EU, 5h15m for AIFS, 5h22m for GFS, and a full ~26h for GEFS&#39;s 35-day run.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://dynamical.org/assets/notes/time-to-complete.png&quot; alt=&quot;A dumbbell chart ranking thirteen feeds by time from init to a complete run, from HRRR near two hours to GEFS 35-day near 26 hours, each showing median, 95th and 99th percentile.&quot;&gt;&lt;figcaption&gt;Time from init time to a complete run: median (filled) through the 95th to the 99th percentile (open circle). The striking part is how narrow most of these ranges are.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;GFS completes within a 13-minute band from its median to its 99th percentile, run after run. Regularity is exactly what makes a learned next-run expectation meaningful. A &amp;quot;late&amp;quot; signal is useful because on-time is so consistent.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When a run is slow, it&#39;s the rare exception.&lt;/strong&gt; The clearest case is ECMWF&#39;s
AIFS-ENS: its median run finishes in 5h57m, but its slowest one percent of runs
stretch past 13 hours. The value isn&#39;t the common run, which is boringly regular; it&#39;s catching the handful each year that stall, and the four runs — out of roughly 8,700, a 99.95% completion rate — that never completed.&lt;/p&gt;
&lt;p&gt;One last thing the log settles: &lt;strong&gt;how far the cloud copy lags.&lt;/strong&gt; Every NOAA model
is disseminated through both NOAA&#39;s NOMADS server and a range of cloud providers (S3, GCS, Azure, and others, via NOAA&#39;s
Open Data Dissemination program), and a consumer might read whichever it sees first (we, for example, blend our reads across sources in an attempt to optimize and roll with NOMADS rate limits).&lt;/p&gt;
&lt;p&gt;For GFS, NOMADS is always first. Across roughly 75,000 files carrying the same
forecast hour, the S3 copy trailed NOMADS by a median of about a minute and a half
and never once led it — the cost of the extra ingest hop into the cloud. So the
earliest a run is actually obtainable is its NOMADS timestamp, and that&#39;s the
baseline wxopticon measures arrival against.&lt;/p&gt;
&lt;h2&gt;Subscribing: signed webhooks&lt;/h2&gt;
&lt;p&gt;If you can expose an inbound HTTP endpoint, webhooks are the lowish-latency path:
seconds after arrival for NODD push products, at most one cycle for
everything else. wxopticon POSTs you a signed JSON body the moment a run crosses
a boundary you&#39;ve subscribed to:&lt;/p&gt;
&lt;pre class=&quot;language-json&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;event_id&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;noaa-gfs/external-noaa-gfs-aws/2026-06-10T06:00Z/complete&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;group_id&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;noaa-gfs&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;product_id&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;external-noaa-gfs-aws&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;product_label&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;NOAA GFS forecast (AWS)&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;init_time&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;2026-06-10T06:00:00Z&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;kind&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;complete&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;occurred_at&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;2026-06-10T11:12:04Z&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Every event carries a human-readable &lt;code&gt;product_label&lt;/code&gt; (with the AWS/NOMADS source
badge baked in), and &lt;code&gt;progress&lt;/code&gt;/&lt;code&gt;complete&lt;/code&gt;/&lt;code&gt;delayed&lt;/code&gt; events add a &lt;code&gt;lead_group&lt;/code&gt;
and &lt;code&gt;lead_group_label&lt;/code&gt; naming the horizon they concern — so a payload reads on
its own without a lookup table.&lt;/p&gt;
&lt;p&gt;Every delivery is signed (&lt;code&gt;X-Wxopticon-Signature&lt;/code&gt;), retried with backoff on
failure, and stable per boundary. Subscriptions are managed at
&lt;a href=&quot;https://status.dynamical.org/webhooks&quot;&gt;status.dynamical.org/webhooks&lt;/a&gt;; access
is currently allowlisted, so &lt;a href=&quot;mailto:feedback@dynamical.org&quot;&gt;get in touch&lt;/a&gt; if
you&#39;d like to try it. You can even attach a small sandboxed Python function that runs
against the just-arrived dataset and shapes the payload or filters out deliveries you don&#39;t want.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://dynamical.org/assets/notes/wxopticon-slack.png&quot; alt=&quot;A Slack channel showing a wxopticon boundary notification delivered through an incoming webhook, with the run&#39;s product, init time, and the milestone it crossed.&quot;&gt;&lt;figcaption&gt;wxopticon also supports Slack-style incoming webhooks, so boundaries can land straight in a channel.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2&gt;Prefer polling? The status feed&lt;/h2&gt;
&lt;p&gt;Not every consumer can accept inbound requests. For those of you who hear the soft footfall of the IT team plodding imperceptibly, but threateningly, in the distance -- coming closer, ever closer at the mention of &lt;em&gt;webhooks&lt;/em&gt;, wxopticon publishes the same
events as a single JSON file you fetch on your own schedule, with no subscription or auth:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://assets.dynamical.org/wxopticon/feed.json&quot;&gt;https://assets.dynamical.org/wxopticon/feed.json&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It&#39;s a product-keyed snapshot. Each product carries its most recent runs, and
every run nests the same discrete events a webhook would deliver:&lt;/p&gt;
&lt;pre class=&quot;language-json&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;generated_at&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;2026-06-10T09:45:00+00:00&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;products&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&quot;external-noaa-gfs-aws&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&quot;label&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;NOAA GFS (AWS)&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token property&quot;&gt;&quot;runs&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;&quot;init_time&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;2026-06-10T06:00:00+00:00&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;&quot;status&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;processing&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&quot;completion_pct&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0.62&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;token property&quot;&gt;&quot;events&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;&quot;event_id&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;noaa-gfs/external-noaa-gfs-aws/2026-06-10T06:00Z/progress/f240&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&quot;group_id&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;noaa-gfs&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;&quot;product_id&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;external-noaa-gfs-aws&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&quot;product_label&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;NOAA GFS forecast (AWS)&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&quot;kind&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;progress&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;&quot;lead_group&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;f240&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;&quot;lead_group_label&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;10d&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
              &lt;span class=&quot;token property&quot;&gt;&quot;occurred_at&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;2026-06-10T09:41:03Z&quot;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The events are identical to what a webhook carries (minus the subscription id),
so the client logic is the same: select the products you care about, and dedupe
on &lt;code&gt;event_id&lt;/code&gt; across polls. The file is refreshed each five-minute cycle and
served with &lt;code&gt;Cache-Control: max-age=5, stale-while-revalidate=10&lt;/code&gt;, so feel free to slam it.&lt;/p&gt;
&lt;h2&gt;Where to go from here&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Watch the pipeline live: &lt;a href=&quot;https://status.dynamical.org/pipeline&quot;&gt;status.dynamical.org/pipeline&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Poll the feed: &lt;a href=&quot;https://assets.dynamical.org/wxopticon/feed.json&quot;&gt;assets.dynamical.org/wxopticon/feed.json&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Manage webhook subscriptions: &lt;a href=&quot;https://status.dynamical.org/webhooks&quot;&gt;status.dynamical.org/webhooks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;wxopticon is a living, but experimental piece of our infrastructure. If there&#39;s a source you&#39;d like us to watch, or a boundary you wish you could subscribe to, &lt;a href=&quot;mailto:feedback@dynamical.org&quot;&gt;let us know&lt;/a&gt;.&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>AIFS ENS and validation reports</title>
    <link href="https://dynamical.org/updates/2026-06-01/" />
    <updated>2026-06-01T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2026-06-01/</id>
    <content
      type="html"
      >&lt;p&gt;I was tempted, but alas Gefs (short for Gefsfry) did not make the cut for the name of my newborn son. He&#39;s here and everyone is healthy - so I&#39;m getting back to it. Some catch-up:&lt;/p&gt;
&lt;h2&gt;ECMWF AIFS ENS forecast&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://dynamical.org/assets/catalog-thumbnails/ecmwf-aifs-ens-forecast.jpg&quot; alt=&quot;ECMWF AIFS ENS&quot;&gt;&lt;/p&gt;
&lt;p&gt;The ensemble sibling to AIFS Single is now in the catalog. &lt;a href=&quot;https://dynamical.org/catalog/ecmwf-aifs-ens-forecast/&quot;&gt;ECMWF AIFS ENS&lt;/a&gt;: 15-day global forecasts at 0.25°, 6-hourly steps, 51 members, updating every 6 hours. Archive starts 2025-07-02.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dynamical.org/catalog/ecmwf-aifs-ens-forecast/&quot;&gt;Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.opendata.aws/dynamical-ecmwf-aifs-ens/&quot;&gt;AWS Registry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://app.earthmover.io/dynamical/ecmwf-aifs-ens-forecast&quot;&gt;Earthmover Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://source.coop/dynamical/ecmwf-aifs-ens-forecast&quot;&gt;Source Coop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/9dDTeUQXmKE&quot;&gt;Release trailer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Validation reports&lt;/h2&gt;
&lt;p&gt;Did you know Alden has knuckle tats? They spell&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; ┌─┬─┬─┬─┐   ┌─┬─┬─┬─┐
 │R│I│G│O│   │R│O│U│S│
 └┬┴┬┴┬┴┬┘   └┬┴┬┴┬┴┬┘
  │ │ │ │     │ │ │ │
══╧═╧═╧═╧══ ══╧═╧═╧═╧══
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To live up to the knuckles, we are adding &lt;strong&gt;in-depth validation reports&lt;/strong&gt; to each catalog entry. For each variable, you get three views: a null-fraction trace over time (so you can see any gaps in the archive at a glance), side-by-side spatial maps comparing our dataset against analysis at a sample timestamp, and time-series comparisons at two random geographic points. The spatial plots also include a value-distribution histogram so you can see at a glance whether the numbers look right.&lt;/p&gt;
&lt;p&gt;Find it linked from each catalog page, or go directly — e.g. &lt;a href=&quot;https://dynamical.org/catalog/ecmwf-aifs-ens-forecast/validation/&quot;&gt;ECMWF AIFS ENS forecast validation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We are in the process of backfilling these for existing data products and we would LOVE your feedback!&lt;/p&gt;
&lt;p&gt;These are one layer of a broader validation process that runs automatically as each dataset updates. The goal is to give us (and you) enough visibility into the data that you can trust it before you build on it.&lt;/p&gt;
&lt;h2&gt;On the AWS blog&lt;/h2&gt;
&lt;p&gt;If you&#39;ve ever wondered why we started with the data products that make up our catalog, check out my blog post on the AWS Public Sector Blog: &lt;a href=&quot;https://aws.amazon.com/blogs/publicsector/what-if-swapping-your-weather-model-was-boring-how-dynamical-org-is-making-ai-weather-forecasting-accessible-on-aws/&quot;&gt;What if swapping your weather model was boring?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;AWS Open Data has been an incredible partner as we&#39;ve gotten dynamical.org up and running!&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Enjoy the &lt;a href=&quot;https://www.youtube.com/watch?v=J_7R80b8QFo&quot;&gt;weather&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>Time 2 Chunk (2.0), DWD ICON-EU, status for weather</title>
    <link href="https://dynamical.org/updates/2026-04-24/" />
    <updated>2026-04-24T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2026-04-24/</id>
    <content
      type="html"
      >&lt;p&gt;Listen, my second child is arriving any minute now. This transmission will be brief. I haven&#39;t decided if I will name him Poseidon, Gefs, or Turbulence.&lt;/p&gt;
&lt;h2&gt;Zarr v3 deprecation&lt;/h2&gt;
&lt;p&gt;We&#39;re all-in on Icechunk. Our existing Zarr v3 datasets will continue updating for 90 days, at which point we will sunset them. Consider them deprecated and &lt;strong&gt;update to use our Icechunk Zarrs by July 23, 2026&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Speaking of which&lt;/h2&gt;
&lt;p&gt;The new access pattern:&lt;/p&gt;
&lt;h3&gt;Via dynamical-catalog&lt;/h3&gt;
&lt;pre class=&quot;language-python&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; dynamical_catalog

&lt;span class=&quot;token comment&quot;&gt;# Open a dataset as an xarray Dataset via its Icechunk repository&lt;/span&gt;
ds &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; dynamical_catalog&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;noaa-gfs-forecast&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To more easily ensure the right set of dependencies and to make an increasingly variable set of opening incantations more accessible, we made a python library to list and open datasets.&lt;/p&gt;
&lt;pre class=&quot;language-python&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; dynamical_catalog

&lt;span class=&quot;token comment&quot;&gt;# List all available datasets&lt;/span&gt;
dynamical_catalog&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;# Get the underlying Zarr store if you want even more control&lt;/span&gt;
store &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; dynamical_catalog&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;get_store&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;noaa-gfs-forecast&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
ds &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; xr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;open_zarr&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;store&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Via STAC&lt;/h3&gt;
&lt;p&gt;We are STAC-maxxers now. &lt;a href=&quot;https://stac.dynamical.org/catalog.json&quot;&gt;https://stac.dynamical.org/catalog.json&lt;/a&gt; contains ALL of the data used to create our documentation and drive the dynamical-catalog library. Point your robots at it for all the documentation they need to get going. STAC-as-skill.&lt;/p&gt;
&lt;h2&gt;ICON-EU&lt;/h2&gt;
&lt;p&gt;Deutscher Wetterdienst&#39;s &lt;a href=&quot;https://dynamical.org/catalog/dwd-icon-eu-forecast-5-day/&quot;&gt;ICON-EU&lt;/a&gt; is now a cloud-optimized, live-updating Icechunk 2.0 Zarr. High-resolution 5-day forecasts over Europe, nested from DWD&#39;s global ICON model, at the 00/06/12/18 UTC cycles.&lt;/p&gt;
&lt;p&gt;What makes this one extra fun: as far as we can tell, &lt;strong&gt;no other public archive of ICON-EU exists&lt;/strong&gt;. DWD only keeps a short rolling window on their own servers, so we&#39;ll keep growing the archive from here.&lt;/p&gt;
&lt;p&gt;Huge thanks to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/jackkelly0/&quot;&gt;Jack Kelly&lt;/a&gt; from &lt;a href=&quot;https://openclimatefix.org/&quot;&gt;Open Climate Fix&lt;/a&gt; for getting this off the ground and hoarding forecasts to kickstart the archive and to the &lt;a href=&quot;https://www.mcgovern.org/&quot;&gt;Patrick J McGovern Foundation&lt;/a&gt; for supporting their work.&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;https://www.dwd.de/EN/ourservices/opendata/opendata.html&quot;&gt;DWD Open Data&lt;/a&gt; program&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://source.coop/&quot;&gt;Source Cooperative&lt;/a&gt; for hosting the upstream grib archive&lt;/li&gt;
&lt;li&gt;AWS Open Data for the Icechunk storage&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Find it at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dynamical.org/catalog/dwd-icon-eu-forecast-5-day/&quot;&gt;Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.opendata.aws/dynamical-dwd-icon-eu/&quot;&gt;AWS Registry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://app.earthmover.io/marketplace/69eae67968ef2387158671a1&quot;&gt;Earthmover Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://source.coop/dynamical/dwd-icon-eu-forecast-5-day&quot;&gt;Source Coop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=5iVzJ35Ojfk&quot;&gt;The over-the-top release vid&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Enjoy the &lt;a href=&quot;https://www.youtube.com/watch?v=CEeCziXT2FE&quot;&gt;weather&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>dynamical.org - icechunk 2.0 upgrade cometh</title>
    <link href="https://dynamical.org/updates/2026-04-17/" />
    <updated>2026-04-17T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2026-04-17/</id>
    <content
      type="html"
      >&lt;p&gt;Short one today — a quick housekeeping note for anyone pulling from our icechunk data products.&lt;/p&gt;
&lt;p&gt;Icechunk 2 is &lt;a href=&quot;https://www.earthmover.io/blog/announcing-icechunk-2-better-consistency-performance-and-reliability-for-tensor-storage&quot;&gt;out&lt;/a&gt;! If you&#39;re using our datasets via Icechunk, please &lt;strong&gt;update your Python library before Thursday April 24&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pip install icechunk --upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;uv add icechunk --upgrade
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Note that &lt;strong&gt;icechunk 2 requires Python 3.12 or higher.&lt;/strong&gt; If you&#39;re on an older runtime, now&#39;s the time to bump it.&lt;/p&gt;
&lt;p&gt;We&#39;ll be targeting the v2 format going forward.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Enjoy the &lt;a href=&quot;https://www.youtube.com/watch?v=McjFepEpcBE&amp;amp;list=RDMcjFepEpcBE&quot;&gt;weather&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>Rain, radar, and reckless optimism.</title>
    <link href="https://dynamical.org/updates/2026-03-31/" />
    <updated>2026-04-01T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2026-03-31/</id>
    <content
      type="html"
      >&lt;p&gt;Salutations, wxers. To balance out all the April 1 corporate tomfoolery I&#39;m going to be less of a goofball today. Let&#39;s see if I can keep it STRICTLY BUSINESS.&lt;/p&gt;
&lt;p&gt;Lots to report since my last update. The dynamical(.org) core is a-running.&lt;/p&gt;
&lt;h2&gt;ECMWF AIFS Single forecast&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://dynamical.org/assets/catalog-thumbnails/ecmwf-aifs-single-forecast.jpg&quot; alt=&quot;ECMWF AIFS&quot;&gt;&lt;/p&gt;
&lt;p&gt;The AI weather model from the European Centre has entered the catalog. ECMWF&#39;s &lt;a href=&quot;https://dynamical.org/catalog/ecmwf-aifs-single-forecast/&quot;&gt;AIFS Single&lt;/a&gt; — 15-day global forecasts at 0.25°, 6-hourly steps, live updating. This is the single-trace (deterministic-ish?) run of ECMWF&#39;s machine learning forecast system.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dynamical.org/catalog/ecmwf-aifs-single-forecast/&quot;&gt;Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.opendata.aws/dynamical-ecmwf-aifs-single/&quot;&gt;AWS Registry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://app.earthmover.io/marketplace/69cad4f4209facf5e7b737ac&quot;&gt;Earthmover Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://source.coop/dynamical/ecmwf-aifs-single-forecast&quot;&gt;Source Coop&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And of course, don&#39;t miss the release trailer: &lt;a href=&quot;https://www.youtube.com/watch?v=mGVxxcKnhxo&quot;&gt;Youtube&lt;/a&gt; | &lt;a href=&quot;https://www.linkedin.com/posts/marshallmoutenot_we-did-it-chat-ecmwf-aifs-single-forecast-activity-7445093619755061248-FMaD&quot;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;NOAA MRMS&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://dynamical.org/assets/catalog-thumbnails/noaa-mrms-conus-analysis-hourly.jpg&quot; alt=&quot;NOAA MRMS&quot;&gt;&lt;/p&gt;
&lt;p&gt;New CONUS RADAR dataset! &lt;a href=&quot;https://dynamical.org/catalog/noaa-mrms-conus-analysis-hourly/&quot;&gt;MRMS&lt;/a&gt; is Multi-Radar Multi-Sensor — NOAA&#39;s merged radar and gauge precipitation analysis over CONUS, hourly, back to late 2014. If you&#39;ve ever wanted to answer &amp;quot;how much did it actually rain here, at this exact hour&amp;quot; without downloading 47 files from 3 different FTP servers... this is for you.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dynamical.org/catalog/noaa-mrms-conus-analysis-hourly/&quot;&gt;Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.opendata.aws/dynamical-noaa-mrms/&quot;&gt;AWS Registry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://app.earthmover.io/marketplace/69b17d6d9b47e3348aeb99dc&quot;&gt;Earthmover Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://source.coop/dynamical/noaa-mrms-conus-analysis-hourly&quot;&gt;Source Coop&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Release trailer: &lt;a href=&quot;https://www.youtube.com/watch?v=Szhqxu0fFJU&quot;&gt;Youtube&lt;/a&gt; | &lt;a href=&quot;https://www.linkedin.com/posts/marshallmoutenot_noaas-multi-radarmulti-sensor-system-activity-7442644980525047808-hFyg&quot;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;CHILL&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://dynamical.org/assets/requests_2026-04-01.png&quot; alt=&quot;Requests per month&quot;&gt;&lt;/p&gt;
&lt;p&gt;We passed the 100M monthly request mark. And then we passed the 200M monthly request mark. Which is either a sign that the data is useful or that three of you are running massive &lt;strong&gt;autoresearch.md&lt;/strong&gt; deployments.&lt;/p&gt;
&lt;p&gt;Either way, it&#39;s exciting and we appreciate everyone who&#39;s sent us what you&#39;re building!&lt;/p&gt;
&lt;h2&gt;dynamical-catalog python library&lt;/h2&gt;
&lt;p&gt;We&#39;re testing a simple Python library: &lt;a href=&quot;https://github.com/dynamical-org/dynamical-catalog&quot;&gt;dynamical-catalog&lt;/a&gt;. The idea is to make discovery and loading even simpler — browse the catalog, pick a dataset, and get an xarray Dataset or Store back without copy-pasting URLs. We&#39;ll handle picking the best Store backend. It&#39;s early days. If you try it, let us know what breaks.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Enjoy the &lt;a href=&quot;https://www.youtube.com/watch?v=QpA763tzcwE&quot;&gt;weather&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>Warmer temps, datasets heating up.</title>
    <link href="https://dynamical.org/updates/2026-03-10/" />
    <updated>2026-03-10T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2026-03-10/</id>
    <content
      type="html"
      >&lt;p&gt;It&#39;s Spring and unlike hobbits (I&#39;m reading LOTR), who would be thinking about gardens and second breakfast and whether Farmer Maggot&#39;s mushroom crop will come in early, we are staring at grib files. Just kidding, we are walking outside enjoying the warm weather ... while talking on the &lt;em&gt;phone&lt;/em&gt; about grib files.&lt;/p&gt;
&lt;p&gt;We&#39;ve been busy with a whole load of updates.&lt;/p&gt;
&lt;h2&gt;GFS analysis is live&lt;/h2&gt;
&lt;p&gt;Our old &lt;code&gt;noaa-gfs-analysis-hourly&lt;/code&gt; was our &amp;quot;Hello World&amp;quot; — 4 variables, static, Zarr v2.&lt;/p&gt;
&lt;p&gt;It has been given a lovely retirement party and replaced with the new &lt;a href=&quot;https://dynamical.org/catalog/noaa-gfs-analysis/&quot;&gt;GFS analysis&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Live!&lt;/strong&gt; (not static)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;21 variables&lt;/strong&gt; (up from 4)&lt;/li&gt;
&lt;li&gt;Available in &lt;strong&gt;Zarr v3 and Icechunk&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Spatial domain&lt;/td&gt;
&lt;td&gt;Global&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spatial resolution&lt;/td&gt;
&lt;td&gt;0.25°&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time resolution&lt;/td&gt;
&lt;td&gt;1 hour&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;HRRR analysis back to 2014&lt;/h2&gt;
&lt;p&gt;Four more sweet years. High Resolution Rapid Refresh has been retroactively retained through repeated re-retrieval - and now, re-released for a more uh... robust retrospective.&lt;/p&gt;
&lt;p&gt;It previously started in 2018 and now reaches back to &lt;a href=&quot;https://dynamical.org/catalog/noaa-hrrr-analysis/&quot;&gt;2014&lt;/a&gt;. The early years (HRRR v1/v2 era) have more missing source files — NaN values where data are unavailable — but that&#39;s the archaeology tax.&lt;/p&gt;
&lt;p&gt;Icechunk note: we&#39;ve updated to v0.2.0. Please point your code at &lt;code&gt;noaa-hrrr-analysis/v0.2.0.icechunk/&lt;/code&gt;.  We&#39;ll be stopping updates to v0.1.0 on 2026-03-19 and removing the archive after that.&lt;/p&gt;
&lt;h2&gt;More variables&lt;/h2&gt;
&lt;p&gt;By popular demand we&#39;ve been adding variables to existing datasets. ECMWF, GEFS, and HRRR have all received new variables recently. We drew the line at &lt;code&gt;will_the_sports_be_cancelled_2m&lt;/code&gt; and &lt;code&gt;ideal_dog_walk_surface&lt;/code&gt; but almost everything else is in there. Check the catalog pages for the full list.&lt;/p&gt;
&lt;h2&gt;Experimental ASOS GeoParquet&lt;/h2&gt;
&lt;p&gt;I tried (and tried [and tried]) to find a good [citation needed] open source of obs once ISD was decomissioned and GHCNh made me want to cry enough tears to register on the precip gauge. Alas.&lt;/p&gt;
&lt;p&gt;Those tireless little weather stations at airports across the US are available as a GeoParquet dataset. 1940ish to present. This is our first non-model dataset and it&#39;s 100% experimental, but it updates every hour and it&#39;s what the &lt;a href=&quot;https://dynamical.org/scorecard&quot;&gt;scorecard&lt;/a&gt; is built on.&lt;/p&gt;
&lt;h2&gt;DWD ICON-EU grib archive&lt;/h2&gt;
&lt;p&gt;As a first step towards cloud-optimized ICON-EU Zarrs, we&#39;ve started archiving DWD&#39;s gribs on &lt;a href=&quot;https://source.coop/dynamical/dwd-icon-grib&quot;&gt;Source Coop&lt;/a&gt; — DWD only maintains a short rolling window on their servers, so someone had to hoard them. Data hoarding is our North Star!&lt;/p&gt;
&lt;p&gt;Big thanks to &lt;a href=&quot;https://www.linkedin.com/in/jackkelly0/&quot;&gt;Jack Kelly&lt;/a&gt; of &lt;a href=&quot;https://openclimatefix.org/&quot;&gt;Open Climate Fix&lt;/a&gt; for leading this effort and to the &lt;a href=&quot;https://www.mcgovern.org/&quot;&gt;Patrick J McGovern Foundation&lt;/a&gt; for supporting the work.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Enjoy the &lt;a href=&quot;https://www.youtube.com/watch?v=3lQkGDiw-5w&quot;&gt;weather&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>January cornucopia: AMS | HRRR analysis | more</title>
    <link href="https://dynamical.org/updates/2026-01-23/" />
    <updated>2026-01-23T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2026-01-23/</id>
    <content
      type="html"
      >&lt;p&gt;What say the pantheon of forecasts? Shall AMS travel be a disaster?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As the flakes that fall thick upon a winter&#39;s day, when Zeus is minded to snow and to display these his arrows to humankind - he lulls the wind to rest, and snows hour after hour till he has buried the tops of the high mountains, the headlands that jut into the sea, the grassy plains, and the tilled fields of men...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Find Alden @ AMS&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&amp;quot;What Happens When Weather Data is Easy to Use?&amp;quot;&lt;/em&gt;. Join Alden during the Environmental Data Access and Its Future: Open Data for Open Science Session on &lt;strong&gt;Monday, January 26 at 2:15 PM CT&lt;/strong&gt; to explore how accessible weather data transforms research, operations, and decision-making across the atmospheric sciences community. Shoot him an &lt;a href=&quot;mailto:alden@dynamical.org&quot;&gt;email&lt;/a&gt; if you want to meet up and chat!&lt;/p&gt;
&lt;h2&gt;HRRR analysis&lt;/h2&gt;
&lt;p&gt;HRRR analysis (2018-09-16 to present) is now available in the &lt;a href=&quot;https://dynamical.org/catalog/noaa-hrrr-analysis/&quot;&gt;catalog&lt;/a&gt;, including the Icechunk preview.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.linkedin.com/posts/marshallmoutenot_hrrr-analysis-is-live-on-dynamicalorg-activity-7417616473172594688-NkTd?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAAOgBWEBfMMmd2xB6DueOM-OrcPrj2eIBlM&quot;&gt;Launch trailer&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Spatial domain&lt;/td&gt;
&lt;td&gt;Continental United States&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spatial resolution&lt;/td&gt;
&lt;td&gt;3 km&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time domain&lt;/td&gt;
&lt;td&gt;2018-09-16 00:00:00 UTC to Present&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time resolution&lt;/td&gt;
&lt;td&gt;1 hour&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img src=&quot;https://dynamical.org/assets/hrrr_analysis_precipitation_surface_example.png&quot; alt=&quot;A screenshot from a notebook showing a precipitation analysis using HRRR analysis&quot;&gt;&lt;/p&gt;
&lt;h2&gt;Icechunk catalog parity party&lt;/h2&gt;
&lt;p&gt;Icechunk previews for our datasets are now listed on the &lt;a href=&quot;https://registry.opendata.aws/?search=managedBy:dynamical.org&quot;&gt;Registry of Open Data on AWS&lt;/a&gt;! Check out the Icechunk example usage in our docs for IFS ENS, GEFS, GFS, and HRRR forecasts to get started. With the addition of GEFS forecast and analysis &lt;strong&gt;we now have an identical, live updating Icechunk Zarr for all live updating standard Zarr v3 datasets in our catalog!&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;Earthmover Marketplace&lt;/h2&gt;
&lt;p&gt;The &amp;quot;Union of Organizations Concerned That Earth Data Is Generally Too Hard To Work With&amp;quot; (still workshopping this title, but it has a good &lt;em&gt;ring&lt;/em&gt; to it) just became more powerful - Earthmover launched their &lt;a href=&quot;https://earthmover.io/marketplace&quot;&gt;Marketplace&lt;/a&gt;. (Congrats team)&lt;/p&gt;
&lt;p&gt;And the aforementioned dynamical.org Icechunk catalog is within!&lt;/p&gt;
&lt;h2&gt;Steering committee minutes&lt;/h2&gt;
&lt;p&gt;Shrouded in mystery and intrigue, the steering committee guides the helm from the shadows. To lift the veil is to challenge authority itself, and... hm? What&#39;s that? The meeting notes are public?! Oh.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dynamical.org/meetings/steering_committee_2025-09-03&quot;&gt;Q3 Steering Committee notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dynamical.org/meetings/steering_committee_2025-12-03&quot;&gt;Q4 Steering Committee notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Shout out to all the contributors to cf_xarray which both a) now works great with our datasets and b) is part of our test suite to ensure all new datasets are CF compliant from the start. Thanks to our steering committee for guiding us towards more interoperable standards.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=2RNTrXziblQ&quot;&gt;Stay warm, safe travels.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>Preview of dynamical.org Icechunk Zarrs are now listed on the Registry of Open Data on AWS!</title>
    <link href="https://dynamical.org/updates/2026-01-08/" />
    <updated>2026-01-08T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2026-01-08/</id>
    <content
      type="html"
      >&lt;p&gt;Check out the Icechunk example usage in our docs for &lt;a href=&quot;https://dynamical.org/catalog/ecmwf-ifs-ens-forecast-15-day-0-25-degree/&quot;&gt;IFS ENS&lt;/a&gt;, &lt;a href=&quot;https://dynamical.org/catalog/noaa-gfs-forecast/&quot;&gt;GFS&lt;/a&gt;, and &lt;a href=&quot;https://dynamical.org/catalog/noaa-hrrr-forecast-48-hour/&quot;&gt;HRRR&lt;/a&gt; forecasts to get started or browse these datasets on the &lt;a href=&quot;https://registry.opendata.aws/?search=managedBy:dynamical.org&quot;&gt;Registry of Open Data on AWS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Why Icechunk?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Consistent reads every time.&lt;/strong&gt; Updating a standard Zarr while users are reading it requires extreme care. Icechunk handles atomic updates correctly, eliminating rare race conditions that can occur during standard Zarr updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reliability and throughput.&lt;/strong&gt; Icechunk is developing features to offer long-term stable dataset URLs. This provides direct access to underlying chunk data for high-throughput reads while allowing us to provide a permanent URL. &lt;strong&gt;Note:&lt;/strong&gt; This feature will be part of the upcoming Icechunk 2.0, so when released dynamical.org will require a change to the access URL.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance with default Python tooling.&lt;/strong&gt; While the storage formats are similar, the Icechunk client is currently faster than default libraries used for traditional Zarrs in python. You get maximum efficiency (comparable to specialized libraries like Obstore) by default.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When Icechunk 2 is released we will make two small breaking changes (and notify you about them here):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;URLs will be updated to stable, long-term URLs&lt;/li&gt;
&lt;li&gt;Icechunk client version 2 will be required&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Special thanks to the &lt;strong&gt;&lt;a href=&quot;https://opendata.aws/&quot;&gt;AWS Open Data Sponsorship Program&lt;/a&gt;&lt;/strong&gt; for supporting the storage and distribution of these datasets.&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>🟢 ECMWF IFS ENS live and updating</title>
    <link href="https://dynamical.org/updates/2025-11-20/" />
    <updated>2025-11-20T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2025-11-20/</id>
    <content
      type="html"
      >&lt;p&gt;Colder temps may be here (where I live, at least), but ensembles are &lt;em&gt;so hot right now&lt;/em&gt;. Can we agree on that? No? Ha ha get it!?&lt;/p&gt;
&lt;p&gt;As of this week The European Centre&#39;s IFS ENS forecast is live and updating in &lt;a href=&quot;https://dynamical.org/catalog/ecmwf-ifs-ens-forecast-15-day-0-25-degree/&quot;&gt;our catalog&lt;/a&gt;. See the catalog for init times, spatiotemporal domain, and the variable list.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dynamical.org/assets/ecmwf_ifs_ens_tmp.png&quot; alt=&quot;ECMWF IFS ENS Temperature_2m 2025-07-09T00_00&quot;&gt;&lt;/p&gt;
&lt;p&gt;I suppose with that HRRR &lt;a href=&quot;https://www.linkedin.com/posts/marshallmoutenot_hrrr-is-live-the-forecast-archive-from-activity-7378448846290575360-dRMZ?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAAOgBWEBfMMmd2xB6DueOM-OrcPrj2eIBlM&quot;&gt;&amp;quot;release trailer&amp;quot;&lt;/a&gt; I&#39;ve signed myself up for something completely unsustainable -- but until that time comes, when the catalog entries cometh faster than I can splice together sci fi video clips... -- ENS has a release trailer &lt;a href=&quot;https://www.linkedin.com/posts/marshallmoutenot_ecmwf-ifs-ens-forecast-is-live-on-dynamicalorg-activity-7396224185951211520-3vy_?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAAOgBWEBfMMmd2xB6DueOM-OrcPrj2eIBlM&quot;&gt;too&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Icechunk&lt;/h1&gt;
&lt;p&gt;Icechunk versions are available to select groups for testing (and will likely be our default in the future). If you want to try them out please respond.&lt;/p&gt;
&lt;p&gt;I&#39;ve actually been a little surprised at the lack of Icechunk inquiries. Are y&#39;all even drinking the cutting edge data format koolaide?!&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Sending from an airship above the clouds. Enjoy the &lt;a href=&quot;https://www.youtube.com/playlist?list=OLAK5uy_lh-6QK6sDCdAE4QLOdU8wjjBOmfWR3M_Y&quot;&gt;weather&lt;/a&gt;. End transmission.&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>Wake up, babe. A new zarr just dropped.</title>
    <link href="https://dynamical.org/updates/2025-09-29/" />
    <updated>2025-09-29T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2025-09-29/</id>
    <content
      type="html"
      >&lt;p&gt;The last time I wrote you all, the summer sweltered, determinism was still alive (now &lt;a href=&quot;https://dynamical.org/podcast/&quot;&gt;it is dead&lt;/a&gt;, and only 11 AI weather papers had been published in Nature (now the total is up to 188,732).&lt;/p&gt;
&lt;p&gt;If I keep it up y&#39;all are never going to take me seriously. But lo, some seriously new stuff!&lt;/p&gt;
&lt;h1&gt;HRRR go brrr&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://assets.dynamical.org/media/hrrr_wind_speed_10m_2025-05-25T00_conus.webp&quot; alt=&quot;HRRR wind speed @ 10m, 2025-05-25&quot;&gt;&lt;/p&gt;
&lt;p&gt;HRRR forecasts are live and updating! Check out the release trailer (lol) &lt;a href=&quot;https://www.linkedin.com/posts/marshallmoutenot_hrrr-is-live-the-forecast-archive-from-activity-7378448846290575360-dRMZ?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAAOgBWEBfMMmd2xB6DueOM-OrcPrj2eIBlM&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Give it a try! It&#39;ll be like that time in high school when you played too much Elder Scrolls Oblivion during a long weekend, and when you finally stepped outside into &lt;em&gt;nature&lt;/em&gt; you thought to yourself &amp;quot;woah, these graphics are incredible.&amp;quot;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dynamical.org/catalog/noaa-hrrr-forecast-48-hour/&quot;&gt;Catalog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Notebook: &lt;a href=&quot;https://github.com/dynamical-org/notebooks/blob/main/noaa-hrrr-forecast-48-hour.ipynb&quot;&gt;Github&lt;/a&gt; | &lt;a href=&quot;https://colab.research.google.com/github/dynamical-org/notebooks/blob/main/noaa-hrrr-forecast-48-hour.ipynb&quot;&gt;Colab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dynamical-org/reformatters/tree/main/src/reformatters/noaa/hrrr&quot;&gt;Reformatter code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A massive thanks to Alden, Tony, Alex and Sam for getting this one out there!&lt;/p&gt;
&lt;h1&gt;Icechunk support&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://assets.buttondown.email/images/e40436c1-8757-411a-90f6-4d939577d0bd.png?w=320&quot; alt=&quot;Screenshot 2025-09-26 at 10.37.38 PM.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;We&#39;ve also launched &lt;s&gt;Earthchunk&lt;/s&gt; &lt;em&gt;Icechunk&lt;/em&gt; versions of the GFS and HRRR forecasts. It&#39;s internal only until we sort out a few final details, but if you&#39;d feel the &lt;em&gt;need for speed&lt;/em&gt; and are prerelease-tolerant let us know and we can hook you up.&lt;/p&gt;
&lt;h1&gt;weathering&lt;/h1&gt;
&lt;p&gt;In case you missed it we have a &lt;a href=&quot;https://dynamical.org/podcast&quot;&gt;podcast&lt;/a&gt; now! We so far have covered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The limits of predictability&lt;/li&gt;
&lt;li&gt;End-to-end data-driven weather prediction (Aardvark Weather)&lt;/li&gt;
&lt;li&gt;The Hybrid Approach (NeuralGCN)&lt;/li&gt;
&lt;li&gt;Efficient AI ensemble forecasts (ECMWF AIFS-CRPS, DeepMind FGN)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;5 papers down, 188,727 to go! No new AI weather papers allowed.&lt;/p&gt;
&lt;h1&gt;Scorecard&lt;/h1&gt;
&lt;p&gt;Hey, wouldn&#39;t you know it. Having stuff in this here catalog makes it easier to build things. I was tired of stats against reanalysis as &amp;quot;truth&amp;quot; so Alden and I hacked out a very simple &lt;a href=&quot;https://dynamical.org/scorecard&quot;&gt;scorecard&lt;/a&gt;. When I say simple, I mean simple. For now it&#39;s just RMSE for 2m temp and precip. Of course, a few weeks after this went live, ISD-lite was killed in favor of GHCN so I gotta flip that over to keep things live-updating! URGH.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://assets.buttondown.email/images/38062496-0e9f-4f28-8d72-5db0922d307d.png?w=300&amp;amp;fit=max&quot; alt=&quot;Screenshot 2025-09-26 at 10.55.44 PM.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;Enjoy the &lt;a href=&quot;https://www.youtube.com/watch?v=RgACAdw_K2I&quot;&gt;weather&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>🟢 GFS is live</title>
    <link href="https://dynamical.org/updates/2025-07-02/" />
    <updated>2025-07-02T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2025-07-02/</id>
    <content
      type="html"
      >&lt;h2&gt;GFS forecasts are live&lt;/h2&gt;
&lt;p&gt;GFS is GEFS&#39; less ambiguous older sibling. The archive is processed and the updater is chugging: 4 years of 16 day forecasts, hourly step, released 4 times a day. GFS might be wrong, but at least it&#39;s confident!&lt;/p&gt;
&lt;p&gt;A note from Alden, Chef de cuisine&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tonight, I&#39;ve prepared for you a dataset I think you will enjoy. Check out the example notebook linked in the &lt;a href=&quot;https://dynamical.org/catalog/noaa-gfs-forecast/&quot;&gt;docs&lt;/a&gt; to make your own interactive animation of an atmospheric river with buttery smooth hourly resolution. The way atmospheric rivers move reminds me of how &lt;a href=&quot;https://publicdomainreview.org/collection/maps-of-the-lower-mississippi-harold-fisk/&quot;&gt;rivers move on land&lt;/a&gt;, only on a time scale of hours not years. Served as a semifreddo with a peach compote.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
    &lt;picture&gt;
        &lt;!-- modern --&gt;
        &lt;source type=&quot;image/webp&quot; srcset=&quot;https://dynamical.org/assets/gfs_atmospheric_river_feb_2024_precipitable_water_atmosphere.webp&quot;&gt;
        &lt;!-- fallback animation --&gt;
        &lt;img src=&quot;https://dynamical.org/assets/gfs_atmospheric_river_feb_2024_precipitable_water_atmosphere.gif&quot; width=&quot;600&quot; alt=&quot;Visual of GFS precipitable water showing atmospheric river&quot; style=&quot;display: inline-block; border: 0;&quot;&gt;
    &lt;/picture&gt;
&lt;/div&gt;
&lt;h2&gt;Steering committee&lt;/h2&gt;
&lt;p&gt;The dynamical.org steering committee met and talked about [1] Data and [2] Things About Data Beyond My Comprehension. &lt;a href=&quot;https://dynamical.org/meetings/steering_committee_2025-06-04&quot;&gt;Read the summary notes&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;podcast&lt;/h2&gt;
&lt;p&gt;Did you catch episode number two of &lt;em&gt;weathering&lt;/em&gt;? This time we talked about Aardvark Weather. As Marta put it: &amp;quot;Where does the end begin? Where does the end end? And what the HELL is happening in the middle?&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dynamical.org/podcast/002&quot;&gt;Check it out&lt;/a&gt;. Like (in your heart) and subscribe (to our obsessions).&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>introducing a new pod; GFS forecasts incoming</title>
    <link href="https://dynamical.org/updates/2025-06-14/" />
    <updated>2025-06-14T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2025-06-14/</id>
    <content
      type="html"
      >&lt;p&gt;Not even my proprietary UniverseCast™ Reality Ensemble Forecast⁺ could have predicted this. The most unlikely of scenarios: A &lt;strong&gt;podcast&lt;/strong&gt;? Yes, a podcast. And it&#39;s called &lt;a href=&quot;https://dynamical.org/podcast&quot;&gt;&lt;strong&gt;Weathering&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We are trying to make sense of the current wave of &lt;em&gt;progress&lt;/em&gt; occurring in weather forecasting.&lt;/p&gt;
&lt;p&gt;Each episode, we focus on a paper or group of papers and try to take a intertextual approach -- clicking on mental hyperlinks to help us understand and put into context. The format is inspired by the only two podcasts I regularly listen to (&lt;a href=&quot;https://futureofcoding.org/&quot;&gt;Future of Coding&lt;/a&gt; and Jed Sundwall&#39;s &lt;a href=&quot;https://techsontexts.net/&quot;&gt;Techs on Texts&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dynamical.org/podcast/001/&quot;&gt;&lt;strong&gt;Episode 001: The limits of predictability&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
Our maiden voyage dives into a fresh-off-the-press paper from the University of Washington: &lt;em&gt;Testing the Limit of Atmospheric Predictability With a Machine Learning Weather Model.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Check it out, and let us know if there&#39;s a paper you think we should cover next.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;In normal dynamical.org news, operational GFS forecasts are landing in the catalog imminently. We previously did an analysis as our first demo, so this will be a nice upgrade to tie the bow on the GEFS/GFS family.&lt;/p&gt;
&lt;p&gt;After that, the catalog will be expanding rapidly! Stay tuned.&lt;/p&gt;
&lt;p&gt;Have a good &lt;a href=&quot;https://youtu.be/ArCrT2mOOuE?feature=shared&quot;&gt;weekend&lt;/a&gt;,&lt;br&gt;
MM&lt;/p&gt;
&lt;p&gt;⁺ Fictional? Or extremely limited access to drive scarcity? You decide.&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>GEFS analysis is live!</title>
    <link href="https://dynamical.org/updates/2025-04-29/" />
    <updated>2025-04-29T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2025-04-29/</id>
    <content
      type="html"
      >&lt;p&gt;Well, technically it&#39;s been live for a few days. Check out our new &lt;a href=&quot;https://dynamical.org/catalog/noaa-gefs-analysis/&quot;&gt;GEFS analysis&lt;/a&gt;, which is derived from the &lt;a href=&quot;https://dynamical.org/catalog/noaa-gefs-forecast-35-day/&quot;&gt;GEFS forecast&lt;/a&gt; catalog item.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://assets.buttondown.email/images/3f8a5ed8-29ca-4b60-88d3-690add9bfa80.png?w=960&amp;amp;fit=max&quot; alt=&quot;image.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;Both are live updating, and the analysis was designed to work easily with the forecast dataset. For example, you can develop your algorithm/model/sentient AI television weatherperson on the analysis, and then deploy it live with the forecast dataset. COOL!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;25+ years of data&lt;/li&gt;
&lt;li&gt;Live updating&lt;/li&gt;
&lt;li&gt;Performance optimized for time series queries&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Striving to create weather data experiences as satisfying as when you peel citrus in one contiguous piece. You know what I mean :)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Enjoy the &lt;a href=&quot;https://www.youtube.com/watch?v=28d_A_NuJ7A&quot;&gt;weather&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>1 Million Requests!</title>
    <link href="https://dynamical.org/updates/2025-03-20/" />
    <updated>2025-03-20T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2025-03-20/</id>
    <content
      type="html"
      >&lt;p&gt;While modest on the scale of Computers, 1M is not bad for our baby’s first week in the world. The gigabytes are flying and we’ve received requests from 51 countries over the last few days. No single person has downloaded the whole dataset, so thank you but also WHAT ARE YOU WAITING FOR?!&lt;/p&gt;
&lt;p&gt;A reminder that the &lt;a href=&quot;https://dynamical.org/catalog/noaa-gefs-forecast-35-day/&quot;&gt;GEFS&lt;/a&gt; dataset is Zarr v3, so don’t forget to update your Xarray&amp;gt;=2025.1.2 which includes v3 support!&lt;/p&gt;
&lt;h2&gt;Let’s make Phase 1 happen (and how you can help)&lt;/h2&gt;
&lt;p&gt;With GEFS complete, we are already working on our next slate of catalog additions. Our Phase 1 will include the following datasets:&lt;/p&gt;
&lt;p&gt;Forecasts&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NOAA GEFS, 35 day, 1x day &lt;em&gt;(we did it)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;NOAA HRRR &lt;em&gt;(Tony is on it!)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;NOAA GFS &lt;em&gt;(Dan is on it!)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;NOAA GEFS, 10 day, 4x day&lt;/li&gt;
&lt;li&gt;ECMWF AIFS&lt;/li&gt;
&lt;li&gt;ECMWF ENS, 15 day, 1x day&lt;/li&gt;
&lt;li&gt;ECCC HRDPS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Analyses&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NOAA GEFS &lt;em&gt;(Alden is on it!)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;ECMWF AIFS&lt;/li&gt;
&lt;li&gt;ECMWF ENS&lt;/li&gt;
&lt;li&gt;NOAA HRRR&lt;/li&gt;
&lt;li&gt;NOAA GFS&lt;/li&gt;
&lt;li&gt;ECCC HRDPS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Three ways you, dear reader, can help:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[1] Financial support&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;We estimate that making&lt;strong&gt; Phase 1 operational &amp;amp; publicly accessible&lt;/strong&gt; will run around $100,000 per year with the cost growing by approximately 30% year over year as the datasets get inevitably larger. Pennies compared to the value, in my humble opinion!&lt;/p&gt;
&lt;p&gt;So… we are seeking our first cohort of sponsors to make these forecasts and analyses a reality. If you belong to an organization that benefits from, and is able to support our work, &lt;strong&gt;we’d love to hear from you&lt;/strong&gt;. Reply to this email to learn more about our plans for fiscal sponsorship.&lt;/p&gt;
&lt;p&gt;[2] &lt;strong&gt;Publicize these datasets as they’re released!&lt;/strong&gt; Tell your coworkers, post on whatever social media we are using these days, tell your parents over dinner, teach your toddler about scones and pancakes.&lt;/p&gt;
&lt;p&gt;[3] &lt;strong&gt;Write code?&lt;/strong&gt; Not quite yet but soon. We are testing to see if our open source code so far is sufficiently clear to have other folks pitch in and write reformatters for new datasets. If all goes well we may solicit help from your big brain.&lt;/p&gt;
&lt;p&gt;Help us out, and especially [1] so that there are NO BLOCKERS, ONLY WEATHER.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=BkimxLUkJwk&quot;&gt;Stay dry&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>About GEFS-fing Time &amp; Introducing Our Steering Committee</title>
    <link href="https://dynamical.org/updates/2025-03-12/" />
    <updated>2025-03-12T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2025-03-12/</id>
    <content
      type="html"
      >&lt;p&gt;Weatherlings, the time has come for our first non-demo release. Weighing in at &lt;strong&gt;115TB&lt;/strong&gt; compressed and &lt;strong&gt;815TB&lt;/strong&gt; (!) uncompressed, GEFS ain’t messing around.&lt;/p&gt;
&lt;p&gt;Last year, we launched &lt;a href=&quot;https://dynamical.org&quot;&gt;dynamical.org&lt;/a&gt; into the world and watched as hundreds of weather data nerds emerged (sublimated?) from the woodwork. Our community has been growing steadily, united by a shared mission to make weather data &lt;em&gt;Spark Joy&lt;/em&gt;.&lt;/p&gt;
&lt;h1&gt;🌎 Introducing NOAA&#39;s Global Ensemble Forecast System (GEFS) 35-Day Forecasts!&lt;/h1&gt;
&lt;p&gt;I am thrilled to announce the latest addition to Dynamical’s catalog: &lt;strong&gt;NOAA&#39;s Global Ensemble Forecast System (GEFS) 35-day forecasts!&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;📦 What&#39;s in the box?&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;The Specs:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Spatial Domain&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Global&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Spatial Resolution&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0-240 hours: 0.25 degrees (~20km), 243-840 hours: 0.5 degrees (~40km)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Time Domain&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Forecasts initialized &lt;strong&gt;2020-10-01 00:00:00 UTC&lt;/strong&gt; to Present&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Time Resolution&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Forecasts initialized every &lt;strong&gt;24 hours&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Forecast Domain&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Forecast lead time &lt;strong&gt;0-840 hours (0-35 days) ahead&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Forecast Resolution&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Forecast step &lt;strong&gt;0-240 hours: 3-hourly&lt;/strong&gt;, 243-840 hours: 6-hourly&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Best of all, it&#39;s &lt;strong&gt;operationally updated with minimal latency&lt;/strong&gt; and available in the &lt;strong&gt;Zarr v3&lt;/strong&gt; format that plants crave:&lt;/p&gt;
&lt;pre class=&quot;language-python&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; xarray &lt;span class=&quot;token keyword&quot;&gt;as&lt;/span&gt; xr

ds &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; xr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;open_dataset&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;https://data.dynamical.org/noaa/gefs/forecast-35-day/latest.zarr?email=optional@email.com&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We are already using this new dataset for R&amp;amp;D at Upstream Tech, and we &lt;strong&gt;can’t wait to hear how you use it!&lt;/strong&gt; We&#39;ve included &lt;a href=&quot;https://dynamical.org/catalog&quot;&gt;documentation and example notebooks&lt;/a&gt; in the catalog entry to get you started. If you hit snags or have feedback, drop us a line at &lt;a href=&quot;mailto:feedback@dynamical.org&quot;&gt;feedback@dynamical.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We’ll be holding our first dynamical.org office hours Thursday Mar 20, 2025 at 10-11am PDT / 1-2pm EDT / 5-6pm UTC. Join &lt;a href=&quot;https://meet.google.com/wtc-jhff-bxn&quot;&gt;this Google Meet&lt;/a&gt; to ask questions or give feedback.&lt;/p&gt;
&lt;hr&gt;
&lt;h1&gt;Introducing Our Steering Committee!&lt;/h1&gt;
&lt;p&gt;We&#39;re excited to announce the formation of the &lt;strong&gt;dynamical.org Steering Committee!&lt;/strong&gt; This dream team will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Advise on &lt;strong&gt;project priorities&lt;/strong&gt; (Which datasets to zarr-ify next?)&lt;/li&gt;
&lt;li&gt;Bridge the gap between &lt;strong&gt;our open-source code and real-world applications&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Shape the future of how we &lt;strong&gt;access and analyze weather and climate data&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Current Members:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Alden Keefe Sampson&lt;/strong&gt; – dynamical.org &amp;amp; Upstream Tech&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jack Kelly&lt;/strong&gt; – Open Climate Fix&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jake Zwart&lt;/strong&gt; – United States Geological Survey&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Joe Hamman&lt;/strong&gt; – Earthmover&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stephan Hoyer&lt;/strong&gt; – Xarray&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By bringing together this collective expertise, we&#39;re ensuring that &lt;strong&gt;Dynamical.org remains relevant, impactful, and true to its mission.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=2NdhcYnC-V8&quot;&gt;Shine on&lt;/a&gt; (lol),&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>Alden @ AMS; GEFS zarrs?!</title>
    <link href="https://dynamical.org/updates/2025-01-10/" />
    <updated>2025-01-10T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2025-01-10/</id>
    <content
      type="html"
      >&lt;p&gt;CALLING ALL WEATHER DWEEBS! Bracing for a winter storm here in Nashville, where I moved to from Boston in order to escape winter storms. 3 to 7 inches they say - good thing I brought the XC skis!&lt;/p&gt;
&lt;h1&gt;dynamical.org @ AMS&lt;/h1&gt;
&lt;p&gt;From the look of it the vast majority of our subscribers will be at AMS. We are excited to see you there!&lt;/p&gt;
&lt;p&gt;Alden will be presenting at the 105th Annual Meeting of the American Meteorological Society (AMS) along with our first fiscal sponsor at Hydro-Québec! Their talk, titled “Fast, Easy, Open: Sustaining Live Updating, Analysis Ready, Cloud Optimized Weather Data Archives,” will highlight the vision behind &lt;a href=&quot;http://dynamical.org&quot;&gt;dynamical.org&lt;/a&gt; and the drive to create and sustain ARCO weather datasets.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🗓️ &lt;strong&gt;When&lt;/strong&gt;: Tuesday, January 14, 9:15 AM&lt;/li&gt;
&lt;li&gt;📍 Where: &lt;a href=&quot;https://ams.confex.com/ams/105ANNUAL/meetingapp.cgi/Paper/448901&quot;&gt;355 (New Orleans Ernest N. Morial Convention Center)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you’re at AMS, find &lt;a href=&quot;https://www.linkedin.com/in/alden-keefe-sampson-a0292164/&quot;&gt;Alden&lt;/a&gt; and Upstream Tech&#39;s &lt;a href=&quot;https://www.linkedin.com/in/phillip-butcher-96ba2461/&quot;&gt;Phil Butcher&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Catalog Updates: GEFS is Almost Here!&lt;/h1&gt;
&lt;p&gt;We’ve made some big strides toward releasing a &lt;em&gt;complete&lt;/em&gt; archive and live-updating GEFS dataset to the catalog:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://github.com/dynamical-org/reformatters&quot;&gt;GEFS reformatter&lt;/a&gt; can now create an archive of years of data &lt;em&gt;super quickly&lt;/em&gt;, thanks to tons of parallelism.&lt;/li&gt;
&lt;li&gt;The dataset is not only comprehensive but also a dream to work with:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;language-python&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; ds&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;u100
&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;xarray&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;DataArray &lt;span class=&quot;token string&quot;&gt;&#39;u100&#39;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;init_time&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; ensemble_member&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; lead_time&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                          latitude&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;721&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; longitude&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1440&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; Size&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 83MB
dask&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;array&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;open_dataset&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;u100&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; shape&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;721&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1440&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; dtype&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;float32&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; chunksize&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;73&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;72&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; chunktype&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;numpy&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;ndarray&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;
Coordinates&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; ensemble_member           &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ensemble_member&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; uint16 8B &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
    expected_forecast_length  &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;init_time&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; timedelta64&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;ns&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; 8B &lt;span class=&quot;token number&quot;&gt;35&lt;/span&gt; days
    ingested_forecast_length  &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;init_time&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; timedelta64&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;ns&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; 8B &lt;span class=&quot;token number&quot;&gt;35&lt;/span&gt; days
  &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; init_time                 &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;init_time&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; datetime64&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;ns&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; 8B &lt;span class=&quot;token number&quot;&gt;2025&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;01&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;08&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; latitude                  &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;latitude&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; float64 6kB &lt;span class=&quot;token number&quot;&gt;90.0&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;89.75&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;89.75&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;90.0&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; lead_time                 &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;lead_time&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; timedelta64&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;ns&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; 40B &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; days &lt;span class=&quot;token number&quot;&gt;00&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;00&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;00.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;
  &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; longitude                 &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;longitude&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; float64 12kB &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;180.0&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;179.8&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;179.8&lt;/span&gt;
    valid_time                &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;init_time&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; lead_time&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; datetime64&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;ns&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; 40B &lt;span class=&quot;token number&quot;&gt;2025&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;
Attributes&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    long_name&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;      &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt; metre U wind component
    short_name&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;     u100
    standard_name&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;  eastward_wind
    step_type&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;      instant
    units&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;          m&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;s&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Woah nelly, check out those attributes!&lt;/p&gt;
&lt;p&gt;We’re testing out operational updates in our compute cluster &lt;em&gt;THIS WEEK&lt;/em&gt;. Once that’s complete, we’ll be ready to push live, real-time updates to the catalog. So close, we can almost taste the churros/pancakes/scones (ha ha ha get it).&lt;/p&gt;
&lt;h1&gt;What We Are Reading&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Zarr Python 3 released!&lt;/strong&gt; We’re especially excited about the included chunk sharding extension, which will enable a much wider range of efficient read patterns with a single, optimized dataset. &lt;a href=&quot;https://zarr.dev/blog/zarr-python-3-release&quot;&gt;Read more here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Earthmover debuted Icechunk&lt;/strong&gt;, a new open storage engine for Zarr datasets. It supports simple and correct updates to datasets that are being read from and written to simultaneously (e.g., live-updated weather), along with great features like dataset versioning and improved read performance. We’re already experimenting with it and considering support once the storage format stabilizes. &lt;a href=&quot;https://icechunk.io/&quot;&gt;Check it out here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;China is planning to become a weather superpower by investing in advanced meteorological technologies and infrastructure to enhance its weather forecasting capabilities. &lt;a href=&quot;https://www.bloomberg.com/news/newsletters/2024-12-11/china-is-planning-to-become-a-weather-superpower&quot;&gt;Bloomberg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Finally - we&#39;ll be launching our steering committee this quarter. Thanks to all those who responded with interest in helping us achieve our mission.&lt;/p&gt;
&lt;p&gt;Catch you in the &lt;a href=&quot;https://www.youtube.com/watch?v=3N6rBXI3Uow&quot;&gt;clouds&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>September update</title>
    <link href="https://dynamical.org/updates/2024-09-26/" />
    <updated>2024-09-26T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2024-09-26/</id>
    <content
      type="html"
      >&lt;p&gt;Ahoy weatherheads! It’s been a busy few months for us as we shift gears from dreaming to building.&lt;/p&gt;
&lt;h3&gt;Catalog updates&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Our dataset for &lt;a href=&quot;https://dynamical.org/catalog/noaa-gfs-analysis/&quot;&gt;NOAA GFS analysis&lt;/a&gt; has getting some awesome usage! Thanks to everyone who has tested it out.&lt;/li&gt;
&lt;li&gt;We are prepping to launch &lt;strong&gt;NOAA GEFS&lt;/strong&gt; &lt;strong&gt;forecasts&lt;/strong&gt; as the second entry to &lt;a href=&quot;http://dynamical.org/catalog&quot;&gt;dynamical.org/catalog&lt;/a&gt;. It will include a large historical forecast record and update in real-time. Dealing with GEFS in its standard format has, in the past, broken my spirit; and I suppose it’s part of why we are so passionate about making weather data easier to work with! So… thank you GEFS? Excited for this one.
&lt;img src=&quot;https://dynamical.org/assets/gefs-dlwrf-img-only.png&quot; alt=&quot;GEFS ensemble average downward long-wave radiation flux.&quot;&gt;
&lt;em&gt;GEFS ensemble average downward long-wave radiation flux.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;We plan to fast-follow GEFS with &lt;strong&gt;GFS&lt;/strong&gt; (forecasts vs our current analysis) and &lt;strong&gt;HRRR&lt;/strong&gt; from NOAA as well as &lt;strong&gt;GDPS&lt;/strong&gt; and &lt;strong&gt;HRDPS&lt;/strong&gt; from ECCC (Environment and Climate Change Canada). As part of these releases we will be announcing our first &lt;strong&gt;catalog sponsor&lt;/strong&gt;!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;GFS analysis feedback&lt;/h3&gt;
&lt;p&gt;A hearty thank you to everyone who filled out our &lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSeqDiWRfTQfZgejPWWfNoBwcm4m2wxa9qxgSZIunsnbhH15XQ/viewform&quot;&gt;GFS survey&lt;/a&gt;. Common themes included the value of live updating and forecast data, and a clear preference for reading data with python + xarray. That aligned with our expectations (wonderful) and is reflected in our roadmap above. We did see more desire for long history (re)analysis data than we had anticipated -- we&#39;ll be moving up a true reanalysis dataset in priority thanks to this feedback. Reply to this email if there&#39;s a specific reanalysis you&#39;d like!&lt;/p&gt;
&lt;h3&gt;Assembling our Steering Committee&lt;/h3&gt;
&lt;p&gt;We are officially launching our steering committee, which will be comprised of industry users and experts in the technical and scientific domain. The committee will meet quarterly to evaluate and influence the catalog and open-source roadmap and advise potential collaborations and partnerships.&lt;/p&gt;
&lt;p&gt;If you’re interested in joining or nominating someone else, please respond to this email or email &lt;a href=&quot;mailto:marshall@dynamical.org&quot;&gt;marshall@dynamical.org&lt;/a&gt;!&lt;/p&gt;
&lt;h3&gt;What we’ve been reading&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;My souls, how the wind did scream along! And every second or two there’d come a glare that lit up the white-caps for a half a mile around, and you’d see the islands looking dusty through the rain, and the trees thrashing around in the wind; then comes a &lt;em&gt;h-whack!&lt;/em&gt;—bum! bum! bumble-umble-um-bum-bum-bum-bum—and the thunder would go rumbling and grumbling away, and quit—and then &lt;em&gt;rip&lt;/em&gt; comes another flash and another sockdolager.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’m reading &lt;em&gt;Adventures of Huckleberry Finn&lt;/em&gt;, which has some stellar meteorological descriptions. Should we petition NOAA to make their detailed forecasts use “h-wack!-bum! bum!” and “sockdolager?” I think yes.&lt;/p&gt;
&lt;p&gt;We enjoyed Dr. Jack Kelly’s post on the vision this community shares, where he outlined a complimentary route to solving major pain points. Thanks for the &lt;a href=&quot;http://dynamical.org&quot;&gt;dynamical.org&lt;/a&gt; shoutouts, Jack! Definitely check it out here: &lt;a href=&quot;https://openclimatefix.org/post/lazy-loading-making-it-easier-to-access-vast-datasets-of-weather-satellite-data&quot;&gt;https://openclimatefix.org/post/lazy-loading-making-it-easier-to-access-vast-datasets-of-weather-satellite-data&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We were thrilled to see our pals at &lt;strong&gt;Brightband&lt;/strong&gt; &lt;a href=&quot;https://www.brightband.com/blog/introducing-brightband&quot;&gt;announce themselves to the world&lt;/a&gt;. The field of AI meteorological forecasts is progressing at quite the clip - three cheers for more open source models! We also enjoyed &lt;strong&gt;Zeus AI&lt;/strong&gt;&#39;s cool work &lt;a href=&quot;https://myzeus.ai/earthnet-a-multi-modal-foundation-model-for-global-data-assimilation-of-earth-observations/&quot;&gt;synthesizing multiple, sparse data sources into a single gap filled analysis state&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Enjoy the &lt;a href=&quot;https://open.spotify.com/track/1rJi8cf8OWsrX4CqBnMSoQ?si=d985266a142a4669&quot;&gt;weather&lt;/a&gt;!&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>Let there be zarr: GFS hourly analysis is live</title>
    <link href="https://dynamical.org/updates/2024-07-09/" />
    <updated>2024-07-09T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2024-07-09/</id>
    <content
      type="html"
      >&lt;p&gt;Last week, we announced &lt;a href=&quot;http://dynamical.org/&quot;&gt;dynamical.org&lt;/a&gt; to the world. The response was unexpected*: in just seven days, over a hundred nerds registered themselves as testers with many more following along for the ride.&lt;/p&gt;
&lt;p&gt;Apparently, we are not alone in our frustration with yesterday&#39;s weather data. Together we can create a future of well-organized data about our most beloved chaotic system!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Today, we are excited to announce the first entry into dynamical’s catalog: &lt;a href=&quot;https://dynamical.org/catalog/noaa-gfs-analysis/&quot;&gt;an hourly GFS analysis&lt;/a&gt; from 2015-01-15 to present.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Testers! Fire up your rigs - in the catalog entry above, we&#39;ve included documentation and an example notebook. If you run into any issues, email us at &lt;a href=&quot;mailto:feedback@dynamical.org&quot;&gt;feedback@dynamical.org&lt;/a&gt;. As our very first release, we’re expecting there will be lots of additions and refinement based on community input.&lt;/p&gt;
&lt;p&gt;Our pals at &lt;a href=&quot;https://source.coop/&quot;&gt;Source Cooperative&lt;/a&gt; are generously providing storage for this first catalog entry. Their team is wonderful and their mission is badass - check them and the broader &lt;a href=&quot;https://radiant.earth/&quot;&gt;Radiant Earth&lt;/a&gt; organization out.&lt;/p&gt;
&lt;p&gt;Enjoy the &lt;a href=&quot;https://www.youtube.com/watch?v=GvnbpG_NA2Y&quot;&gt;weather&lt;/a&gt;^!&lt;/p&gt;
&lt;p&gt;MM&lt;/p&gt;
&lt;p&gt;* or expected, depending on how long you&#39;ve been working with yesterday&#39;s weather data&lt;/p&gt;
&lt;p&gt;^ courtesy of Alex M.&lt;/p&gt;
</content
    >
  </entry> 
  <entry>
    <title>Introducing dynamical.org</title>
    <link href="https://dynamical.org/updates/2024-06-25/" />
    <updated>2024-06-25T00:00:00Z</updated>
    <id>https://dynamical.org/updates/2024-06-25/</id>
    <content
      type="html"
      >&lt;p&gt;Introducing dynamical!&lt;/p&gt;
&lt;p&gt;Thank you for being the first to follow our journey making weather and climate data more accessible. We are humbled by the response. Our mission clearly strikes a chord - weather data today is a pain to work with.&lt;/p&gt;
&lt;p&gt;Over &lt;strong&gt;one hundred people&lt;/strong&gt; (!?) signed up to test the first versions of the data we endeavor to release. And that’s without having spilled the beans on the best parts 😉&lt;/p&gt;
&lt;p&gt;So what’s the plan? First, check out Alden’s fantastic &lt;a href=&quot;https://youtu.be/uR6-UVO_3k8?si=AgXz6DM6l0mYiENw&quot;&gt;introduction to dynamical.org&lt;/a&gt; (video link). Second, &lt;a href=&quot;https://dynamical.org/about.html&quot;&gt;read&lt;/a&gt; about how we are designing dynamical to be a long-term steward and rock-solid foundation on which to build.&lt;/p&gt;
&lt;p&gt;We are aiming to release our first public test next week in collaboration with &lt;a href=&quot;https://source.coop/&quot;&gt;Source Cooperative&lt;/a&gt;: &lt;strong&gt;a GFS analysis with a long historical record&lt;/strong&gt;. If you are interested in testing this out and haven’t already told us, reply to this email. We plan to fast-follow with documentation and a data catalog with our roadmap.&lt;/p&gt;
&lt;p&gt;Enjoy the &lt;a href=&quot;https://ought.bandcamp.com/track/beautiful-blue-sky&quot;&gt;weather&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;MM + AKS&lt;/p&gt;
&lt;p&gt;P.S. Please forward this email to folks working with weather data and consider amplifying our announcement on &lt;a href=&quot;https://www.linkedin.com/posts/marshallmoutenot_introducing-dynamicalorg-fast-optimized-activity-7211005158162317313-rk-V&quot;&gt;linkedin&lt;/a&gt; / &lt;a href=&quot;https://mastodon.social/@dynamical&quot;&gt;fedi&lt;/a&gt;!&lt;/p&gt;
</content
    >
  </entry>
</feed>
