{"id":"v001","input":{"dn":1450,"sensor":"sentinel-2-l2a"},"expect":{"result.reflectance":0.045,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v002","input":{"dn":1450,"sensor":"sentinel-2-l2a","baseline":"before-04.00"},"expect":{"result.reflectance":0.145,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v003","input":{"dn":2000,"sensor":"sentinel-2-l2a"},"expect":{"result.reflectance":0.1,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v004","input":{"dn":2000,"sensor":"sentinel-2-l2a","baseline":"before-04.00"},"expect":{"result.reflectance":0.2,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v005","input":{"dn":1001,"sensor":"sentinel-2-l2a"},"expect":{"result.reflectance":0.0001,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v006","input":{"dn":1001,"sensor":"sentinel-2-l2a","baseline":"before-04.00"},"expect":{"result.reflectance":0.1001,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v007","input":{"dn":9000,"sensor":"sentinel-2-l2a"},"expect":{"result.reflectance":0.8,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v008","input":{"dn":9000,"sensor":"sentinel-2-l2a","baseline":"before-04.00"},"expect":{"result.reflectance":0.9,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v009","input":{"dn":1200,"sensor":"sentinel-2-l2a"},"expect":{"result.reflectance":0.02,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v010","input":{"dn":1200,"sensor":"sentinel-2-l2a","baseline":"before-04.00"},"expect":{"result.reflectance":0.12,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v011","input":{"dn":3500,"sensor":"sentinel-2-l2a"},"expect":{"result.reflectance":0.25,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v012","input":{"dn":3500,"sensor":"sentinel-2-l2a","baseline":"before-04.00"},"expect":{"result.reflectance":0.35,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v013","input":{"dn":18639,"sensor":"landsat-c2-l2"},"expect":{"result.reflectance":0.3125725,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v014","input":{"dn":7273,"sensor":"landsat-c2-l2"},"expect":{"result.reflectance":7.499999999993623e-06,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v015","input":{"dn":43636,"sensor":"landsat-c2-l2"},"expect":{"result.reflectance":0.9999900000000002,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v016","input":{"dn":10000,"sensor":"landsat-c2-l2"},"expect":{"result.reflectance":0.07500000000000001,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
{"id":"v017","input":{"dn":30000,"sensor":"landsat-c2-l2"},"expect":{"result.reflectance":0.625,"ok":true},"source":"Index formulas transcribed from their papers in Python (tools/vectors/gen_raster.py)","sourceVersion":"2026-09-22","tolerance":{"result.reflectance":{"rel":0,"abs":1e-12}}}
