| CPU | AMD Ryzen 7 1800X Eight-Core Processor |
|---|---|
| Logical CPUs | 8 |
| RAM | 23.4 GiB |
| Execution backend | cpu |
| Numba | 0.65.1 |
| Python | 3.12.13 |
| OS | Linux-6.14.0-37-generic-x86_64-with-glibc2.39 |
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.
Comparison plots are generated only for MARGINAL and DISCREPANT variables. Each case is split into PyGOTM and PyFABM sections.
| Case | Status | PASS | MARGINAL | DISCREPANT | BROKEN | Total vars | Wall time |
|---|---|---|---|---|---|---|---|
| couette | PASS | 100 | 0 | 0 | 0 | 100 | 0.9s |
| blacksea | PASS | 121 | 0 | 0 | 0 | 121 | 8.9s |
| channel | PASS | 100 | 0 | 0 | 0 | 100 | 0.7s |
| entrainment | PASS | 100 | 0 | 0 | 0 | 100 | 0.2s |
| estuary | PASS | 100 | 0 | 0 | 0 | 100 | 0.9s |
| flex | PASS | 104 | 0 | 0 | 0 | 104 | 10.9s |
| gotland | FAIL | 74 | 14 | 16 | 0 | 104 | 3.4s |
| lago_maggiore | PASS | 105 | 0 | 0 | 0 | 105 | 6.7s |
| langmuir | FAIL | 111 | 1 | 1 | 0 | 113 | 1m 7s |
| liverpool_bay | PASS | 105 | 0 | 0 | 0 | 105 | 1.6s |
| medsea_east | FAIL | 124 | 16 | 0 | 0 | 140 | 6.1s |
| medsea_west | FAIL | 128 | 11 | 1 | 0 | 140 | 8.8s |
| nns_annual | FAIL | 102 | 7 | 6 | 0 | 115 | 9.6s |
| nns_seasonal | PASS | 105 | 0 | 0 | 0 | 105 | 12.8s |
| ows_papa | FAIL | 111 | 1 | 1 | 0 | 113 | 3m 53s |
| plume | PASS | 113 | 0 | 0 | 0 | 113 | 53.0s |
| resolute | FAIL | 92 | 17 | 6 | 0 | 115 | 6.6s |
| reynolds | PASS | 105 | 0 | 0 | 0 | 105 | 5.0s |
| rouse | PASS | 108 | 0 | 0 | 0 | 108 | 0.6s |
| seagrass | PASS | 104 | 0 | 0 | 0 | 104 | 0.2s |
| wave_breaking | PASS | 100 | 0 | 0 | 0 | 100 | 5.6s |
| asics_med | PASS | 104 | 0 | 0 | 0 | 104 | 12.0s |
| TOTAL (22 cases) | — | 2316 | 67 | 31 | 0 | — | 7m 35s |