← Lab notebook · October 16, 2026 · Earlier TCV figure archive

TCV foundation model · October 16 results

Longer-data reconstruction, fluctuation fidelity, diffusion, shot transfer and OMP-to-divertor inference. Results since October 9, with earlier controls retained where needed.

The five findings

  1. Long-data reconstruction: pretrained balanced leads the five fluctuation errors within the six matched long-data runs. The old/long overlay is a comparison across source records, not a controlled estimate of data scaling.
  2. Fluctuations: matching power or pooled cross-phase can hide local amplitude and phase errors. We now show those separately.
  3. Diffusion: forecast conditioning helps; history noise trades better particle transport against worse target heat. Local realization fidelity remains unresolved.
  4. 85606: all fine-tuning fractions completed; more target data continues improving all five fluctuation errors.
  5. XY → divertor: XZ-task pretraining finished, but the physical patch still does not match full-XZ input accuracy. Target-only errors are less severe than downstream-volume errors.
G R Earlier short-data compressor J Short-data continuation Balanced / covariance / joint patches R->J L Long-data reconstruction Scratch / pretrained × three losses R->L weights + longer record D Completed diffusion comparisons Frozen SHORT-data codec R->D frozen weights X Full OMP XZ → divertor XZ Short-data codec adapted R->X P Physical XY patch → divertor Direct / radial-line intermediate R->P direct control C Long chronological compressor RUNNING R->C F 85606 fine-tuning 0–25% and 100% fitting pool L->F X->P T Long-data temporal batch WAITING: forecast + five diffusion arms C->T

Arrows are weight inheritance except the chronological model → temporal preparation dependency. Scratch long-data models have independent initialization. Click a branch to see its comparison. Complete historical tree and configuration archive.

1. Longer data versus shorter data

Question: do more data and different reconstruction objectives preserve more of the plasma state?

Five-field full volume→Trainable convolutional encoder→22,528 latent scalars→Trainable decoder→Same-time five-field volume
FamilyInitialization and objectiveData and updatesEvaluation
Short referenceEarlier compressor → joint-patch distribution continuationLegacy 85604; +6,400 updatesLegacy frames 500–623
Long six-way comparisonScratch or earlier compressor × balanced / covariance / joint-patch lossNew 2,712-frame record; 51,200 updates eachSame 543 random-held-out frames
Chronological long controlEarlier compressor → balanced2,169 fit; 64 guard; 479 validationStill training; no final curve

Read overlays correctly: dashed short-data curves use short-data truth; long-data curves use long-data truth. Spectra show both truths. Different source records/splits are not matched test cases. Within the six long-data models, the validation data are identical. “Pretrained” means our short-data balanced codec, not historical LoLA.

Short / long × chronological / random

SplitShort legacy record · 624 framesLong final record · 2,712 frames
ChronologicalFit 0–431; exclude 432–495; validate 496–623. Continuation plots use 500–623.Fit 0–2168; exclude 2169–2232; validate 2233–2711. Final evaluation pending.
Random432 fit / 128 validation / 64 unused, scattered across 624; seed 20261008.2,169 fit / 543 validation, scattered across 2,712; seed 20261014.
The four time splits
The four time splits. Blue: fitting. Orange: validation. Gray: excluded. Random unused frames are not a temporal guard. Different records have different cadences; time starts at each source frame 0. Download

Random split asks about unseen snapshots interspersed with training data; chronological split withholds a later interval. Both are reconstruction tasks with the complete target-time volume as input. Short and long models always use their own validation truth. See Section 2 for their error curves.

Controlled six-way long-data comparison and earlier short-data controls

Balanced loss: equal normalized contributions from toroidal mean and fluctuations. Local covariance loss: auxiliary matching of local cross-field second moments. Joint-patch distribution loss: auxiliary distribution matching for multifield patch vectors; it does not guarantee that every reconstructed structure is in the correct place.

Shuffled versus chronological: separate experiments

AblationWhat changedFinding
Training orderIndividual frames versus four-frame bins within the same fitting intervalNearly identical fluctuation errors; validation split unchanged.
Validation splitChronological versus randomly assigned legacy framesRandom-split own-shot fluctuation errors were about 11–18% lower, but on different validation frames. On identical 85606 frames, differences were below 1.5%.
Short versus long, both random splitDifferent source records; random held-out frames in eachDescriptive comparison, not a pure data-size ablation.

Earlier training-order ablation details. The long chronological comparison has no evaluated final result in this report snapshot.

Data split and heat provenance

Legacy fit [0,432), guard [432,496), reconstruction evaluation [500,624) here. New random split: 2,169 fit / 543 validation out of 2,712 frames; 519 validation frames are adjacent to fitting frames. New chronological control: fit [0,2169), guard [2169,2233), validation [2233,2712). Random-held-out frames are an interpolation test, not future-time forecasting evidence.

Exact split audit · Overlay provenance · Recovered heat verification and limits

2. What the fluctuation investigation resolved

Two different questions: how much fluctuation is present, and whether the model reconstructs the actual fluctuation at the right place. The first can be right while the second is wrong.

QuantityWhat it asksWhat it does not establish
Fluctuation RMSHow large is q′ = q − instantaneous toroidal mean?Whether model and truth have the same structures
Power spectrumHow is fluctuation variance distributed across toroidal modes?Correct phase or position
Cross-phaseHow are two fields aligned within a mode?Alignment of each field with truth; shared shifts can preserve cross-phase
Local cross-phase errorDoes the field-pair phase match truth at each location before averaging?Correct amplitudes or a complete transport budget
Fluctuation RMSEHow different are model q′ and truth q′ at corresponding cells?By itself, whether amplitude or phase caused that difference

Resolution: the earlier spectrum plots were useful amplitude diagnostics, but we overinterpreted them as evidence of local reconstruction fidelity. Keep amplitude, complex error, local cross-phase and transport together. Better pooled phase alone is not a demonstrated fix.

3. Diffusion: what we changed, and what it helped

Four true history volumes→Frozen short-data encoder→Conditional diffusion predicts next latent→Frozen decoder→Predicted volume; feed latent back
Completed modelConditioning / targetChange tested
History onlyFour history latents → full future latentNo deterministic forecast context
Forecast conditionedHistory + frozen deterministic forecast → full future latentExtra conditioning; still not residual diffusion
Forecast + physical lossSame as forecast conditionedDecoded physical auxiliary loss, weight 0.1 at low noise
Forecast + history-noise curriculumSame full target, progressively corrupted historyNoise cap grows to 0.35 over first 4,096 updates; 50% clean history

Four fresh seed-0 denoisers, 16,384 updates each, same frozen short-data codec; 32 DDIM sampling steps. Evaluation: 105 overlapping chronological validation starts, one sampled path per start, leads 1–16 (about 3.13–50.11 µs). These are not ensemble-calibration results. The physical-loss and history-noise arms are separate changes to the forecast-conditioned control.

Forecast conditioning improved the first-step result and retained more power. History noise reduced integrated particle error but worsened target-heat error relative to clean forecast conditioning. No one recipe wins every observable. The new long-data and block/rolling tests have not yet produced results.

Earlier temporal ablations: what these builds on

Latest evaluation provenance · Per-field values and RMSE skill · Earlier curriculum methods/results

4. How much 85606 data is needed?

Long-data random-split balanced compressor→Independent 85606 fine-tune: 6,400 updates→Train both encoder and decoder→Same held-out 128 target-shot frames

Fractions 5/10/15/20/25/100% use 22/43/65/86/108/432 eligible fitting frames. 0% is the unadapted model. All use the same evaluation frames [496,624); 100% does not include guard or validation frames. Each fraction starts from the same parent rather than continuing the previous fraction. Balanced reconstruction objective; no old-shot replay in these runs.

There is no demonstrated fraction where all metrics saturate: 25% remains worse than 100% on all five fluctuation errors. The 85606 record has now been used for adaptation and repeated development evaluation; it is not a fresh blind shot test.

5. Can a tiny XY input match full-XZ input at the divertor?

This is the actual observation goal. “Full XZ” describes the OMP input slab. The output of interest is a different XZ plane at the outer divertor.

Open the 3D viewer full-size · Verified geometry definitions

OMP XZ slab OR tiny physical XY patch→Trainable coordinate adapter→Trainable inherited encoder + decoder→Decoded volume→Crop outer-divertor XZ target

Training: five fields on the downstream region x16–63, y20–31, including target y31; normalized mean/fluctuation GradNorm with clean reconstruction replay coefficient 0.5. AdamW 10⁻⁵ with 100-update warmup, 30,000 updates per adaptation stage. Fit [0,432); evaluate [500,624). Clean replay bypasses the observation adapter. These all use the short-data codec.

Evaluation: target-only XZ = x16–63, y31, all 81 toroidal positions. Broader downstream-volume scores are separate. We have not tested a target-only training objective in this batch.

RouteExact-target density fluctuation RMSE (10¹⁷ m⁻³)Exact-target electron-temperature fluctuation RMSE (eV)
Full OMP XZ input1.2500.936
Direct XY patch1.4251.345
XZ-pretrained XY patch1.5021.392
XZ-pretrained XY patch · longer1.5321.405
XZ → radial line → XY patch1.5301.395

Read the lines: one model key for every target plot

Black = simulation truth. Model colors and line styles below are identical in the heat, power-spectrum and local cross-phase figures. Electron / ion / total identify the physical quantity, not different models.

Full OMP XZ input
Reconstruction checkpoint → 30k full-OMP-XZ-to-divertor updates; accuracy reference
Direct XY patch
Reconstruction checkpoint → 30k physical-patch updates
XZ-pretrained XY patch
Full OMP XZ input checkpoint → 30k physical-patch updates
XZ-pretrained XY patch · longer
Same full-OMP-XZ parent → 30k + 30k physical-patch updates
XZ → radial line → XY patch
Same full-OMP-XZ parent → 30k native-radial-line updates → 30k physical-patch updates

Electron heat is the recovered electron contribution at the target; ion heat is the recovered ion contribution; total heat = electron + ion, summed before computing the error. Left panel: area-mean truth/model heat flux. Right panel: local error before area averaging; lower is better. Both use the exact outer-divertor target and common finite support.

Downstream region versus the target: why the earlier curves looked better

The spectra in the page linked to Ben on October 14 averaged the downstream interior and excluded the boundary y31. The exact-target figures below score y31 alone. “Downstream region” and “outer-divertor target” are therefore separate choices, not interchangeable labels. The earlier model also used direct masked-volume input, whereas the current full-XZ control uses a trainable observation adapter.

Same-target check over all 124 frames: current full-XZ fluctuation RMSE differs from the earlier adaptive+replay model by −1.14% density, −0.08% electron temperature, −1.06% ion temperature, −1.92% potential and −0.93% parallel velocity. This is near-parity, not a target collapse. Both can still have substantial target error. Checkpoint-result and support audit.

Same saved target-only evaluations as the earlier report. This is sparse-input inference at x16–63, y31, not full-volume reconstruction. Low-mode power is underestimated; sharp relative high-mode excess is amplified by very small truth power. The factor of two counts both ±k and changes truth and model together, not their ratio. The source of the narrow peaks is not yet established.

Target spectral values · Target local-phase values and collapsed-signal coverage · Common-truth and frame checks

RouteDownstream local particle error (%)Downstream integrated particle error (%)
Full OMP XZ input51.199.07
Direct XY patch85.1425.32
XZ-pretrained XY patch85.1222.75
XZ-pretrained XY patch · longer87.7324.46
XZ → radial line → XY patch84.7624.55

XZ-task pretraining did not make XY match XZ. On the exact target, the XZ-pretrained 30k patch model has about 20% higher density fluctuation error and 49% higher electron-temperature fluctuation error than full-XZ input. That gap is smaller than the 80%/123% increase in the broader downstream-volume scores. The direct-from-compressor patch model is better than the XZ-pretrained patch on all five exact-target fluctuation errors. The radial-line intermediate does not close the gap.

Which training stage and input do these labels mean?
ModelInput at evaluationTraining route
Full OMP XZ inputFull OMP XZ slabReconstruction checkpoint → 30k full-OMP-XZ-to-divertor updates; accuracy reference
Direct XY patchPhysical XY patchReconstruction checkpoint → 30k physical-patch updates
XZ-pretrained XY patchPhysical XY patchFull OMP XZ input checkpoint → 30k physical-patch updates
XZ-pretrained XY patch · longerPhysical XY patchSame full-OMP-XZ parent → 30k + 30k physical-patch updates
XZ → radial line → XY patchPhysical XY patchSame full-OMP-XZ parent → 30k native-radial-line updates → 30k physical-patch updates

Physical XY patch = nominal5×4cm R–Z window clipped to available radial coverage,64×21interpolated samples at one toroidal angle. Native radial line = all64radial cells at y18,z0. Full OMP XZ input = all64radial cells ×81toroidal samples at y18. Every model here predicts the outer-divertor XZ target. Five numerical fields, not GPI light. Curriculum configuration · Transport metrics, correlations and RMSE skill

Definitions used throughout

TermDefinition
Five fieldsNe: electron density (m⁻³); Te/Ti: electron/ion temperature (eV); phi: electrostatic potential (V); Vi: parallel ion velocity (m/s). Plot axes may rescale density or velocity.
Mean and fluctuationsq₀ is the instantaneous toroidal mean; q′=q−q₀. This is not subtraction of a fixed time average.
Ordinary physical MSENative-volume-weighted squared physical field error, normalized by fitting-only field variance.
Balanced objectiveEqual normalized mean and fluctuation error contributions; each uses its fitting-only component scale with a standard-deviation floor.
GradNormAdaptive loss weights using gradient magnitudes/training rates; the patch objective learns component weights, not a new physical field.
RMSE / relative errorRMSE=sqrt(weighted mean squared error). Relative L2=RMS(error)/RMS(truth) on the stated support. Percentages are not percent of cells wrong.
RMSE skill1−model RMSE / fitting-mean-baseline RMSE. Zero matches baseline; negative is worse. Saved correlations are accompanied by this skill.
Toroidal k and nFourier bin k; physical mode n=5k for the72° domain. n=0 is mean; resolved nonzero n=5…200.
Cross-phasearg(q̂a · conjugate(q̂b)). Error is the wrapped model–truth angle difference. Local and pooled operations are not interchangeable.
Transport versus heatRadial E×B particle/internal-energy transport and recovered divertor sheath heat are different operators on different spatial supports.
Clean replayA full-input reconstruction loss added during sparse-observation adaptation; coefficient0.5 is not a50% example fraction.
Autoregression / diffusionAutoregression feeds predictions back through time. Diffusion denoises a sampled target and can itself run autoregressively.
Full-target / residualFull-target generates the future latent. Residual generates a correction to a deterministic forecast. Forecast conditioning alone does not make a residual model.

What is running, and what remains a question?

Checked 2026-10-16T15:29:26.607786+00:00. Chronological long-data compressor: 21760 / 51200 updates, running.

Next comparisonStatus / question
Long chronological versus long randomChronological compressor still training; no final matched result
Long-data deterministic + two one-step diffusion armsWaiting for final chronology-safe compressor; test clean versus noisy history
Block shared-noise / independent-noise / rolling-noise generationQueued/held, no trained result; distinguish per-frame noise levels from temporal sampling schedule
XY → divertor target-only supervisionNot tested in this batch; candidate to separate auxiliary-region tradeoffs from input-information limits
GPI input → divertor movieGoal, not an achieved model; light observation operator and temporal integration remain

Timestamped scheduler snapshot · Queued temporal protocol · Original detailed observation maps · Complete experiment archive