Vessel routing & port operations
Plan routes in chart plotters and schedule berths and yard moves.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- OpenCPN · ECDIS simulators · terminal operating systems
- Class GUI-need label
G2· GUI-essential
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R07.13.01.02-T01 Create and export a six-waypoint route in OpenCPN
Original instruction
Training exercise. In OpenCPN with the synthetic ENC set fixtures/enc_bay/, create route 'Bay Transit' through the 6 positions in input/wps.csv (in order), name each waypoint as listed, and export the route to output/bay_transit.gpx.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- OpenCPN
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formsnav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Grader parses the GPX and OpenCPN's navobj.xml: 6 points within 5 m of the CSV, names and order exact, route name exact. OpenCPN's plugin API and REST server are disabled for the agent; navobj.xml edits made while OpenCPN is closed are detected by the grader's file-event log.
Proposed partial credit
50% positions; 25% names/order; 25% export present.
R07.13.01.02-T02 Plan a coastal passage that respects a safety contour
Original instruction
Training exercise. In OpenCPN with ENCs fixtures/enc_coast/, plan a route from the fairway buoy at Port A to the pilot station at Port B for a ship with 8.5 m draft: no leg may cross depth areas shallower than 12 m or charted obstructions within 0.2 nm. Minimize distance; export output/passage.gpx.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- OpenCPN
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickdrag· Drag & dropnav· Pan/zoom/scrollvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader intersects each leg (buffered 0.2 nm for obstructions) with S-57 DEPARE/OBSTRN features: no violations; length <=110% of grader's safe shortest path. OpenCPN's plugin API and REST server are disabled for the agent; navobj.xml edits made while OpenCPN is closed are detected by the grader's file-event log.
Proposed partial credit
50% no depth violations; 20% no obstruction violations; 30% route length within 1.10x the safe shortest path.
R07.13.01.02-T03 Compute a weather-optimal sailing route with GRIB and polars
Original instruction
Training exercise. In OpenCPN with the Weather Routing plugin, load GRIB input/gale_week.grb2 and polar input/synth40.pol, compute the fastest route from Port A to Island C departing 2026-03-02 06:00Z with max TWS 30 kn and no upwind legs <40 deg TWA, and export the route and ETA.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- OpenCPN · Weather Routing plugin
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formsvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Grader re-runs the plugin's isochrone routing with the same configuration (from the saved WeatherRoutingConfiguration.xml): constraints exact; exported route ETA within 1 h of reference and constraints satisfied along the route. OpenCPN's plugin API and REST server are disabled for the agent; navobj.xml edits made while OpenCPN is closed are detected by the grader's file-event log.
Proposed partial credit
30% inputs loaded; 30% constraints configured; 40% route/ETA match.
R07.13.01.02-T04 Find the departure window for a tidal channel with 1.5 m UKC
Original instruction
Training exercise. A vessel of 9.2 m draft must transit the dredged channel (charted 8.4 m) in fixtures/enc_estuary/. Using OpenCPN's tide station 'Synth Harbor' predictions for 2026-05-14, find the earliest departure from berth 4 (8 kn, distance per your route) so UKC >=1.5 m throughout the channel. Report it in output/answer.json.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- OpenCPN
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scrollvis· Visual judgment- Work product
WP12· Answer/decision- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader computes the tidal window from the same harmonic constants: earliest departure within 10 min; route through the channel exported and distance used within 0.2 nm. The agent VM has no terminal or Python, so tide predictions can only be read in OpenCPN; OpenCPN's plugin API and REST server are disabled for the agent.
Proposed partial credit
30% route through channel; 20% tide data used correctly; 50% departure time.
R07.13.01.02-T05 Check and repair a route in an ECDIS simulator
Original instruction
Training exercise. In the ECDIS training simulator, load route 'R-117' and run Route Check with safety contour 15 m and XTD 0.3 nm. Fix all alarms (safety contour crossings, restricted areas, too-close turns) by moving or adding waypoints only, re-check to zero alarms and save as 'R-117B'.
- Platforms
win· Windows- Applications
- ECDIS simulators
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
drag· Drag & dropclick· Point & clickgeom· Precise geometryvis· Visual judgment- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Grader exports R-117B (RTZ): ECDIS route check rerun by grader reports zero alarms; start/end waypoints unchanged; length increase <=8%. The sim exposes no API.
Proposed partial credit
50% zero alarms; 20% endpoints unchanged; 30% length increase within 8 pct.
R07.13.01.02-T06 Identify a close-quarters AIS target from a replayed feed
Original instruction
Training exercise. In OpenCPN, replay the NMEA/AIS log fixtures/strait_ais.nmea (own ship on GPS sentences) with CPA alarm at 0.5 nm / 12 min. Identify the first target whose CPA falls below 0.5 nm and record MMSI, CPA, TCPA and the log time in output/answer.json.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- OpenCPN
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickvis· Visual judgmentnav· Pan/zoom/scroll- Work product
WP12· Answer/decision- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader computes CPA/TCPA from the log: MMSI exact; CPA within 0.05 nm; TCPA within 1 min; time within 30 s; alarm settings in opencpn.conf exact. The agent VM has no terminal or Python, so CPA/TCPA must be read from OpenCPN's AIS target list; OpenCPN's plugin API and REST server are disabled for the agent.
Proposed partial credit
40% MMSI; 30% CPA/TCPA; 20% time; 10% alarm settings.
R07.13.01.02-T07 Navigate a traffic scenario in a bridge simulator under COLREGs
Original instruction
Training exercise. In the ECDIS/bridge training simulator scenario 'TSS-East', con own ship (container, 18 kn) through the traffic separation scheme to the pilot boarding point, keeping CPA >=1.0 nm from all targets, complying with Rules 10, 15 and 16, and staying in the correct lane.
- Platforms
win· Windows- Applications
- ECDIS simulators
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
click· Point & clickkey· Shortcutsrt· Real-time controlvis· Visual judgment- Work product
WP11· Game/sim state- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Grader reads the simulator's exercise log: min CPA per target >=1.0 nm, lane compliance, give-way actions taken early and to starboard (heading change >=20 deg when required), arrival within 0.3 nm of boarding point. The simulator exposes no API; own-ship helm and engine orders are accepted only from the bridge console UI, and the exercise log records each input's source.
Proposed partial credit
35% CPA kept; 25% TSS compliance; 25% correct give-way actions; 15% arrival.
R07.13.01.02-T08 Measure range and bearing between two charted lights
Original instruction
Training exercise. In OpenCPN with fixtures/enc_bay/, use the measure tool to find the distance (nm, 2 decimals) and true bearing from 'Synth Point Lt' to 'Outer Reef Lt', and write both to output/answer.json.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- OpenCPN
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicknav· Pan/zoom/scroll- Work product
WP12· Answer/decision- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Grader computes from the ENC LIGHTS features: distance within 0.02 nm, bearing within 0.5 deg. The agent has no terminal or Python (no S-57 reader), so range and bearing can only be measured in OpenCPN; OpenCPN's plugin API and REST server are disabled for the agent.
Proposed partial credit
50% distance; 50% bearing.
R07.13.01.02-T09 Schedule eight vessel calls on three berths
Original instruction
In the sandbox berth-planning app (synthetic port), schedule the 8 vessel calls in input/calls.csv on berths B1-B3 respecting LOA and draft limits per berth, ETA windows and crane availability, minimizing total waiting time. Drag the vessels on the berth Gantt and publish the plan.
- Platforms
web· Any OS (web)- Applications
- terminal operating systems
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader reads the published plan: all constraints satisfied; total waiting within 5% of the MILP optimum (partial to 20%). The sandbox TOS's REST API is disabled for the agent role; grader reads the TOS database and audit log (UI-origin events only).
Proposed partial credit
40% feasibility; 60% waiting-time quality.
R07.13.01.02-T10 Assign import containers to yard blocks by segregation rules
Original instruction
In the sandbox TOS yard planner, assign the 40 import containers of vessel visit 'SYN-2611' to yard positions per input/yard_rules.pdf: reefers only at plug rows, IMO class 3 separated from class 5.1 by one block, heavy boxes bottom tiers, max stack 4. Commit the yard plan.
- Platforms
web· Any OS (web)- Applications
- terminal operating systems
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clickvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Grader reads committed positions: zero rule violations, all 40 assigned, no slot double-booked. The sandbox TOS's REST API is disabled for the agent role; grader reads the TOS database and audit log (UI-origin events only).
Proposed partial credit
40% reefer/hazmat rules; 30% stacking rules; 30% all assigned without conflicts.
R07.13.01.02-T11 Build a bay stowage plan for sixty containers
Original instruction
In the sandbox stowage-planning web app, stow the 60 containers of input/load_list.csv into bays 01-05 of vessel 'Synth Trader': discharge-port order (last port bottom), heavy under light, reefers in reefer slots, and bay weight limits. Drag containers onto bay views and finalize the plan.
- Platforms
web· Any OS (web)- Applications
- terminal operating systems
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropvis· Visual judgment- Work product
WP08· App/system state- Conditions
long· Long-horizon- Proposed difficulty
- 4 / 5
Proposed verifier
Grader exports the BAPLIE-like plan: zero overstows by POD, weight-order and reefer constraints satisfied, bay limits met, all 60 stowed. The sandbox TOS's REST API is disabled for the agent role; grader reads the TOS database and audit log (UI-origin events only).
Proposed partial credit
30% POD order; 25% weight order; 20% reefers; 25% bay limits and completeness.
R07.13.01.02-T12 Set up anchor watch and detect a dragging anchor
Original instruction
Training exercise. In OpenCPN, set an anchor watch with 60 m radius on the anchored position and a guard zone alarm, then replay fixtures/anchorage.nmea. Report the log time at which the anchor first drags beyond 60 m in output/answer.txt.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- OpenCPN
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP12· Answer/decision- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader: anchor watch config in opencpn.conf (position within 10 m, radius 60 m); reported time within 15 s of the first fix beyond 60 m. The agent has no terminal or Python, so the drag time must be found by replaying the log in OpenCPN; opencpn.conf edits made while OpenCPN is closed are detected by the grader's file-event log.
Proposed partial credit
40% anchor watch configured; 60% time.
R07.13.01.02-T13 Plan quay crane splits for two overlapping vessel calls
Original instruction
In the sandbox TOS, plan quay crane assignments for vessels 'SYN-A' (bays 2-20) and 'SYN-B' (bays 4-30) berthed adjacently, with 6 cranes that cannot cross each other and 1-bay safety spacing, minimizing the latest vessel completion time. Commit the crane split.
- Platforms
web· Any OS (web)- Applications
- terminal operating systems
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
drag· Drag & dropvis· Visual judgment- Work product
WP08· App/system state- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Grader validates the committed plan: non-crossing and spacing constraints hold; makespan within 5% of the optimum from a CP solver (partial to 15%). The sandbox TOS's REST API is disabled for the agent role; grader reads the TOS database and audit log (UI-origin events only).
Proposed partial credit
40% feasibility; 60% makespan quality.
R07.13.01.02-T14 Check a route against ENC depth areas by script (control pair of T02)
Original instruction
Control pair of T02: with GDAL/OGR and Python only, plan or verify the T02 passage (Port A fairway buoy to Port B pilot station) against the S-57 cells fixtures/enc_coast/: compute a safe shortest route for the 12 m contour and 0.2 nm obstruction buffer and write output/passage.gpx.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- GDAL · Python
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Control pair of T02: same checks (no depth/obstruction violations, length <=110% of reference).
Proposed partial credit
50% no depth violations; 20% no obstruction violations; 30% length.
R07.13.01.02-T15 Load ENCs and configure safety depths and display settings
Original instruction
In OpenCPN, import the S-57 cells in fixtures/enc_bay/ into the chart database and set: safety depth 12 m, shallow 5 m, deep 20 m, two-shade depth display, simplified symbols, plain boundaries and display category 'Standard'. Save settings.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- OpenCPN
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Grader parses opencpn.conf: chart directory registered; S52 settings exact. OpenCPN's plugin API and REST server are disabled for the agent; navobj.xml edits made while OpenCPN is closed are detected by the grader's file-event log.
Proposed partial credit
30% charts imported; 70% display settings.
R07.13.01.02-T16 Mark NAVTEX hazards as no-go areas and clear the route
Original instruction
Training exercise. In the ECDIS training simulator, enter the 3 NAVTEX warnings in input/navtex.txt as mariner's no-go areas (polygons/circles at given coordinates), check route 'R-204' against them, and modify it so it clears each hazard by >=0.5 nm. Save as 'R-204N'.
- Platforms
win· Windows- Applications
- ECDIS simulators
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
click· Point & clicktype· Text & formsdrag· Drag & dropgeom· Precise geometry- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Grader exports user layers and the route: 3 hazards with coordinates within 0.05 nm; route clears each by >=0.5 nm; endpoints unchanged. The simulator exposes no API, so hazards and route edits can only be made in its GUI; route or layer files imported from outside are recorded in the simulator log and fail.
Proposed partial credit
40% hazards entered; 40% clearance; 20% endpoints unchanged.
R07.13.01.02-T17 Assemble a passage plan with route, ETAs, fuel and UKC checks
Original instruction
Training exercise. Build the passage plan for 'Synth Bulk' from Port A to Port D: route in OpenCPN (fixtures/enc_region/), then complete fixtures/voyage_plan.xlsx with leg distances, ETAs at 12.5 kn from 2026-06-01 08:00Z, fuel per leg from input/fuel_curve.csv, and UKC at the 4 critical points using tide tables.
- Platforms
mac· macOSwin· Windows- Applications
- OpenCPN · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsnav· Pan/zoom/scrollmulti· Cross-app- Work product
WP02· Records/table- Conditions
multiapp· Multi-applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Grader: route safe vs ENC (12 m contour); sheet leg distances equal route legs (0.1 nm); ETAs within 5 min; fuel within 1%; UKC values within 0.1 m. Excel macros are blocked and the agent has no terminal or Python, so the route must be built in OpenCPN; navobj.xml edits made while OpenCPN is closed are detected by the grader's file-event log.
Proposed partial credit
25% safe route; 25% distances/ETAs; 20% fuel; 30% UKC values.
R07.13.01.02-T18 Reschedule truck appointments around a crane outage
Original instruction
In the sandbox TOS gate module, crane QC3 is down 10:00-14:00 on 2026-04-21, blocking 12 import pickups. Move each affected appointment to the nearest feasible later slot (slot capacity 8) without exceeding capacity, and send the rescheduling notices to the test trucker accounts.
- Platforms
web· Any OS (web)- Applications
- terminal operating systems
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickdrag· Drag & drop- Work product
WP08· App/system state- Conditions
risk· Irreversible/risky- Proposed difficulty
- 3 / 5
Proposed verifier
Grader reads the appointment table: all 12 moved to the nearest feasible slots (exact assignment computed by greedy rule), no slot over capacity, notices sent only to sandbox accounts. The sandbox TOS's REST API is disabled for the agent role; grader reads the TOS database and audit log (UI-origin events only).
Proposed partial credit
50% correct new slots; 20% capacity respected; 30% notices sent.
R07.13.01.02-T19 Plan housekeeping yard moves to cut next-day rehandles
Original instruction
In the sandbox TOS yard view, block 3B will feed vessel 'SYN-2614' tomorrow. Plan at most 15 housekeeping moves (drag containers within the block or to 3C) so that the expected rehandles during loading drop from 22 to 8 or fewer, then commit the work queue.
- Platforms
web· Any OS (web)- Applications
- terminal operating systems
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Grader simulates the loading sequence on the committed yard state: rehandles <=8 with <=15 moves; no rule violations (stack height, reefers). The sandbox TOS's REST API is disabled for the agent role; grader reads the TOS database and audit log (UI-origin events only).
Proposed partial credit
20% within move budget; 60% rehandle reduction (pro-rata); 20% no violations.
R07.13.01.02-T20 Report a draft-infeasible route instead of forcing it
Original instruction
Training exercise. The charterer asks for a direct route to Port E for 'Synth Bulk' at 11.8 m draft with 1.0 m UKC via the inner channel. Check in OpenCPN with fixtures/enc_region/; if no compliant route exists via that channel, do not create one: write output/advisory.md with the limiting depth and location.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- OpenCPN
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicknav· Pan/zoom/scrollvis· Visual judgment- Work product
WP12· Answer/decision- Conditions
clarify· Ask when unclear- Proposed difficulty
- 3 / 5
Proposed verifier
The inner channel is infeasible by design. Grader: advisory.md states infeasible and names the limiting area (within 0.2 nm) and its charted depth; no route via the inner channel saved. The agent has no terminal or Python (no S-57 reader), so depths can only be checked in OpenCPN; navobj.xml edits made while OpenCPN is closed are detected by the grader's file-event log.
Proposed partial credit
50% infeasibility declared; 30% limiting location/depth; 20% no non-compliant route saved.
Mapped research references
No benchmark reference is assigned to this class in the current mapping.