{"abstract":"Wind chill no longer converges as wind changes; values are off by several degrees.","category":"Weather index computation","checks":8,"contract":"Input temperature in degF and wind in km/h. Convert wind to mph (divide by 1.609344). If T > 50 degF or wind below 3 mph, return T rounded to 0.1. Otherwise return 35.74 + 0.6215T - 35.75V^0.16 + 0.4275T*V^0.16 rounded to 0.1.","evaluation_group":"w2-weather_index_computation-wind-chill","failed_approach":"Keeping V^0.16 but dropping T removes the temperature dependence of the interaction.","family":"w2-weather_index_computation-wind-chill-temperature-wind-interaction-term","id":"FA-70881","implementations":{"attempt":{"sha256":"1994af3f71d7ed21c39d2cf675893a6ca0a926d565cf32acb27c544247ab9759","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(t_f, wind_kmh):\n    mph = wind_kmh / 1.609344\n    if t_f > 50 or mph < 3:\n        return round(t_f, 1)\n    v = mph ** 0.16\n    wc = 35.74 + 0.6215 * t_f - 35.75 * v + 0.4275 * v\n    return round(wc, 1)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['-40F with 0 km/h wind', [-40, 0], -40], ['-40F with 3 km/h wind', [-40, 3], -40], ['-40F with 4 km/h wind', [-40, 4], -40], ['-40F with 4.8 km/h wind', [-40, 4.8], -40], ['-40F with 5 km/h wind', [-40, 5], -52.5], ['-40F with 8 km/h wind', [-40, 8], -57.4], ['-40F with 16 km/h wind', [-40, 16], -65.4], ['-40F with 32 km/h wind', [-40, 32], -74.4]], [['-40F with 32 km/h wind', [-40, 32], -74.4], ['-40F with 64 km/h wind', [-40, 64], -84.4], ['-40F with 100 km/h wind', [-40, 100], -91.4], ['-20F with 0 km/h wind', [-20, 0], -20], ['-20F with 3 km/h wind', [-20, 3], -20], ['-20F with 4 km/h wind', [-20, 4], -20], ['-20F with 4.8 km/h wind', [-20, 4.8], -20], ['-20F with 5 km/h wind', [-20, 5], -29.8]], [['-20F with 5 km/h wind', [-20, 5], -29.8], ['-20F with 8 km/h wind', [-20, 8], -33.9], ['-20F with 16 km/h wind', [-20, 16], -40.7], ['-20F with 32 km/h wind', [-20, 32], -48.2], ['-20F with 64 km/h wind', [-20, 64], -56.5], ['-20F with 100 km/h wind', [-20, 100], -62.5], ['-5F with 0 km/h wind', [-5, 0], -5], ['-5F with 3 km/h wind', [-5, 3], -5]], [['-20F with 32 km/h wind', [-20, 32], -48.2], ['-5F with 3 km/h wind', [-5, 3], -5], ['-5F with 4 km/h wind', [-5, 4], -5], ['-5F with 4.8 km/h wind', [-5, 4.8], -5], ['-5F with 5 km/h wind', [-5, 5], -12.8], ['-5F with 8 km/h wind', [-5, 8], -16.3], ['-5F with 16 km/h wind', [-5, 16], -22.1], ['-5F with 64 km/h wind', [-5, 64], -35.7]], [['-5F with 5 km/h wind', [-5, 5], -12.8], ['-5F with 64 km/h wind', [-5, 64], -35.7], ['-5F with 100 km/h wind', [-5, 100], -40.7], ['0F with 0 km/h wind', [0, 0], 0], ['0F with 3 km/h wind', [0, 3], 0], ['0F with 4 km/h wind', [0, 4], 0], ['0F with 4.8 km/h wind', [0, 4.8], 0], ['0F with 32 km/h wind', [0, 32], -21.9]]]\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":"f8b9fda78e9bf7ce9d450cfa47929fff7613e39cb87701ecddfa425a9945a72b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(t_f, wind_kmh):\n    mph = wind_kmh / 1.609344\n    if t_f > 50 or mph < 3:\n        return round(t_f, 1)\n    v = mph ** 0.16\n    wc = 35.74 + 0.6215 * t_f - 35.75 * v + 0.4275 * t_f\n    return round(wc, 1)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['-40F with 0 km/h wind', [-40, 0], -40], ['-40F with 3 km/h wind', [-40, 3], -40], ['-40F with 4 km/h wind', [-40, 4], -40], ['-40F with 4.8 km/h wind', [-40, 4.8], -40], ['-40F with 5 km/h wind', [-40, 5], -52.5], ['-40F with 8 km/h wind', [-40, 8], -57.4], ['-40F with 16 km/h wind', [-40, 16], -65.4], ['-40F with 32 km/h wind', [-40, 32], -74.4]], [['-40F with 32 km/h wind', [-40, 32], -74.4], ['-40F with 64 km/h wind', [-40, 64], -84.4], ['-40F with 100 km/h wind', [-40, 100], -91.4], ['-20F with 0 km/h wind', [-20, 0], -20], ['-20F with 3 km/h wind', [-20, 3], -20], ['-20F with 4 km/h wind', [-20, 4], -20], ['-20F with 4.8 km/h wind', [-20, 4.8], -20], ['-20F with 5 km/h wind', [-20, 5], -29.8]], [['-20F with 5 km/h wind', [-20, 5], -29.8], ['-20F with 8 km/h wind', [-20, 8], -33.9], ['-20F with 16 km/h wind', [-20, 16], -40.7], ['-20F with 32 km/h wind', [-20, 32], -48.2], ['-20F with 64 km/h wind', [-20, 64], -56.5], ['-20F with 100 km/h wind', [-20, 100], -62.5], ['-5F with 0 km/h wind', [-5, 0], -5], ['-5F with 3 km/h wind', [-5, 3], -5]], [['-20F with 32 km/h wind', [-20, 32], -48.2], ['-5F with 3 km/h wind', [-5, 3], -5], ['-5F with 4 km/h wind', [-5, 4], -5], ['-5F with 4.8 km/h wind', [-5, 4.8], -5], ['-5F with 5 km/h wind', [-5, 5], -12.8], ['-5F with 8 km/h wind', [-5, 8], -16.3], ['-5F with 16 km/h wind', [-5, 16], -22.1], ['-5F with 64 km/h wind', [-5, 64], -35.7]], [['-5F with 5 km/h wind', [-5, 5], -12.8], ['-5F with 64 km/h wind', [-5, 64], -35.7], ['-5F with 100 km/h wind', [-5, 100], -40.7], ['0F with 0 km/h wind', [0, 0], 0], ['0F with 3 km/h wind', [0, 3], 0], ['0F with 4 km/h wind', [0, 4], 0], ['0F with 4.8 km/h wind', [0, 4.8], 0], ['0F with 32 km/h wind', [0, 32], -21.9]]]\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":"9764b6260218d210f6dfbad67a67b3af3fefc0ce364a3985c9336a1ee6509801","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(t_f, wind_kmh):\n    mph = wind_kmh / 1.609344\n    if t_f > 50 or mph < 3:\n        return round(t_f, 1)\n    v = mph ** 0.16\n    wc = 35.74 + 0.6215 * t_f - 35.75 * v + 0.4275 * t_f * v\n    return round(wc, 1)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['-40F with 0 km/h wind', [-40, 0], -40], ['-40F with 3 km/h wind', [-40, 3], -40], ['-40F with 4 km/h wind', [-40, 4], -40], ['-40F with 4.8 km/h wind', [-40, 4.8], -40], ['-40F with 5 km/h wind', [-40, 5], -52.5], ['-40F with 8 km/h wind', [-40, 8], -57.4], ['-40F with 16 km/h wind', [-40, 16], -65.4], ['-40F with 32 km/h wind', [-40, 32], -74.4]], [['-40F with 32 km/h wind', [-40, 32], -74.4], ['-40F with 64 km/h wind', [-40, 64], -84.4], ['-40F with 100 km/h wind', [-40, 100], -91.4], ['-20F with 0 km/h wind', [-20, 0], -20], ['-20F with 3 km/h wind', [-20, 3], -20], ['-20F with 4 km/h wind', [-20, 4], -20], ['-20F with 4.8 km/h wind', [-20, 4.8], -20], ['-20F with 5 km/h wind', [-20, 5], -29.8]], [['-20F with 5 km/h wind', [-20, 5], -29.8], ['-20F with 8 km/h wind', [-20, 8], -33.9], ['-20F with 16 km/h wind', [-20, 16], -40.7], ['-20F with 32 km/h wind', [-20, 32], -48.2], ['-20F with 64 km/h wind', [-20, 64], -56.5], ['-20F with 100 km/h wind', [-20, 100], -62.5], ['-5F with 0 km/h wind', [-5, 0], -5], ['-5F with 3 km/h wind', [-5, 3], -5]], [['-20F with 32 km/h wind', [-20, 32], -48.2], ['-5F with 3 km/h wind', [-5, 3], -5], ['-5F with 4 km/h wind', [-5, 4], -5], ['-5F with 4.8 km/h wind', [-5, 4.8], -5], ['-5F with 5 km/h wind', [-5, 5], -12.8], ['-5F with 8 km/h wind', [-5, 8], -16.3], ['-5F with 16 km/h wind', [-5, 16], -22.1], ['-5F with 64 km/h wind', [-5, 64], -35.7]], [['-5F with 5 km/h wind', [-5, 5], -12.8], ['-5F with 64 km/h wind', [-5, 64], -35.7], ['-5F with 100 km/h wind', [-5, 100], -40.7], ['0F with 0 km/h wind', [0, 0], 0], ['0F with 3 km/h wind', [0, 3], 0], ['0F with 4 km/h wind', [0, 4], 0], ['0F with 4.8 km/h wind', [0, 4.8], 0], ['0F with 32 km/h wind', [0, 32], -21.9]]]\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 teaching model of an operational weather index; coefficients and thresholds are fixed by the contract and no claim of standards conformance is made. 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-weather_index_computation-wind-chill-temperature-wind-interaction-term","generated_at":"2026-09-29T14:48:24.778514+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Cold-weather advisories and frostbite timing use the wind chill index.","repair":"Use 0.4275*T*V^0.16.","root_cause":"The interaction term drops the V^0.16 factor.","sha256":"9d7f481ddd9e90207e980f4a124b6b0c6ed0151f3c8f22710e98cd111b32af6d","title":"Wind chill from km/h anemometer: temperature-wind interaction term · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":36.363,"exit_code":1,"observations":[{"actual":-40,"check":"-40F with 0 km/h wind","expected":-40,"passed":true},{"actual":-40,"check":"-40F with 3 km/h wind","expected":-40,"passed":true},{"actual":-40,"check":"-40F with 4 km/h wind","expected":-40,"passed":true},{"actual":-40,"check":"-40F with 4.8 km/h wind","expected":-40,"passed":true},{"actual":-31.5,"check":"-40F with 5 km/h wind","expected":-52.5,"passed":false},{"actual":-34.8,"check":"-40F with 8 km/h wind","expected":-57.4,"passed":false},{"actual":-40.1,"check":"-40F with 16 km/h wind","expected":-65.4,"passed":false},{"actual":-46.1,"check":"-40F with 32 km/h wind","expected":-74.4,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"-40F with 0 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 3 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 4 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 4.8 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 5 km/h wind\", \"actual\": -31.5, \"expected\": -52.5, \"passed\": false}, {\"check\": \"-40F with 8 km/h wind\", \"actual\": -34.8, \"expected\": -57.4, \"passed\": false}, {\"check\": \"-40F with 16 km/h wind\", \"actual\": -40.1, \"expected\": -65.4, \"passed\": false}, {\"check\": \"-40F with 32 km/h wind\", \"actual\": -46.1, \"expected\": -74.4, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.985,"exit_code":1,"observations":[{"actual":-40,"check":"-40F with 0 km/h wind","expected":-40,"passed":true},{"actual":-40,"check":"-40F with 3 km/h wind","expected":-40,"passed":true},{"actual":-40,"check":"-40F with 4 km/h wind","expected":-40,"passed":true},{"actual":-40,"check":"-40F with 4.8 km/h wind","expected":-40,"passed":true},{"actual":-49.1,"check":"-40F with 5 km/h wind","expected":-52.5,"passed":false},{"actual":-52.4,"check":"-40F with 8 km/h wind","expected":-57.4,"passed":false},{"actual":-57.8,"check":"-40F with 16 km/h wind","expected":-65.4,"passed":false},{"actual":-63.9,"check":"-40F with 32 km/h wind","expected":-74.4,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"-40F with 0 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 3 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 4 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 4.8 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 5 km/h wind\", \"actual\": -49.1, \"expected\": -52.5, \"passed\": false}, {\"check\": \"-40F with 8 km/h wind\", \"actual\": -52.4, \"expected\": -57.4, \"passed\": false}, {\"check\": \"-40F with 16 km/h wind\", \"actual\": -57.8, \"expected\": -65.4, \"passed\": false}, {\"check\": \"-40F with 32 km/h wind\", \"actual\": -63.9, \"expected\": -74.4, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.502,"exit_code":0,"observations":[{"actual":-40,"check":"-40F with 0 km/h wind","expected":-40,"passed":true},{"actual":-40,"check":"-40F with 3 km/h wind","expected":-40,"passed":true},{"actual":-40,"check":"-40F with 4 km/h wind","expected":-40,"passed":true},{"actual":-40,"check":"-40F with 4.8 km/h wind","expected":-40,"passed":true},{"actual":-52.5,"check":"-40F with 5 km/h wind","expected":-52.5,"passed":true},{"actual":-57.4,"check":"-40F with 8 km/h wind","expected":-57.4,"passed":true},{"actual":-65.4,"check":"-40F with 16 km/h wind","expected":-65.4,"passed":true},{"actual":-74.4,"check":"-40F with 32 km/h wind","expected":-74.4,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"-40F with 0 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 3 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 4 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 4.8 km/h wind\", \"actual\": -40, \"expected\": -40, \"passed\": true}, {\"check\": \"-40F with 5 km/h wind\", \"actual\": -52.5, \"expected\": -52.5, \"passed\": true}, {\"check\": \"-40F with 8 km/h wind\", \"actual\": -57.4, \"expected\": -57.4, \"passed\": true}, {\"check\": \"-40F with 16 km/h wind\", \"actual\": -65.4, \"expected\": -65.4, \"passed\": true}, {\"check\": \"-40F with 32 km/h wind\", \"actual\": -74.4, \"expected\": -74.4, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}