TECHNICAL NOTE · 11 SEPTEMBER 2026 · PROTOTYPE 3
What the current prototype tests
Delta-V is a system for learned engineering surrogates built one physical-domain lane at a time; fluid dynamics is lane 1 and the only lane served today. Within that lane it compares one neural next-step prediction with the recorded next snapshot, and offers a separate table-based estimator of overall fluid outcomes. The six original examples show training-data behavior. Three additional official-test clips (rollout-test- IDs) provide f0–f10 references for autoregressive playback. A separate six-window official-test check is reported below; broad generalization and a learned-adapter advantage are not established.
Model and artifacts
The served model is checkpoints/domain_fluid.pt, epoch 59,
in
artifact revision 7bf3f989dcfab6d0f43ea482ab8f26ddbdec3752. The checkpoint was trained across turbulent radiative layer 2D,
Rayleigh–Bénard convection and shear flow, with turbulent radiative
layer as the primary set and the other two as joint co-training sets.
Training used bounded slices of The Well at prototype budget, not the
full trajectory sets; this training scale, rather than the
architecture, is the main limit on current accuracy and rollout
horizon. The FNO uses 32 × 32 spectral modes and 128 hidden channels.
The live epoch is shown on the Model page. Runtime artifact downloads
are pinned to the linked revision, so the served weights cannot change
under the deployment without a code change.
Inputs, outputs and preprocessing
Four consecutive snapshots are mapped to density/buoyancy/tracer (the shared scalar channel), pressure, horizontal velocity and vertical velocity. Per-system means and standard deviations normalize each channel as (x − mean)/(std + 10⁻⁶). Bilinear resampling with align_corners=False produces 256 × 256 fields. The model receives [batch,16,256,256] and produces [batch,4,256,256]. Outputs are denormalized using the same statistics.
These are fixed data mappings, not learned adapters. Native grids are 128 × 384 for radiative cooling, 512 × 128 for convection and 256 × 512 for shear flow. Displays preserve each physical domain’s aspect ratio and use simulation code units.
Measured quantities
- Relative L2: ‖prediction − reference‖₂ / ‖reference‖₂. Undefined for a zero-norm reference.
- RMSE: square root of mean squared error, in the field’s code units.
- SSIM: scikit-image structural_similarity with the reference’s maximum minus minimum as data_range and library defaults (7 × 7 window). Undefined for constant reference fields.
All scores use floating-point fields before quantization and a reference resampled to the model grid. The self-imposed v1 policy is strictly relative L2 <15% for scalar and pressure; velocities have no quantitative target. SSIM is an image-structure measure and does not establish physical conservation. See the 24-row measured results table and machine-readable scores.
Data provenance and time
Six bundled windows, two per served system, contain four input snapshots
and one next-step reference. They come from training slices.
samples/index.json records window IDs, dial values, start
indices, times and shapes. These bundled files lack complete original
trajectory identifiers and are not used as the new test set. Moving a
time control shows recorded snapshots; it is not a model rollout. Moving
parameter sliders estimates aggregate outcomes from tables and does not
change the field’s initial condition.
Transport, caching and timing
Predictions are computed once during startup and cached. The display
endpoints send lossless grayscale PNG atlases of the same quantized
8-bit values previously transported in NumPy arrays; the browser
reconstructs the channel arrays before applying the established color
maps. Full-precision quality scores accompany the images. Binary
/samples/{id} and /samples/{id}/predict remain
available. POST /predict/field returns floating-point
predictions for correctly formatted inputs.
The Settings page separates server startup, browser readiness, first comparison including sample load, and repeat cache retrieval. Original model computation is labeled separately. Timing varies by network and hardware; a 200 ms network response is not guaranteed.
Held-out evaluation and fourth-system protocol
Notebook audit: the supplied training export reads only
official data/train/ files. Its joint-model validation uses
a seeded random split of sliding windows, so neighboring windows from
one trajectory can appear in both sets. Normalization is estimated
before that split. The old validation loss is not trajectory-held-out.
New tooling assigns whole trajectories before training and rejects
overlap and validation/test data in normalization.
Small official-test check: six predeclared windows, two
source files per system, from pinned official data/test/
paths outside that notebook's train-only input. Each uses trajectory 0,
four input snapshots and the fifth as reference. The selected starts are
40 (radiative), 100 (convection), and 60 (shear). No training or tuning
used these results. The checkpoint-to-notebook lineage is
owner-supplied, not cryptographically established. This limited check
does not replace a new fixed train/validation/test training run.
All scores, source revisions, identifiers and hashes
are published, including failed targets. See About
for the readable table and
the audit and evaluation scripts.
The evaluation tooling groups all windows from the same source trajectory, rejects overlap between train/validation/test, verifies local file hashes, and requires explicit checkpoint-exposure records before accepting held-out evaluation. Hold the test set fixed, select checkpoints using validation only, and report all four channels by trajectory and system. Test results must not guide tuning.
The fourth research system is euler_multi_quadrants_openBC.
Its source includes density, energy, pressure and momentum components;
the fixed preprocessing derives velocities from momentum/density.
Compare scratch training, full fine-tuning and a frozen backbone with
learned 1 × 1 input/output projections. Use nested training fractions
1%, 5%, 10%, 25%, 50%, 100%, identical splits and validation budgets,
and report trainable parameters, wall time and per-channel errors. The
supplied notebook excludes Euler from joint training, but includes a
scratch-versus-full-fine-tuning experiment on fresh models. The owner
subsequently supplied the converged 30-epoch two-arm result: losses
0.0089 versus 0.0107, with a reported 16.3% lower error for the
pretrained start. These training measurements are not live API results.
Only one gamma value was represented instead of four intended, due to a
selection bug. No fine-tuned checkpoints were saved. See the
Generalization probe for provenance and
limitations. The new learned-adapter arm has 292 trainable real
parameters; the three-arm runner is implemented but has not been run.
Target normalization is fitted only on each training fraction,
identically for all arms. Complete exposure records remain required for
that experiment.
Reproduction
Clone the code repository, install its requirements plus CPU PyTorch, and start:
uvicorn main:app --host 127.0.0.1 --port 7860 python -m pytest -q tests node --test tests/frontend.test.cjs python research/evaluate.py --help python research/experiment.py --help
Runtime downloads are restricted to checkpoints and statistics. Never
download the 92 GB slices/ directory. Research tools use
explicitly prepared local windows and require a provenance manifest. The
separate research/source_probe.py reproduces the small test
check using exact 256 KB HTTP ranges with a 96 MB limit per official
source file; it refuses full-file responses and never accesses
slices/.
Anonymous usage counts
Event tracking stores only aggregate counts of fixed event names, with no user/session identifiers or arrays; it respects browser privacy signals and the Settings opt-out. Counts are public, can include automated traffic, and reset on restart. They cannot measure unique users or a person-level funnel. The host may independently retain access logs.