{
  "schema": 1,
  "scope": "Measured finite-grid runs; not a general accuracy certificate.",
  "metricDefinitions": {
    "coordinates": "Unit-periodic [0,1]^2; L is model length, T is model time. No physical calibration.",
    "parameters": "velocity: L/T; viscosity and dye diffusivity: L^2/T",
    "energy": "0.5 * sum((u_cell^2 + v_cell^2) * cellArea), an area integral; density omitted; units L^4/T^2",
    "displayedMeanEnergy": "energy / domainArea; units L^2/T^2. Equal numerically to energy on the unit-area domain.",
    "dyeMass": "sum(concentration_cell * cellArea); units concentration * L^2, not calibrated physical mass",
    "massDriftPercent": "100 * abs(dyeMass(t) / dyeMass(0) - 1), dimensionless percent"
  },
  "runs": [
    {
      "id": "original-ink-vortex-v2-128",
      "status": "original",
      "recipe": {
        "n": 128,
        "initial": "ink-vortex-v2",
        "viscosityB": 0.002,
        "dt": 0.008333333333333333,
        "duration": 10
      },
      "solver": "flow-periodic-mac-fft-v1",
      "precision": "FP32",
      "measuredAt": "2026-10-30T08:50:22.031Z",
      "renderer": "ANGLE (Intel, Mesa Intel(R) Iris(R) Xe Graphics (TGL GT2), OpenGL ES 3.2)",
      "boundary": "periodic",
      "domainLength": 1,
      "domainArea": 1,
      "viscosityA": 0.002,
      "diffusivity": 0.00005,
      "evidenceSha256": "98a1126ae5e1cad4ea5fd44a5b91bf7acd666b9dd4892659404f0aee447926ad",
      "sourceSha256": "64ff57e380c4ce216c04ee4e441e608c5e25a0e7f120045485ddf79f9217949a",
      "sampledMaxMassDriftPercent": 5.115171337306257,
      "samples": [
        {
          "time": 0,
          "tick": 0,
          "branches": [
            {
              "energy": 0.004962086286850041,
              "dyeMass": 0.009477185175187603,
              "massDriftPercent": 0,
              "speedRms": 0.09962014140574225
            },
            {
              "energy": 0.004962086286850041,
              "dyeMass": 0.009477185175187603,
              "massDriftPercent": 0,
              "speedRms": 0.09962014140574225
            }
          ]
        },
        {
          "time": 1,
          "tick": 120,
          "branches": [
            {
              "energy": 0.0025306866082164415,
              "dyeMass": 0.009347193334853005,
              "massDriftPercent": 1.3716292119619222,
              "speedRms": 0.071143328685358
            },
            {
              "energy": 0.0025306866082164415,
              "dyeMass": 0.009347193334853005,
              "massDriftPercent": 1.3716292119619222,
              "speedRms": 0.071143328685358
            }
          ]
        },
        {
          "time": 2,
          "tick": 240,
          "branches": [
            {
              "energy": 0.0015473045684578114,
              "dyeMass": 0.009256225019209537,
              "massDriftPercent": 2.331495606486267,
              "speedRms": 0.05562921118365443
            },
            {
              "energy": 0.0015473045684578114,
              "dyeMass": 0.009256225019209537,
              "massDriftPercent": 2.331495606486267,
              "speedRms": 0.05562921118365443
            }
          ]
        },
        {
          "time": 3,
          "tick": 360,
          "branches": [
            {
              "energy": 0.0010474418585778883,
              "dyeMass": 0.0091894779237746,
              "massDriftPercent": 3.035788011890439,
              "speedRms": 0.0457698996847904
            },
            {
              "energy": 0.0010474418585778883,
              "dyeMass": 0.0091894779237746,
              "massDriftPercent": 3.035788011890439,
              "speedRms": 0.0457698996847904
            }
          ]
        },
        {
          "time": 4,
          "tick": 480,
          "branches": [
            {
              "energy": 0.0007560161456551105,
              "dyeMass": 0.0091387071503955,
              "massDriftPercent": 3.5715037591359855,
              "speedRms": 0.03888485940967539
            },
            {
              "energy": 0.0007560161456551105,
              "dyeMass": 0.0091387071503955,
              "massDriftPercent": 3.5715037591359855,
              "speedRms": 0.03888485940967539
            }
          ]
        },
        {
          "time": 5,
          "tick": 600,
          "branches": [
            {
              "energy": 0.0005693478785247091,
              "dyeMass": 0.009099187000201962,
              "massDriftPercent": 3.9885067981502154,
              "speedRms": 0.03374456633369909
            },
            {
              "energy": 0.0005693478785247091,
              "dyeMass": 0.009099187000201962,
              "massDriftPercent": 3.9885067981502154,
              "speedRms": 0.03374456633369909
            }
          ]
        },
        {
          "time": 6,
          "tick": 720,
          "branches": [
            {
              "energy": 0.0004413512135548596,
              "dyeMass": 0.009068009583337823,
              "massDriftPercent": 4.317480183051092,
              "speedRms": 0.029710308431750067
            },
            {
              "energy": 0.0004413512135548596,
              "dyeMass": 0.009068009583337823,
              "massDriftPercent": 4.317480183051092,
              "speedRms": 0.029710308431750067
            }
          ]
        },
        {
          "time": 7,
          "tick": 840,
          "branches": [
            {
              "energy": 0.00034910722235851103,
              "dyeMass": 0.009043048639638986,
              "massDriftPercent": 4.58085948014647,
              "speedRms": 0.026423747741700497
            },
            {
              "energy": 0.00034910722235851103,
              "dyeMass": 0.009043048639638986,
              "massDriftPercent": 4.58085948014647,
              "speedRms": 0.026423747741700497
            }
          ]
        },
        {
          "time": 8,
          "tick": 960,
          "branches": [
            {
              "energy": 0.0002801811258124879,
              "dyeMass": 0.009022785534733188,
              "massDriftPercent": 4.794668797272072,
              "speedRms": 0.02367197185755711
            },
            {
              "energy": 0.0002801811258124879,
              "dyeMass": 0.009022785534733188,
              "massDriftPercent": 4.794668797272072,
              "speedRms": 0.02367197185755711
            }
          ]
        },
        {
          "time": 9,
          "tick": 1080,
          "branches": [
            {
              "energy": 0.0002273045227162117,
              "dyeMass": 0.009006159070797902,
              "massDriftPercent": 4.9701055290436225,
              "speedRms": 0.021321562921897245
            },
            {
              "energy": 0.0002273045227162117,
              "dyeMass": 0.009006159070797902,
              "massDriftPercent": 4.9701055290436225,
              "speedRms": 0.021321562921897245
            }
          ]
        },
        {
          "time": 10,
          "tick": 1200,
          "branches": [
            {
              "energy": 0.00018594575483968278,
              "dyeMass": 0.00899241091552297,
              "massDriftPercent": 5.115171337306257,
              "speedRms": 0.019284488836351497
            },
            {
              "energy": 0.00018594575483968278,
              "dyeMass": 0.00899241091552297,
              "massDriftPercent": 5.115171337306257,
              "speedRms": 0.019284488836351497
            }
          ]
        }
      ]
    },
    {
      "id": "corrected-swirl-coarse-v2-128",
      "status": "corrected",
      "recipe": {
        "n": 128,
        "initial": "swirl-coarse-v2",
        "viscosityB": 0.012,
        "dt": 0.008333333333333333,
        "duration": 3
      },
      "solver": "flow-periodic-mac-fft-v2-conservative-dye",
      "precision": "FP32",
      "measuredAt": "2026-10-30T11:32:02.680Z",
      "renderer": "ANGLE (Intel, Mesa Intel(R) Iris(R) Xe Graphics (TGL GT2), OpenGL ES 3.2)",
      "boundary": "periodic",
      "domainLength": 1,
      "domainArea": 1,
      "viscosityA": 0.002,
      "diffusivity": 0.00005,
      "evidenceSha256": "bc4061bd9aa1a98903b0e4aa50f21aae30a61f4a857c73fe365615e419f95e73",
      "sourceSha256": "2b0c01a0ded2b085b34abee17105d7a8b27f30dfb77b455e8cabf326f2501b4b",
      "sampledMaxMassDriftPercent": 0.0008425967617187169,
      "samples": [
        {
          "time": 0,
          "tick": 0,
          "branches": [
            {
              "energy": 0.003597109448628473,
              "dyeMass": 0.009477185175187603,
              "massDriftPercent": 0,
              "speedRms": 0.08481874142698032
            },
            {
              "energy": 0.003597109448628473,
              "dyeMass": 0.009477185175187603,
              "massDriftPercent": 0,
              "speedRms": 0.08481874142698032
            }
          ]
        },
        {
          "time": 1,
          "tick": 120,
          "branches": [
            {
              "energy": 0.0025458007299563818,
              "dyeMass": 0.009477211696552922,
              "massDriftPercent": 0.00027984432959815564,
              "speedRms": 0.07135545851518833
            },
            {
              "energy": 0.0005334794561717781,
              "dyeMass": 0.00947721198155904,
              "massDriftPercent": 0.00028285161619567845,
              "speedRms": 0.03266433701062301
            }
          ]
        },
        {
          "time": 2,
          "tick": 240,
          "branches": [
            {
              "energy": 0.0018102236608368229,
              "dyeMass": 0.009477238329420136,
              "massDriftPercent": 0.0005608651888699967,
              "speedRms": 0.06017015308002503
            },
            {
              "energy": 0.00008015338866674049,
              "dyeMass": 0.00947723833551632,
              "massDriftPercent": 0.0005609295137265491,
              "speedRms": 0.012661231272411108
            }
          ]
        },
        {
          "time": 3,
          "tick": 360,
          "branches": [
            {
              "energy": 0.001292226935704605,
              "dyeMass": 0.009477264969519587,
              "massDriftPercent": 0.0008419623602318183,
              "speedRms": 0.050837524245474525
            },
            {
              "energy": 0.0000121038406795361,
              "dyeMass": 0.009477265029642992,
              "massDriftPercent": 0.0008425967617187169,
              "speedRms": 0.0049201302176946704
            }
          ]
        }
      ]
    },
    {
      "id": "corrected-ink-vortex-v2-128",
      "status": "corrected",
      "recipe": {
        "n": 128,
        "initial": "ink-vortex-v2",
        "viscosityB": 0.002,
        "dt": 0.008333333333333333,
        "duration": 10
      },
      "solver": "flow-periodic-mac-fft-v2-conservative-dye",
      "precision": "FP32",
      "measuredAt": "2026-10-30T11:32:02.680Z",
      "renderer": "ANGLE (Intel, Mesa Intel(R) Iris(R) Xe Graphics (TGL GT2), OpenGL ES 3.2)",
      "boundary": "periodic",
      "domainLength": 1,
      "domainArea": 1,
      "viscosityA": 0.002,
      "diffusivity": 0.00005,
      "evidenceSha256": "bc4061bd9aa1a98903b0e4aa50f21aae30a61f4a857c73fe365615e419f95e73",
      "sourceSha256": "2b0c01a0ded2b085b34abee17105d7a8b27f30dfb77b455e8cabf326f2501b4b",
      "sampledMaxMassDriftPercent": 0.0028083892767760688,
      "samples": [
        {
          "time": 0,
          "tick": 0,
          "branches": [
            {
              "energy": 0.004962086286850041,
              "dyeMass": 0.009477185175187603,
              "massDriftPercent": 0,
              "speedRms": 0.09962014140574225
            },
            {
              "energy": 0.004962086286850041,
              "dyeMass": 0.009477185175187603,
              "massDriftPercent": 0,
              "speedRms": 0.09962014140574225
            }
          ]
        },
        {
          "time": 1,
          "tick": 120,
          "branches": [
            {
              "energy": 0.0025306866082164415,
              "dyeMass": 0.00947721186492481,
              "massDriftPercent": 0.0002816209318856622,
              "speedRms": 0.071143328685358
            },
            {
              "energy": 0.0025306866082164415,
              "dyeMass": 0.00947721186492481,
              "massDriftPercent": 0.0002816209318856622,
              "speedRms": 0.071143328685358
            }
          ]
        },
        {
          "time": 2,
          "tick": 240,
          "branches": [
            {
              "energy": 0.0015473045684578114,
              "dyeMass": 0.009477238431352874,
              "massDriftPercent": 0.0005619407480894623,
              "speedRms": 0.05562921118365443
            },
            {
              "energy": 0.0015473045684578114,
              "dyeMass": 0.009477238431352874,
              "massDriftPercent": 0.0005619407480894623,
              "speedRms": 0.05562921118365443
            }
          ]
        },
        {
          "time": 3,
          "tick": 360,
          "branches": [
            {
              "energy": 0.0010474418585778883,
              "dyeMass": 0.009477265255697363,
              "massDriftPercent": 0.0008449820097400362,
              "speedRms": 0.0457698996847904
            },
            {
              "energy": 0.0010474418585778883,
              "dyeMass": 0.009477265255697363,
              "massDriftPercent": 0.0008449820097400362,
              "speedRms": 0.0457698996847904
            }
          ]
        },
        {
          "time": 4,
          "tick": 480,
          "branches": [
            {
              "energy": 0.0007560161456551105,
              "dyeMass": 0.009477292172459068,
              "massDriftPercent": 0.0011289984260809405,
              "speedRms": 0.03888485940967539
            },
            {
              "energy": 0.0007560161456551105,
              "dyeMass": 0.009477292172459068,
              "massDriftPercent": 0.0011289984260809405,
              "speedRms": 0.03888485940967539
            }
          ]
        },
        {
          "time": 5,
          "tick": 600,
          "branches": [
            {
              "energy": 0.0005693478785247091,
              "dyeMass": 0.009477318685594118,
              "massDriftPercent": 0.0014087559127240468,
              "speedRms": 0.03374456633369909
            },
            {
              "energy": 0.0005693478785247091,
              "dyeMass": 0.009477318685594118,
              "massDriftPercent": 0.0014087559127240468,
              "speedRms": 0.03374456633369909
            }
          ]
        },
        {
          "time": 6,
          "tick": 720,
          "branches": [
            {
              "energy": 0.0004413512135548596,
              "dyeMass": 0.009477345151681265,
              "massDriftPercent": 0.0016880169660504762,
              "speedRms": 0.029710308431750067
            },
            {
              "energy": 0.0004413512135548596,
              "dyeMass": 0.009477345151681265,
              "massDriftPercent": 0.0016880169660504762,
              "speedRms": 0.029710308431750067
            }
          ]
        },
        {
          "time": 7,
          "tick": 840,
          "branches": [
            {
              "energy": 0.00034910722235851103,
              "dyeMass": 0.009477371565301455,
              "massDriftPercent": 0.001966724406110565,
              "speedRms": 0.026423747741700497
            },
            {
              "energy": 0.00034910722235851103,
              "dyeMass": 0.009477371565301455,
              "massDriftPercent": 0.001966724406110565,
              "speedRms": 0.026423747741700497
            }
          ]
        },
        {
          "time": 8,
          "tick": 960,
          "branches": [
            {
              "energy": 0.0002801811258124879,
              "dyeMass": 0.009477398213133377,
              "massDriftPercent": 0.0022479031678290795,
              "speedRms": 0.02367197185755711
            },
            {
              "energy": 0.0002801811258124879,
              "dyeMass": 0.009477398213133377,
              "massDriftPercent": 0.0022479031678290795,
              "speedRms": 0.02367197185755711
            }
          ]
        },
        {
          "time": 9,
          "tick": 1080,
          "branches": [
            {
              "energy": 0.0002273045227162117,
              "dyeMass": 0.009477424937923548,
              "massDriftPercent": 0.002529893966540797,
              "speedRms": 0.021321562921897245
            },
            {
              "energy": 0.0002273045227162117,
              "dyeMass": 0.009477424937923548,
              "massDriftPercent": 0.002529893966540797,
              "speedRms": 0.021321562921897245
            }
          ]
        },
        {
          "time": 10,
          "tick": 1200,
          "branches": [
            {
              "energy": 0.00018594575483968278,
              "dyeMass": 0.009477451331439804,
              "massDriftPercent": 0.0028083892767760688,
              "speedRms": 0.019284488836351497
            },
            {
              "energy": 0.00018594575483968278,
              "dyeMass": 0.009477451331439804,
              "massDriftPercent": 0.0028083892767760688,
              "speedRms": 0.019284488836351497
            }
          ]
        }
      ]
    },
    {
      "id": "corrected-ink-vortex-v2-256",
      "status": "corrected",
      "recipe": {
        "n": 256,
        "initial": "ink-vortex-v2",
        "viscosityB": 0.002,
        "dt": 0.008333333333333333,
        "duration": 10
      },
      "solver": "flow-periodic-mac-fft-v2-conservative-dye",
      "precision": "FP32",
      "measuredAt": "2026-10-30T11:32:02.680Z",
      "renderer": "ANGLE (Intel, Mesa Intel(R) Iris(R) Xe Graphics (TGL GT2), OpenGL ES 3.2)",
      "boundary": "periodic",
      "domainLength": 1,
      "domainArea": 1,
      "viscosityA": 0.002,
      "diffusivity": 0.00005,
      "evidenceSha256": "bc4061bd9aa1a98903b0e4aa50f21aae30a61f4a857c73fe365615e419f95e73",
      "sourceSha256": "2b0c01a0ded2b085b34abee17105d7a8b27f30dfb77b455e8cabf326f2501b4b",
      "sampledMaxMassDriftPercent": 0.005503067951517782,
      "samples": [
        {
          "time": 0,
          "tick": 0,
          "branches": [
            {
              "energy": 0.004966515504299277,
              "dyeMass": 0.009477068319627696,
              "massDriftPercent": 0,
              "speedRms": 0.09966459255221262
            },
            {
              "energy": 0.004966515504299277,
              "dyeMass": 0.009477068319627696,
              "massDriftPercent": 0,
              "speedRms": 0.09966459255221262
            }
          ]
        },
        {
          "time": 1,
          "tick": 120,
          "branches": [
            {
              "energy": 0.0026912608371843674,
              "dyeMass": 0.009477036142231216,
              "massDriftPercent": 0.00033952901250522416,
              "speedRms": 0.07336567095289687
            },
            {
              "energy": 0.0026912608371843674,
              "dyeMass": 0.009477036142231216,
              "massDriftPercent": 0.00033952901250522416,
              "speedRms": 0.07336567095289687
            }
          ]
        },
        {
          "time": 2,
          "tick": 240,
          "branches": [
            {
              "energy": 0.0016885130818561668,
              "dyeMass": 0.0094769819200745,
              "massDriftPercent": 0.0009116696248478995,
              "speedRms": 0.058112186017326296
            },
            {
              "energy": 0.0016885130818561668,
              "dyeMass": 0.0094769819200745,
              "massDriftPercent": 0.0009116696248478995,
              "speedRms": 0.058112186017326296
            }
          ]
        },
        {
          "time": 3,
          "tick": 360,
          "branches": [
            {
              "energy": 0.0011577264263462287,
              "dyeMass": 0.009476927581344413,
              "massDriftPercent": 0.0014850402944910357,
              "speedRms": 0.04811915265975137
            },
            {
              "energy": 0.0011577264263462287,
              "dyeMass": 0.009476927581344413,
              "massDriftPercent": 0.0014850402944910357,
              "speedRms": 0.04811915265975137
            }
          ]
        },
        {
          "time": 4,
          "tick": 480,
          "branches": [
            {
              "energy": 0.000841563177782712,
              "dyeMass": 0.009476873348675708,
              "massDriftPercent": 0.0020572918270955753,
              "speedRms": 0.0410259229703053
            },
            {
              "energy": 0.000841563177782712,
              "dyeMass": 0.009476873348675708,
              "massDriftPercent": 0.0020572918270955753,
              "speedRms": 0.0410259229703053
            }
          ]
        },
        {
          "time": 5,
          "tick": 600,
          "branches": [
            {
              "energy": 0.0006365646959562982,
              "dyeMass": 0.009476818672806472,
              "massDriftPercent": 0.002634219917008185,
              "speedRms": 0.035680938775662786
            },
            {
              "energy": 0.0006365646959562982,
              "dyeMass": 0.009476818672806472,
              "massDriftPercent": 0.002634219917008185,
              "speedRms": 0.035680938775662786
            }
          ]
        },
        {
          "time": 6,
          "tick": 720,
          "branches": [
            {
              "energy": 0.0004949600283569664,
              "dyeMass": 0.009476764344852746,
              "massDriftPercent": 0.003207476876798676,
              "speedRms": 0.03146299503724864
            },
            {
              "energy": 0.0004949600283569664,
              "dyeMass": 0.009476764344852746,
              "massDriftPercent": 0.003207476876798676,
              "speedRms": 0.03146299503724864
            }
          ]
        },
        {
          "time": 7,
          "tick": 840,
          "branches": [
            {
              "energy": 0.0003924179026753726,
              "dyeMass": 0.009476710027244283,
              "massDriftPercent": 0.0037806246755756057,
              "speedRms": 0.028014921119838
            },
            {
              "energy": 0.0003924179026753726,
              "dyeMass": 0.009476710027244283,
              "massDriftPercent": 0.0037806246755756057,
              "speedRms": 0.028014921119838
            }
          ]
        },
        {
          "time": 8,
          "tick": 960,
          "branches": [
            {
              "energy": 0.0003155295988590053,
              "dyeMass": 0.009476655589566885,
              "massDriftPercent": 0.004355039416104045,
              "speedRms": 0.02512089165849832
            },
            {
              "energy": 0.0003155295988590053,
              "dyeMass": 0.009476655589566885,
              "massDriftPercent": 0.004355039416104045,
              "speedRms": 0.02512089165849832
            }
          ]
        },
        {
          "time": 9,
          "tick": 1080,
          "branches": [
            {
              "energy": 0.0002563842018566887,
              "dyeMass": 0.009476601178060911,
              "massDriftPercent": 0.0049291780013560604,
              "speedRms": 0.02264439011573015
            },
            {
              "energy": 0.0002563842018566887,
              "dyeMass": 0.009476601178060911,
              "massDriftPercent": 0.0049291780013560604,
              "speedRms": 0.02264439011573015
            }
          ]
        },
        {
          "time": 10,
          "tick": 1200,
          "branches": [
            {
              "energy": 0.00021001689483352663,
              "dyeMass": 0.009476546790118254,
              "massDriftPercent": 0.005503067951517782,
              "speedRms": 0.02049472589880268
            },
            {
              "energy": 0.00021001689483352663,
              "dyeMass": 0.009476546790118254,
              "massDriftPercent": 0.005503067951517782,
              "speedRms": 0.02049472589880268
            }
          ]
        }
      ]
    }
  ]
}
