Great-circle vs rhumb-line passage plan with ETAs
Exact prompt
# Great-circle vs rhumb-line passage plan with ETAs `input.json` (synthetic; not for navigation): `waypoints` ([lat, lon] decimal degrees, legs may cross the 180° meridian), `speed_kn`, `depart_utc` ("YYYY-MM-DDTHH:MM:SSZ"). Write `solve.py` (Python 3 standard library only); `python solve.py input.json answer.json` writes `answer.json` and `route.svg`. Fresh inputs are used too. ## Rules (sphere, R = 3440.065 nm) - Longitude difference dlon is always wrapped into [-180°, 180°). - **Great circle**: haversine distance; initial course = atan2(sin dlon * cos lat2, cos lat1 * sin lat2 - sin lat1 * cos lat2 * cos dlon) mod 360. - **Rhumb line**: dpsi = ln(tan(pi/4 + lat2/2) / tan(pi/4 + lat1/2)); q = dlat / dpsi, or cos(lat1) when |dpsi| <= 1e-12; distance = sqrt(dlat^2 + q^2 * dlon^2) * R (radians); course = atan2(dlon, dpsi) mod 360. - The boat sails the **rhumb** legs at `speed_kn`; leg ETA = departure + cumulative rhumb distance / speed, rounded to the nearest minute (half a minute rounds up), formatted "YYYY-MM-DDTHH:MMZ". - `rhumb_extra_pct` = (total rhumb - total GC) / total GC * 100. Round distances to 2 decimals, courses to 1, the percentage to 3. ## Visual output: route.svg Static, self-contained SVG (root `<svg>`, no scripts, images, links or external assets; renders headless) with `<polyline id="route-gc">`, `<polyline id="route-rhumb">` and an element `id="waypoints"`. The drawing (projection etc.) is not graded. ## answer.json `{"legs": [{"gc_nm", "gc_initial_course", "rhumb_nm", "rhumb_course", "eta_utc"}, ...], "total_gc_nm", "total_rhumb_nm", "rhumb_extra_pct", "arrival_utc"}` ## Scoring Hidden checks (partial credit; all must pass): `great_circle_legs`, `rhumb_legs` (first four legs; distances within 0.011, courses within 0.11), `totals`, `etas` (exact strings), `route_svg_static` (route.svg exists, follows the static rules, has the ids/tags above), `fresh_run_1`, `fresh_run_2` (all keys, within 0.02). 60-second limit per run.
Antimeridian wrap on both methods, the due east/west rhumb leg where dpsi is zero, initial great-circle course, and minute-rounded UTC ETAs that drift if per-leg rounding is used. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked).
Benchmark code for comparing AI models, not navigation or safety software.
Success criteria: 1. great_circle_legs 2. rhumb_legs 3. totals 4. etas 5. route_svg_static 6. fresh_run_1 7. fresh_run_2
Best model for this task so far: Qwen3 Coder 480B Turbo (Venice) (thinking on) (success, $0.0064, 21s).
Latest output per model
All runs (6)
100% pass rate across 6 eligible runs: 6 pass, 0 partial, 0 fail. Partial and failed runs are listed below with everything else.ⓘ
| Model | Cost | Time | Step-insⓘ | Autonomy | Outcome | Trustⓘ | Date | Compare |
|---|---|---|---|---|---|---|---|---|
| QQwen3 Coder 480B Turbo (Venice)thinking on | $0.0064 | 21s | 0 | Fully autonomous | pass | Trust 80% | 2026-10-23 | |
| GGemini 4 Argonmedium · thinking on | $0.21 | 4m | 0 | Fully autonomous | pass | Trust 80% | 2026-10-22 | |
| OGPT-6.1 Soldefault · thinking on | $0.05 | 1m | 0 | Fully autonomous | pass | Trust 80% | 2026-10-22 | |
| AClaude Haiku 5.5default · thinking on | $0.01 | 1m | 0 | Fully autonomous | pass | Trust 80% | 2026-10-20 | |
| AClaude Opus 5.5default · thinking on | $0.22 | 46s | 0 | Fully autonomous | pass | Trust 80% | 2026-10-20 | |
| AClaude Sonnet 5.5default · thinking on | $0.08 | 29s | 0 | Fully autonomous | pass | Trust 80% | 2026-10-20 |
Embed this result
A live badge for this use case. It links back here and updates as new runs are published.
Get new runs and ranking changes weekly
Which models got better or cheaper on real tasks like this one.