{"abstract":"Antarctic points are placed far from the south pole and the pole itself explodes.","category":"Map projection transforms","checks":8,"contract":"Input [lon, lat, pole, lon0, k0]. pole \"N\" accepts lat >= 0 and \"S\" accepts lat <= 0; other points return None. Sphere R = 6371000, dl = rad(lon - lon0). North: rho = 2*R*k0*tan(pi/4 - phi/2), x = rho*sin(dl), y = -rho*cos(dl). South: rho = 2*R*k0*tan(pi/4 + phi/2), x = rho*sin(dl), y = rho*cos(dl). Rounded to 2 decimals.","evaluation_group":"w2-map-projection-transforms-polar-stereographic","failed_approach":"Using abs(phi) makes the south radius grow toward the pole instead of shrinking.","family":"w2-map-projection-transforms-polar-stereographic-south-aspect-radius","id":"FA-70156","implementations":{"attempt":{"sha256":"f1126e16849f26b05a40e5f880c8206c6f082e2f2ba0c577e498063c86d46781","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    lon, lat, pole, lon0, k0 = x\n    R = 6371000.0\n    if (pole == 'N' and lat < 0) or (pole == 'S' and lat > 0):\n        return None\n    phi = math.radians(lat)\n    dl = math.radians(lon - lon0)\n    if pole == 'N':\n        rho = 2 * R * k0 * math.tan(math.pi / 4 - phi / 2)\n        return [round(rho * math.sin(dl), 2), round(-rho * math.cos(dl), 2)]\n    rho = 2 * R * k0 * math.tan(math.pi / 4 + abs(phi) / 2)\n    return [round(rho * math.sin(dl), 2), round(rho * math.cos(dl), 2)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [-8.993, 52.361, 'N', 180.0, 1.0], [678803.65, 4289189.08]), ('control #1', [-175.479, -58.613, 'S', 70.0, 0.994], [3237624.01, -1476903.61]), ('control #2', [-54.642, 24.763, 'N', 180.0, 0.9996], [6647880.23, 4717072.09]), ('control #3', [-55.98, 14.924, 'N', -45.0, 0.9996], [-1864055.44, -9607637.84]), ('control #4', [-10.59, -42.995, 'S', 180.0, 0.994], [1012221.27, -5413982.3]), ('control #5', [123.778, -15.586, 'S', 70.0, 1.0], [7804467.33, 5716609.82]), ('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #7', [-170.617, 3.39, 'N', 180.0, 0.994], [1946208.51, -11777778.83])], [('control #3', [-55.98, 14.924, 'N', -45.0, 0.9996], [-1864055.44, -9607637.84]), ('control #4', [-10.59, -42.995, 'S', 180.0, 0.994], [1012221.27, -5413982.3]), ('control #5', [123.778, -15.586, 'S', 70.0, 1.0], [7804467.33, 5716609.82]), ('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #7', [-170.617, 3.39, 'N', 180.0, 0.994], [1946208.51, -11777778.83]), ('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #9', [119.432, 24.56, 'N', 0.0, 0.994], [7087167.41, 3998630.2]), ('control #10', [112.92, -7.484, 'S', 0.0, 0.994], [10233335.79, -4326940.4])], [('control #5', [123.778, -15.586, 'S', 70.0, 1.0], [7804467.33, 5716609.82]), ('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #9', [119.432, 24.56, 'N', 0.0, 0.994], [7087167.41, 3998630.2]), ('control #10', [112.92, -7.484, 'S', 0.0, 0.994], [10233335.79, -4326940.4]), ('control #11', [38.777, -30.127, 'S', 0.0, 1.0], [4595585.04, 5720455.9]), ('control #12', [-24.24, 42.676, 'N', -45.0, 0.994], [1967139.89, -5189443.03]), ('control #13', [-123.503, 27.165, 'N', 180.0, 1.0], [6489985.88, -4296116.65])], [('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #11', [38.777, -30.127, 'S', 0.0, 1.0], [4595585.04, 5720455.9]), ('control #12', [-24.24, 42.676, 'N', -45.0, 0.994], [1967139.89, -5189443.03]), ('control #13', [-123.503, 27.165, 'N', 180.0, 1.0], [6489985.88, -4296116.65]), ('control #14', [-71.556, 31.408, 'N', 70.0, 1.0], [-4445077.72, 5599453.4]), ('control #15', [133.789, -17.059, 'S', -45.0, 0.9996], [198973.01, -9412565.04]), ('control #16', [-69.256, 8.234, 'N', 70.0, 1.0], [-7199620.38, 8357340.39])], [('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #10', [112.92, -7.484, 'S', 0.0, 0.994], [10233335.79, -4326940.4]), ('control #14', [-71.556, 31.408, 'N', 70.0, 1.0], [-4445077.72, 5599453.4]), ('control #15', [133.789, -17.059, 'S', -45.0, 0.9996], [198973.01, -9412565.04]), ('control #16', [-69.256, 8.234, 'N', 70.0, 1.0], [-7199620.38, 8357340.39]), ('control #17', [97.814, -49.911, 'S', 0.0, 1.0], [4605752.41, -632056.15]), ('control #18', [97.975, -42.328, 'S', 70.0, 1.0], [2640701.25, 4971668.82]), ('control #19', [-43.641, 83.328, 'N', 0.0, 0.994], [-509511.77, -534273.99])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"34ac7a0729e0e3582303260c888e6d407756c41adb3d2f3ef74dc1713b45d494","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    lon, lat, pole, lon0, k0 = x\n    R = 6371000.0\n    if (pole == 'N' and lat < 0) or (pole == 'S' and lat > 0):\n        return None\n    phi = math.radians(lat)\n    dl = math.radians(lon - lon0)\n    if pole == 'N':\n        rho = 2 * R * k0 * math.tan(math.pi / 4 - phi / 2)\n        return [round(rho * math.sin(dl), 2), round(-rho * math.cos(dl), 2)]\n    rho = 2 * R * k0 * math.tan(math.pi / 4 - phi / 2)\n    return [round(rho * math.sin(dl), 2), round(rho * math.cos(dl), 2)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [-8.993, 52.361, 'N', 180.0, 1.0], [678803.65, 4289189.08]), ('control #1', [-175.479, -58.613, 'S', 70.0, 0.994], [3237624.01, -1476903.61]), ('control #2', [-54.642, 24.763, 'N', 180.0, 0.9996], [6647880.23, 4717072.09]), ('control #3', [-55.98, 14.924, 'N', -45.0, 0.9996], [-1864055.44, -9607637.84]), ('control #4', [-10.59, -42.995, 'S', 180.0, 0.994], [1012221.27, -5413982.3]), ('control #5', [123.778, -15.586, 'S', 70.0, 1.0], [7804467.33, 5716609.82]), ('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #7', [-170.617, 3.39, 'N', 180.0, 0.994], [1946208.51, -11777778.83])], [('control #3', [-55.98, 14.924, 'N', -45.0, 0.9996], [-1864055.44, -9607637.84]), ('control #4', [-10.59, -42.995, 'S', 180.0, 0.994], [1012221.27, -5413982.3]), ('control #5', [123.778, -15.586, 'S', 70.0, 1.0], [7804467.33, 5716609.82]), ('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #7', [-170.617, 3.39, 'N', 180.0, 0.994], [1946208.51, -11777778.83]), ('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #9', [119.432, 24.56, 'N', 0.0, 0.994], [7087167.41, 3998630.2]), ('control #10', [112.92, -7.484, 'S', 0.0, 0.994], [10233335.79, -4326940.4])], [('control #5', [123.778, -15.586, 'S', 70.0, 1.0], [7804467.33, 5716609.82]), ('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #9', [119.432, 24.56, 'N', 0.0, 0.994], [7087167.41, 3998630.2]), ('control #10', [112.92, -7.484, 'S', 0.0, 0.994], [10233335.79, -4326940.4]), ('control #11', [38.777, -30.127, 'S', 0.0, 1.0], [4595585.04, 5720455.9]), ('control #12', [-24.24, 42.676, 'N', -45.0, 0.994], [1967139.89, -5189443.03]), ('control #13', [-123.503, 27.165, 'N', 180.0, 1.0], [6489985.88, -4296116.65])], [('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #11', [38.777, -30.127, 'S', 0.0, 1.0], [4595585.04, 5720455.9]), ('control #12', [-24.24, 42.676, 'N', -45.0, 0.994], [1967139.89, -5189443.03]), ('control #13', [-123.503, 27.165, 'N', 180.0, 1.0], [6489985.88, -4296116.65]), ('control #14', [-71.556, 31.408, 'N', 70.0, 1.0], [-4445077.72, 5599453.4]), ('control #15', [133.789, -17.059, 'S', -45.0, 0.9996], [198973.01, -9412565.04]), ('control #16', [-69.256, 8.234, 'N', 70.0, 1.0], [-7199620.38, 8357340.39])], [('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #10', [112.92, -7.484, 'S', 0.0, 0.994], [10233335.79, -4326940.4]), ('control #14', [-71.556, 31.408, 'N', 70.0, 1.0], [-4445077.72, 5599453.4]), ('control #15', [133.789, -17.059, 'S', -45.0, 0.9996], [198973.01, -9412565.04]), ('control #16', [-69.256, 8.234, 'N', 70.0, 1.0], [-7199620.38, 8357340.39]), ('control #17', [97.814, -49.911, 'S', 0.0, 1.0], [4605752.41, -632056.15]), ('control #18', [97.975, -42.328, 'S', 70.0, 1.0], [2640701.25, 4971668.82]), ('control #19', [-43.641, 83.328, 'N', 0.0, 0.994], [-509511.77, -534273.99])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"8b1d99e360f1bc3f04fa8eb1618ce0c9109680cf8d9619b3ae98b5db4f5b7506","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    lon, lat, pole, lon0, k0 = x\n    R = 6371000.0\n    if (pole == 'N' and lat < 0) or (pole == 'S' and lat > 0):\n        return None\n    phi = math.radians(lat)\n    dl = math.radians(lon - lon0)\n    if pole == 'N':\n        rho = 2 * R * k0 * math.tan(math.pi / 4 - phi / 2)\n        return [round(rho * math.sin(dl), 2), round(-rho * math.cos(dl), 2)]\n    rho = 2 * R * k0 * math.tan(math.pi / 4 + phi / 2)\n    return [round(rho * math.sin(dl), 2), round(rho * math.cos(dl), 2)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [-8.993, 52.361, 'N', 180.0, 1.0], [678803.65, 4289189.08]), ('control #1', [-175.479, -58.613, 'S', 70.0, 0.994], [3237624.01, -1476903.61]), ('control #2', [-54.642, 24.763, 'N', 180.0, 0.9996], [6647880.23, 4717072.09]), ('control #3', [-55.98, 14.924, 'N', -45.0, 0.9996], [-1864055.44, -9607637.84]), ('control #4', [-10.59, -42.995, 'S', 180.0, 0.994], [1012221.27, -5413982.3]), ('control #5', [123.778, -15.586, 'S', 70.0, 1.0], [7804467.33, 5716609.82]), ('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #7', [-170.617, 3.39, 'N', 180.0, 0.994], [1946208.51, -11777778.83])], [('control #3', [-55.98, 14.924, 'N', -45.0, 0.9996], [-1864055.44, -9607637.84]), ('control #4', [-10.59, -42.995, 'S', 180.0, 0.994], [1012221.27, -5413982.3]), ('control #5', [123.778, -15.586, 'S', 70.0, 1.0], [7804467.33, 5716609.82]), ('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #7', [-170.617, 3.39, 'N', 180.0, 0.994], [1946208.51, -11777778.83]), ('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #9', [119.432, 24.56, 'N', 0.0, 0.994], [7087167.41, 3998630.2]), ('control #10', [112.92, -7.484, 'S', 0.0, 0.994], [10233335.79, -4326940.4])], [('control #5', [123.778, -15.586, 'S', 70.0, 1.0], [7804467.33, 5716609.82]), ('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #9', [119.432, 24.56, 'N', 0.0, 0.994], [7087167.41, 3998630.2]), ('control #10', [112.92, -7.484, 'S', 0.0, 0.994], [10233335.79, -4326940.4]), ('control #11', [38.777, -30.127, 'S', 0.0, 1.0], [4595585.04, 5720455.9]), ('control #12', [-24.24, 42.676, 'N', -45.0, 0.994], [1967139.89, -5189443.03]), ('control #13', [-123.503, 27.165, 'N', 180.0, 1.0], [6489985.88, -4296116.65])], [('control #6', [48.904, -48.41, 'S', 180.0, 1.0], [-3646684.72, -3180757.54]), ('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #11', [38.777, -30.127, 'S', 0.0, 1.0], [4595585.04, 5720455.9]), ('control #12', [-24.24, 42.676, 'N', -45.0, 0.994], [1967139.89, -5189443.03]), ('control #13', [-123.503, 27.165, 'N', 180.0, 1.0], [6489985.88, -4296116.65]), ('control #14', [-71.556, 31.408, 'N', 70.0, 1.0], [-4445077.72, 5599453.4]), ('control #15', [133.789, -17.059, 'S', -45.0, 0.9996], [198973.01, -9412565.04]), ('control #16', [-69.256, 8.234, 'N', 70.0, 1.0], [-7199620.38, 8357340.39])], [('control #8', [27.496, -32.858, 'S', 180.0, 0.9996], [-3202270.07, -6152552.24]), ('control #10', [112.92, -7.484, 'S', 0.0, 0.994], [10233335.79, -4326940.4]), ('control #14', [-71.556, 31.408, 'N', 70.0, 1.0], [-4445077.72, 5599453.4]), ('control #15', [133.789, -17.059, 'S', -45.0, 0.9996], [198973.01, -9412565.04]), ('control #16', [-69.256, 8.234, 'N', 70.0, 1.0], [-7199620.38, 8357340.39]), ('control #17', [97.814, -49.911, 'S', 0.0, 1.0], [4605752.41, -632056.15]), ('control #18', [97.975, -42.328, 'S', 70.0, 1.0], [2640701.25, 4971668.82]), ('control #19', [-43.641, 83.328, 'N', 0.0, 0.994], [-509511.77, -534273.99])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated deterministic toy contract on a bounded input domain; results are rounded as stated and no conformance with any published standard or library is claimed. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-map-projection-transforms-polar-stereographic-south-aspect-radius","generated_at":"2026-09-29T14:48:17.948439+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Sea-ice, Antarctic and Arctic products are gridded in polar stereographic; a sign slip rotates whole continents.","repair":"At the south aspect radius step restore `rho = 2 * R * k0 * math.tan(math.pi / 4 + phi / 2)`, leaving the rest of the model unchanged.","root_cause":"The south aspect reuses the north-aspect radius tan(pi/4 - phi/2).","sha256":"4f5d197d2edd3d1622352dc68009b5979f1eb8fcf3089469429f51fcaa46d738","title":"Spherical polar stereographic forward: south aspect radius · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.577,"exit_code":1,"observations":[{"actual":[678803.65,4289189.08],"check":"control #0","expected":[678803.65,4289189.08],"passed":true},{"actual":[41013064.62,-18708887.43],"check":"control #1","expected":[3237624.01,-1476903.61],"passed":false},{"actual":[6647880.23,4717072.09],"check":"control #2","expected":[6647880.23,4717072.09],"passed":true},{"actual":[-1864055.44,-9607637.84],"check":"control #3","expected":[-1864055.44,-9607637.84],"passed":true},{"actual":[5352639.93,-28629212.55],"check":"control #4","expected":[1012221.27,-5413982.3],"passed":false},{"actual":[13539171.59,9917161.29],"check":"control #5","expected":[7804467.33,5716609.82],"passed":false},{"actual":[-25285378.81,-22054733.39],"check":"control #6","expected":[-3646684.72,-3180757.54],"passed":false},{"actual":[1946208.51,-11777778.83],"check":"control #7","expected":[1946208.51,-11777778.83],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [678803.65, 4289189.08], \"expected\": [678803.65, 4289189.08], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [41013064.62, -18708887.43], \"expected\": [3237624.01, -1476903.61], \"passed\": false}, {\"check\": \"control #2\", \"actual\": [6647880.23, 4717072.09], \"expected\": [6647880.23, 4717072.09], \"passed\": true}, {\"check\": \"control #3\", \"actual\": [-1864055.44, -9607637.84], \"expected\": [-1864055.44, -9607637.84], \"passed\": true}, {\"check\": \"control #4\", \"actual\": [5352639.93, -28629212.55], \"expected\": [1012221.27, -5413982.3], \"passed\": false}, {\"check\": \"control #5\", \"actual\": [13539171.59, 9917161.29], \"expected\": [7804467.33, 5716609.82], \"passed\": false}, {\"check\": \"control #6\", \"actual\": [-25285378.81, -22054733.39], \"expected\": [-3646684.72, -3180757.54], \"passed\": false}, {\"check\": \"control #7\", \"actual\": [1946208.51, -11777778.83], \"expected\": [1946208.51, -11777778.83], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.53,"exit_code":1,"observations":[{"actual":[678803.65,4289189.08],"check":"control #0","expected":[678803.65,4289189.08],"passed":true},{"actual":[41013064.62,-18708887.43],"check":"control #1","expected":[3237624.01,-1476903.61],"passed":false},{"actual":[6647880.23,4717072.09],"check":"control #2","expected":[6647880.23,4717072.09],"passed":true},{"actual":[-1864055.44,-9607637.84],"check":"control #3","expected":[-1864055.44,-9607637.84],"passed":true},{"actual":[5352639.93,-28629212.55],"check":"control #4","expected":[1012221.27,-5413982.3],"passed":false},{"actual":[13539171.59,9917161.29],"check":"control #5","expected":[7804467.33,5716609.82],"passed":false},{"actual":[-25285378.81,-22054733.39],"check":"control #6","expected":[-3646684.72,-3180757.54],"passed":false},{"actual":[1946208.51,-11777778.83],"check":"control #7","expected":[1946208.51,-11777778.83],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [678803.65, 4289189.08], \"expected\": [678803.65, 4289189.08], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [41013064.62, -18708887.43], \"expected\": [3237624.01, -1476903.61], \"passed\": false}, {\"check\": \"control #2\", \"actual\": [6647880.23, 4717072.09], \"expected\": [6647880.23, 4717072.09], \"passed\": true}, {\"check\": \"control #3\", \"actual\": [-1864055.44, -9607637.84], \"expected\": [-1864055.44, -9607637.84], \"passed\": true}, {\"check\": \"control #4\", \"actual\": [5352639.93, -28629212.55], \"expected\": [1012221.27, -5413982.3], \"passed\": false}, {\"check\": \"control #5\", \"actual\": [13539171.59, 9917161.29], \"expected\": [7804467.33, 5716609.82], \"passed\": false}, {\"check\": \"control #6\", \"actual\": [-25285378.81, -22054733.39], \"expected\": [-3646684.72, -3180757.54], \"passed\": false}, {\"check\": \"control #7\", \"actual\": [1946208.51, -11777778.83], \"expected\": [1946208.51, -11777778.83], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.41,"exit_code":0,"observations":[{"actual":[678803.65,4289189.08],"check":"control #0","expected":[678803.65,4289189.08],"passed":true},{"actual":[3237624.01,-1476903.61],"check":"control #1","expected":[3237624.01,-1476903.61],"passed":true},{"actual":[6647880.23,4717072.09],"check":"control #2","expected":[6647880.23,4717072.09],"passed":true},{"actual":[-1864055.44,-9607637.84],"check":"control #3","expected":[-1864055.44,-9607637.84],"passed":true},{"actual":[1012221.27,-5413982.3],"check":"control #4","expected":[1012221.27,-5413982.3],"passed":true},{"actual":[7804467.33,5716609.82],"check":"control #5","expected":[7804467.33,5716609.82],"passed":true},{"actual":[-3646684.72,-3180757.54],"check":"control #6","expected":[-3646684.72,-3180757.54],"passed":true},{"actual":[1946208.51,-11777778.83],"check":"control #7","expected":[1946208.51,-11777778.83],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [678803.65, 4289189.08], \"expected\": [678803.65, 4289189.08], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [3237624.01, -1476903.61], \"expected\": [3237624.01, -1476903.61], \"passed\": true}, {\"check\": \"control #2\", \"actual\": [6647880.23, 4717072.09], \"expected\": [6647880.23, 4717072.09], \"passed\": true}, {\"check\": \"control #3\", \"actual\": [-1864055.44, -9607637.84], \"expected\": [-1864055.44, -9607637.84], \"passed\": true}, {\"check\": \"control #4\", \"actual\": [1012221.27, -5413982.3], \"expected\": [1012221.27, -5413982.3], \"passed\": true}, {\"check\": \"control #5\", \"actual\": [7804467.33, 5716609.82], \"expected\": [7804467.33, 5716609.82], \"passed\": true}, {\"check\": \"control #6\", \"actual\": [-3646684.72, -3180757.54], \"expected\": [-3646684.72, -3180757.54], \"passed\": true}, {\"check\": \"control #7\", \"actual\": [1946208.51, -11777778.83], \"expected\": [1946208.51, -11777778.83], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}