{
  "date": "2026-11-13T00:45:14.838Z",
  "checks": [
    "Point source inverse-square/cosine hand checks, dimensional boundaries",
    "Measured Light exactly preserves UCI source row IDs and 1440 rows per day",
    "CIBSE/Lewis average DF uses degree angle and returns percent, no extra 100",
    "Display contrast ratio is unitless; equal luminance and exchange invariance",
    "Seoul solstice hand altitude28.99° and NOAA transit within0.05°, not KST12",
    "Busan transit and azimuth quadrants, leap year, sunrise approximation",
    "Article86(1) 10m discontinuity and correct distance envelope",
    "ISO7730 TableD.1 six verified rows versus actual browser engine",
    "Independent SciPy brentq heat balance, rather than copied ISO iteration",
    "PMV six inputs matter, heat-loss terms sum, ISO extrapolation is explicit",
    "ASHRAE2010+d 80/90 band hand checks, strict outdoor domain",
    "All109033 source rows copied, source hashes, numeric extras and UCI bound",
    "Natural-ventilation filters reproduce independent original-CSV counts",
    "Row and building means independently match raw CSV by outdoor bin"
  ],
  "pmv": [
    {
      "input": {
        "ta": 22,
        "tr": 22,
        "velocity": 0.1,
        "rh": 60,
        "met": 1.2,
        "clo": 0.5
      },
      "pmv": -0.7522870390952675,
      "ppd": 16.918638765200456,
      "isoPMV": -0.75,
      "isoPPD": 17,
      "rootPMV": -0.7530506493006293,
      "rootPPD": 16.943073016678
    },
    {
      "input": {
        "ta": 27,
        "tr": 27,
        "velocity": 0.1,
        "rh": 60,
        "met": 1.2,
        "clo": 0.5
      },
      "pmv": 0.7653694615264227,
      "ppd": 17.340701082895578,
      "isoPMV": 0.77,
      "isoPPD": 17,
      "rootPMV": 0.7639114176153284,
      "rootPPD": 17.293299784237675
    },
    {
      "input": {
        "ta": 27,
        "tr": 27,
        "velocity": 0.3,
        "rh": 60,
        "met": 1.2,
        "clo": 0.5
      },
      "pmv": 0.43376839945619616,
      "ppd": 8.924314263235189,
      "isoPMV": 0.44,
      "isoPPD": 9,
      "rootPMV": 0.4327621356429541,
      "rootPPD": 8.906008368309443
    },
    {
      "input": {
        "ta": 23.5,
        "tr": 25.5,
        "velocity": 0.1,
        "rh": 60,
        "met": 1.2,
        "clo": 0.5
      },
      "pmv": -0.013118738307807383,
      "ppd": 5.003562610396514,
      "isoPMV": -0.01,
      "isoPPD": 5,
      "rootPMV": -0.0143736330458683,
      "rootPPD": 5.004276790461105
    },
    {
      "input": {
        "ta": 23.5,
        "tr": 25.5,
        "velocity": 0.3,
        "rh": 60,
        "met": 1.2,
        "clo": 0.5
      },
      "pmv": -0.5549829179580997,
      "ppd": 11.448751722552245,
      "isoPMV": -0.55,
      "isoPPD": 11,
      "rootPMV": -0.5560318879996834,
      "rootPPD": 11.473371078552091
    },
    {
      "input": {
        "ta": 19,
        "tr": 19,
        "velocity": 0.1,
        "rh": 40,
        "met": 1.2,
        "clo": 1
      },
      "pmv": -0.5984063048992779,
      "ppd": 12.507807994855668,
      "isoPMV": -0.6,
      "isoPPD": 13,
      "rootPMV": -0.600625856209168,
      "rootPPD": 12.564138777600235
    }
  ],
  "adaptive": {
    "n": 9880,
    "inside80": 7567,
    "counts": {
      "total": 109033,
      "natural": 46430,
      "complete": 13996,
      "temperature": 11947,
      "met": 10171,
      "heaterOn": 291,
      "heaterUnknown": 8697
    },
    "bins": [
      {
        "low": 10,
        "high": 12,
        "n": 1111,
        "k": 10,
        "rowMean": 0.29432943294329433,
        "buildingMean": 0.23097743957194786
      },
      {
        "low": 12,
        "high": 14,
        "n": 1175,
        "k": 15,
        "rowMean": 0.30553191489361703,
        "buildingMean": -0.16738177982380315
      },
      {
        "low": 14,
        "high": 16,
        "n": 621,
        "k": 10,
        "rowMean": 0.07729468599033816,
        "buildingMean": -0.01868806309008795
      },
      {
        "low": 16,
        "high": 18,
        "n": 899,
        "k": 18,
        "rowMean": 0.2992213570634038,
        "buildingMean": 0.006305504719359815
      },
      {
        "low": 18,
        "high": 20,
        "n": 389,
        "k": 14,
        "rowMean": 0.19023136246786632,
        "buildingMean": -0.18924664460378748
      },
      {
        "low": 20,
        "high": 22,
        "n": 217,
        "k": 23,
        "rowMean": 0.35944700460829493,
        "buildingMean": -0.40159014112502495
      },
      {
        "low": 22,
        "high": 24,
        "n": 438,
        "k": 39,
        "rowMean": -0.014840182648401826,
        "buildingMean": -0.3825349360084602
      },
      {
        "low": 24,
        "high": 26,
        "n": 1805,
        "k": 52,
        "rowMean": 0.2393905817174516,
        "buildingMean": 0.07810066636886319
      },
      {
        "low": 26,
        "high": 28,
        "n": 1543,
        "k": 54,
        "rowMean": 0.7736228127025274,
        "buildingMean": 0.3247936404661309
      },
      {
        "low": 28,
        "high": 30,
        "n": 1250,
        "k": 52,
        "rowMean": 0.6272800000000001,
        "buildingMean": 0.5142170360495019
      },
      {
        "low": 30,
        "high": 32,
        "n": 344,
        "k": 37,
        "rowMean": 1.245639534883721,
        "buildingMean": 0.672000271657794
      },
      {
        "low": 32,
        "high": 33.5,
        "n": 88,
        "k": 8,
        "rowMean": 1.4886363636363635,
        "buildingMean": 1.2795138888888888
      }
    ]
  },
  "status": "passed",
  "pmvMaxTableError": 0.006231600543803839
}
