{"abstract":"Only the epoch prediction is right; later times drift wildly.","category":"Tide and marine navigation tables","checks":7,"contract":"Input [t_minutes, z0, constituents]; each constituent is [H metres, g phase lag deg, speed deg/hour, nodal factor f, nodal phase u deg, equilibrium argument V0 deg]. Height above chart datum is z0 + sum f*H*cos(V0+u+speed*t_hours-g). Return rounded to 4 decimals.","evaluation_group":"w2-tide_and_marine_navigation_tables-harmonic","failed_approach":"Dividing by 3600 treats the minute count as seconds.","family":"w2-tide_and_marine_navigation_tables-harmonic-time-unit","id":"FA-68881","implementations":{"attempt":{"sha256":"ca6f075f6c0c2638ceae0d4a50068aa0aa44c2958a3e5bb5e6f4f514694cc33e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    t,z0,cons=x\n    hours=t/3600\n    h=z0\n    for H,g,spd,f,u,v0 in cons:\n        arg=(v0+u+spd*hours-g)%360\n        h+=f*H*math.cos(math.radians(arg))\n    return round(h,4)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 2.3585), ('harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.8751), ('harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.2364), ('harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9476), ('harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9225), ('harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.6113), ('harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.3542)], [('harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.2364), ('harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9476), ('harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9225), ('harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.6113), ('harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.3542), ('harmonic tide prediction [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2733), ('harmonic tide prediction [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 4.1537)], [('harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9476), ('harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.3542), ('harmonic tide prediction [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2733), ('harmonic tide prediction [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 4.1537), ('harmonic tide prediction [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2709), ('harmonic tide prediction [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]]', [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]], 0.7071), ('harmonic tide prediction [0, 1.5, []]', [0, 1.5, []], 1.5)], [('harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9225), ('harmonic tide prediction [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2709), ('harmonic tide prediction [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]]', [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]], 0.7071), ('harmonic tide prediction [0, 1.5, []]', [0, 1.5, []], 1.5), ('harmonic tide prediction [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.2259), ('harmonic tide prediction [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 1.6646), ('harmonic tide prediction [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.6277)], [('harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.6113), ('harmonic tide prediction [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.2259), ('harmonic tide prediction [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 1.6646), ('harmonic tide prediction [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.6277), ('harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.8751), ('harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 2.3585), ('harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.2364)]]\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":"220fd1c85005b3fad9abbb3afdcf0886ae89a112b3adf664d99307d93993c830","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    t,z0,cons=x\n    hours=t\n    h=z0\n    for H,g,spd,f,u,v0 in cons:\n        arg=(v0+u+spd*hours-g)%360\n        h+=f*H*math.cos(math.radians(arg))\n    return round(h,4)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 2.3585), ('harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.8751), ('harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.2364), ('harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9476), ('harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9225), ('harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.6113), ('harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.3542)], [('harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.2364), ('harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9476), ('harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9225), ('harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.6113), ('harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.3542), ('harmonic tide prediction [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2733), ('harmonic tide prediction [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 4.1537)], [('harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9476), ('harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.3542), ('harmonic tide prediction [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2733), ('harmonic tide prediction [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 4.1537), ('harmonic tide prediction [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2709), ('harmonic tide prediction [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]]', [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]], 0.7071), ('harmonic tide prediction [0, 1.5, []]', [0, 1.5, []], 1.5)], [('harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9225), ('harmonic tide prediction [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2709), ('harmonic tide prediction [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]]', [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]], 0.7071), ('harmonic tide prediction [0, 1.5, []]', [0, 1.5, []], 1.5), ('harmonic tide prediction [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.2259), ('harmonic tide prediction [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 1.6646), ('harmonic tide prediction [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.6277)], [('harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.6113), ('harmonic tide prediction [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.2259), ('harmonic tide prediction [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 1.6646), ('harmonic tide prediction [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.6277), ('harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.8751), ('harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 2.3585), ('harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.2364)]]\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":"08401da9ae61a7df6650bd49bfefc9d5d74df337ca7b10839bc8e1ec0233acd1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    t,z0,cons=x\n    hours=t/60\n    h=z0\n    for H,g,spd,f,u,v0 in cons:\n        arg=(v0+u+spd*hours-g)%360\n        h+=f*H*math.cos(math.radians(arg))\n    return round(h,4)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 2.3585), ('harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.8751), ('harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.2364), ('harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9476), ('harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9225), ('harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.6113), ('harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.3542)], [('harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.2364), ('harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9476), ('harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9225), ('harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.6113), ('harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.3542), ('harmonic tide prediction [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2733), ('harmonic tide prediction [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 4.1537)], [('harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9476), ('harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.3542), ('harmonic tide prediction [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [0, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2733), ('harmonic tide prediction [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [200, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 4.1537), ('harmonic tide prediction [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2709), ('harmonic tide prediction [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]]', [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]], 0.7071), ('harmonic tide prediction [0, 1.5, []]', [0, 1.5, []], 1.5)], [('harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.9225), ('harmonic tide prediction [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]]', [745, 3.0, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0]]], 3.2709), ('harmonic tide prediction [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]]', [90, 0.0, [[1.0, 0.0, 30.0, 1.0, 0.0, 0.0]]], 0.7071), ('harmonic tide prediction [0, 1.5, []]', [0, 1.5, []], 1.5), ('harmonic tide prediction [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.2259), ('harmonic tide prediction [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 1.6646), ('harmonic tide prediction [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.6277)], [('harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.6113), ('harmonic tide prediction [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [0, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.2259), ('harmonic tide prediction [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [300, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 1.6646), ('harmonic tide prediction [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]]', [610, 1.0, [[0.8, 270.0, 28.9841042, 0.97, 4.0, 90.0]]], 0.6277), ('harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 1.8751), ('harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 2.3585), ('harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]', [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]], 3.2364)]]\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":"A deterministic toy model with stipulated rules and constants; not certified hydrographic software or a substitute for official tide tables. 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-tide_and_marine_navigation_tables-harmonic-time-unit","generated_at":"2026-09-29T14:48:06.341142+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tide tables and passage plans turn published predictions into go/no-go decisions about depth, clearance and timing.","repair":"Convert minutes to hours before multiplying by the constituent speed.","root_cause":"Speeds are degrees per hour but the minute count is used directly.","sha256":"413cac6f628fb3fdd2c8ded0fe605b4ef1036243f582cff822250ab72327b515","title":"Harmonic tide prediction: Minute timestamps are multiplied by an hourly speed · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.801,"exit_code":1,"observations":[{"actual":1.8832,"check":"harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":2.3585,"passed":false},{"actual":1.8751,"check":"harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.8751,"passed":true},{"actual":1.9075,"check":"harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":3.2364,"passed":false},{"actual":1.942,"check":"harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.9476,"passed":false},{"actual":2.0052,"check":"harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.9225,"passed":false},{"actual":2.0558,"check":"harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":3.6113,"passed":false},{"actual":2.1352,"check":"harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.3542,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.8832, \"expected\": 2.3585, \"passed\": false}, {\"check\": \"harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.8751, \"expected\": 1.8751, \"passed\": true}, {\"check\": \"harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.9075, \"expected\": 3.2364, \"passed\": false}, {\"check\": \"harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.942, \"expected\": 1.9476, \"passed\": false}, {\"check\": \"harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 2.0052, \"expected\": 1.9225, \"passed\": false}, {\"check\": \"harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 2.0558, \"expected\": 3.6113, \"passed\": false}, {\"check\": \"harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 2.1352, \"expected\": 1.3542, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.604,"exit_code":1,"observations":[{"actual":0.9174,"check":"harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":2.3585,"passed":false},{"actual":1.8751,"check":"harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.8751,"passed":true},{"actual":1.7203,"check":"harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":3.2364,"passed":false},{"actual":1.1683,"check":"harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.9476,"passed":false},{"actual":1.5395,"check":"harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.9225,"passed":false},{"actual":2.2844,"check":"harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":3.6113,"passed":false},{"actual":1.2665,"check":"harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.3542,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 0.9174, \"expected\": 2.3585, \"passed\": false}, {\"check\": \"harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.8751, \"expected\": 1.8751, \"passed\": true}, {\"check\": \"harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.7203, \"expected\": 3.2364, \"passed\": false}, {\"check\": \"harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.1683, \"expected\": 1.9476, \"passed\": false}, {\"check\": \"harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.5395, \"expected\": 1.9225, \"passed\": false}, {\"check\": \"harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 2.2844, \"expected\": 3.6113, \"passed\": false}, {\"check\": \"harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.2665, \"expected\": 1.3542, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.304,"exit_code":0,"observations":[{"actual":2.3585,"check":"harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":2.3585,"passed":true},{"actual":1.8751,"check":"harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.8751,"passed":true},{"actual":3.2364,"check":"harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":3.2364,"passed":true},{"actual":1.9476,"check":"harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.9476,"passed":true},{"actual":1.9225,"check":"harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.9225,"passed":true},{"actual":3.6113,"check":"harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":3.6113,"passed":true},{"actual":1.3542,"check":"harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]","expected":1.3542,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"harmonic tide prediction [45, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 2.3585, \"expected\": 2.3585, \"passed\": true}, {\"check\": \"harmonic tide prediction [0, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.8751, \"expected\": 1.8751, \"passed\": true}, {\"check\": \"harmonic tide prediction [180, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 3.2364, \"expected\": 3.2364, \"passed\": true}, {\"check\": \"harmonic tide prediction [371, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.9476, \"expected\": 1.9476, \"passed\": true}, {\"check\": \"harmonic tide prediction [720, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.9225, \"expected\": 1.9225, \"passed\": true}, {\"check\": \"harmonic tide prediction [1000, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 3.6113, \"expected\": 3.6113, \"passed\": true}, {\"check\": \"harmonic tide prediction [1440, 2.1, [[1.2, 110.0, 28.9841042, 1.02, -2.1, 35.0], [0.4, 150.0, 30.0, 1.0, 0.0, 0.0], [0.25, 95.0, 15.0410686, 1.1, 8.5, 210.0]]]\", \"actual\": 1.3542, \"expected\": 1.3542, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}