pyGOTM Validation Report

Generated: 2026-06-15T14:57:59Z  ·  Total wall time: 0.0s
PARTIAL PARITY   (15/23 cases passed)

Hardware

CPUAMD Ryzen 7 1800X Eight-Core Processor
Logical CPUs8
RAM23.4 GiB
Execution backendcpu
Numba0.65.1
Python3.12.13
OSLinux-6.14.0-37-generic-x86_64-with-glibc2.39

Validation Methodology

Discrete Frechet distance is computed per numeric variable after aligning both outputs onto a shared time grid. Status is driven by the score: normalized Frechet distance for physically meaningful signal magnitudes, or relative raw distance below the variable magnitude floor.

Raw distance: \(d_{raw} = F(\text{ref}, \text{calc})\), the discrete Frechet distance on original values.
Normalized distance: \(d_{norm} = F(N(\text{ref}), N(\text{calc}))\), where \(N\) is dynamic linear/log range normalization.
Relative raw distance: \(d_{rel} = d_{raw} / \max(|\text{ref}|, |\text{calc}|)\), used when the signal magnitude is below its variable floor.

If \(d_{raw} < 10^{-12}\), both distances are reported as zero. Reference and calculated values are shown at the largest absolute aligned difference.

PASS green score \(< 0.01\) Shape-equivalent within threshold. MARGINAL yellow score \(0.01\) to \(< 0.05\) Small shape deviation. Plot generated. DISCREPANTorangescore \(0.05\) to \(< 0.20\) Deterministic implementation difference likely. Plot generated. BROKEN red score \(\geq 0.20\) Severe mismatch or structural comparison failure.

Comparison plots are generated only for MARGINAL and DISCREPANT variables. Each case is split into PyGOTM and PyFABM sections.

Summary

CaseStatus PASSMARGINALDISCREPANTBROKEN Total varsWall time
couettePASS100000100
blackseaPASS121000121
channelPASS100000100
entrainmentPASS100000100
estuaryPASS100000100
flexPASS104000104
gotlandFAIL7414160104
lago_maggiorePASS105000105
lake_erkenFAIL6052664155
langmuirFAIL111110113
liverpool_bayPASS105000105
medsea_eastFAIL1241600140
medsea_westFAIL1281110140
nns_annualFAIL102760115
nns_seasonalPASS105000105
ows_papaFAIL111110113
plumePASS113000113
resoluteFAIL921760115
reynoldsPASS105000105
rousePASS108000108
seagrassPASS104000104
wave_breakingPASS100000100
asics_medPASS104000104
TOTAL (23 cases)23767257640.0s