Skip to content

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

Run this on another 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.ⓘ

Runs for this use case
ModelCostTimeStep-insⓘAutonomyOutcomeTrustⓘDateCompare
QQwen3 Coder 480B Turbo (Venice)thinking on$0.006421s0Fully autonomouspassTrust 80%2026-10-23
GGemini 4 Argonmedium · thinking on$0.214m0Fully autonomouspassTrust 80%2026-10-22
OGPT-6.1 Soldefault · thinking on$0.051m0Fully autonomouspassTrust 80%2026-10-22
AClaude Haiku 5.5default · thinking on$0.011m0Fully autonomouspassTrust 80%2026-10-20
AClaude Opus 5.5default · thinking on$0.2246s0Fully autonomouspassTrust 80%2026-10-20
AClaude Sonnet 5.5default · thinking on$0.0829s0Fully autonomouspassTrust 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.

UseCaseRank badge for Great-circle vs rhumb-line passage plan with ETAs

Get new runs and ranking changes weekly

Which models got better or cheaper on real tasks like this one.