AZURE / Technical documentation
Internship report summary

How the surrogate was built.

A summary of the internship report “Predicting phreatic groundwater response to weather forecasts using neural operators. A surrogate for the AZURE model in the Utrechtse Heuvelrug and surrounding polders” (F. Eijkelboom, Utrecht University & Hydrologic, July 2026). Every number on this site comes from the real trained models.

Document Internship report (PDF)
01 / Context

Problem and objectives

AZURE is the regional groundwater model of the central Netherlands, used by water authorities for permit assessments, drought analyses and scenario studies. A single run is not the problem. The bottleneck is the workflow around each scenario. Preparing, running and post-processing every variant requires specialist knowledge and can take days before a single comparison exists. The main objective was to determine how well a neural surrogate can reproduce the groundwater response calculated by AZURE, for the 14-day horizon and at user-selected lead times up to two months, while remaining accurate, fast and practical to retrain. A second objective was to make the surrogate usable by non-specialists, which became this website. Four research questions guided the work:

1. Which architecture gives the best balance between predictive accuracy, training cost and inference speed?
2. Can a single surrogate predict at a user-selected lead time, from 14 days up to two months and how does accuracy change with lead time?
3. How does performance vary across contrasting hydrogeological areas and under previously unseen meteorological forcing?
4. Which inputs and physical processes control the remaining error and what do those limits imply for practical use?

02 / Data

240 years of simulated climate

A new year-round 240-year AZURE dataset was generated on a 15 by 15 km domain around Doorn at 100 m resolution, forced by the KNMI’23 RACMO climate ensemble (the wet and dry variants of the high- and low-emission families). Each sample gives the network 90 days of weather history, the current head map and the forecast days. Splits are chronological with gaps and selection used the validation split only. Two sealed 60-year holdout runs from a scenario family the training never saw were kept aside and evaluated exactly once, after the design was frozen.

03 / Architecture

Two models, one machinery

More than thirty architectures and mechanisms were compared under one fixed procedure with a control for every comparison. Every outcome, including the rejections, is documented. The search settled on three processing families, spectral convolution, a spectral mixer and plain convolution. These are combined into one network by learned spatial and weather-conditioned gates, plus a day-by-day weather reader and a storm-weighted training set. That is the ComposedModel, the single-shot 14-day forecaster. The Any-day Model B reuses nearly the same machinery in a chained design: it reaches a requested day in steps of 14 days plus one final variable step, feeding its own predicted head map back in as the next step’s start. By construction, weather after the requested day has no influence on the forecast.

04 / Results

Accuracy on unseen climate

The ComposedModel reaches 0.237 cm mean absolute error on the 14-day head change in development and 0.244 cm on the sealed holdout, where a calendar-averaged forecast scores 3.7 cm. The Any-day model runs from 0.195 cm at one week to 0.444 cm at two months (against 2.6 and 8.3 cm for the calendar baseline). The model ranking survived the holdout unchanged and the margin of the adaptive design over a plain scaled network widened on unseen climate at every horizon. Both models answer in milliseconds, which brings whole weather-ensemble forecasts within practical reach.

05 / Error analysis

Where the remaining error lives

The remaining error is unbiased scatter around the correct answer that grows with event size. A missing physical term would show up as bias and none does. It originates in the storm response of shallow polder cells, where a small starting difference is amplified by the fast drainage feedback. Three transferable lessons emerged. Physical knowledge helps as loose structure the network may fill in its own way, never as prescribed exactness. Components that adapt themselves to place and weather lose the least accuracy on unseen climate. And stepping a model through its own predictions works at the right step size. A 14-day step gives the drainage physics time to heal an inherited error, where daily steps hand it straight to the amplifying storm response.

06 / Limitations

Scope and outlook

The surrogate emulates AZURE and is not validated against field observations. It predicts the change of the upper-layer head on this domain and should not be extrapolated beyond its training range. Scaling favours the final architecture. The gated design keeps most of its parameters domain-size independent and extending the horizon range is a training-schedule change, not an architecture change. The fixed-leg chain is still 18 times better than climatology at four months. In production the forecast panel would connect to live weather and water-table services, so a forecast starts from the real current situation.

StatusFinal (July 2026)
Domain15×15 km, Doorn, 100 m
OutputD+14 map · any day 7–60
Utrechtse Heuvelrug to managed polder

Fly the water table.

One continuous aerial journey over the shallow groundwater system. Scroll to leave the overview and move through the places that make the forecast behave differently.

Waypoint 01 / Sandy high ground

The ridge keeps a longer memory.

Rain enters permeable cover sand beneath the forest. The phreatic surface is deeper here, and its response spreads across a broad elevated landscape.

Typical depthResponse2–4 mBroad / delayed
Waypoint 02 / Transition

The slope turns storage into movement.

Across the flank, elevation and soil change together. The model resolves the connected spatial response between regional recharge and wetter low ground.

Forecast gridResolution150 × 150100 m
Waypoint 03 / Managed low country

Down here, the ditches answer quickly.

Parallel drains, target levels and short flow paths shape the shallow response parcel by parcel. The cow is decorative; the ditch beside it is model logic.

Typical depthControl0.3–1.2 mPeilbeheer
Below the surface / model machinery

Inside the forecast engine.

This room explains the technical chain without pretending the model is a physical aquifer. Weather and the current groundwater state enter, the surrogate resolves the spatial response, and a complete shallow-water forecast leaves as one 150 by 150 field.

01 / InputsWeather + initial state
02 / PrepareNormalise
03 / CoreHyb network
04 / Output~15 ms on a GPU
ILLUSTRATIVE PREVIEW
Head changecm
-2.40+2.1

Build a scenario.

Choose a starting date, model and horizon, then run the forecast.

Ready
Weather boundaryLoading weather
Rain · left axis PET · right axis Member range Mean
Rain sum—
PET sum—
Peak day—

Illustrative weather ensemble

Rain · left axis PET · right axis Members Mean / reference
Live model run

— / D+14

Mean change—
Wettest cell—
Inference time—

Demo disclaimer

This demo uses AZURE simulation states and fixed drainage settings. The weather ensemble is illustrative. Its synthetic members do not drive the groundwater forecast. In a production implementation, forecasts and ensemble members would be retrieved from weather forecast APIs. Usage counts use a random browser identifier; names and IP addresses are not stored.

AZURE Live model demo
ComposedModel + Any-day Model B
Phreatic groundwater forecast
Scroll, drag or use arrow keys to fly
Keep scrolling upward to return to the engine