OpenNavData — open official data along your route · Help · What's new · Coverage by country · About

01 · Getting started (one minute)

  1. Enter a route. Type two port codes or names into Departure and Destination (suggestions appear as you type), or load an RTZ 1.0 file, or click ⌖ and pick a point on the map. Add up to five intermediate points with «+ via».
  2. Choose the catalogue. «Catalogue» is our catalogues (NOAA, PRIMAR) by default — NOAA's open data in U.S. waters and PRIMAR's ENC catalogue together, most of the world's ENC cells. Choose your exchange set + ours and load it (a folder or a zip, on a desktop) to add your own catalogue and permits — see page 02.
  3. Press «① Build route». The line beside it tells you what will be computed and with which data. The activity line shows what is happening; most runs finish in seconds. «② Estimate voyage» opens the Voyage estimate tab for that route (without a route it builds one first). «③ Compare scenarios» puts up to four variants of the voyage side by side — other destinations, vias, a canal or a cape closed (page 13). The next step is the filled button.
  4. Read the result. The Cells tab lists every cell the corridor touches, with a reason. The button beside the bell reads the current mode — night or day — and switches to the other; the first visit follows your system, a press is remembered in the same browser memory as the agreement. The bell shows anything that needs your attention. Untick a cell to leave it out of the list, or add any cell of the catalogue from the Catalogue tab (page 03). Download CSV from the Cells tab or the Route panel; edit the route on the map if a leg needs correcting; export RTZ when done.

The footer always shows the data sources, the coverage date («as of …») and the reminder that this is not for navigation.

The page is served locally by python3 -m opennav.web at http://127.0.0.1:8731/ (another port with --port).

02 · Inputs — Departure, via, Destination; RTZ; your product list

Departure, via, Destination. Departure and Destination are the ends; up to five via in between. Each is a port (code such as KRPUS, or a name) or a map point (⌖). Map points are joined to the nearest point of the routing network, and the activity line says «via N moved to nearest network point, X nm off». A via inside a narrow strait may produce a short detour to that point and back — move the via to the fairway if so.

Vessel. Optional. A class from the list, or Custom with the dimensions that apply — draft, beam, length, air draft in metres; an empty field does not restrict. With a profile set, the route avoids passages whose published limits your vessel exceeds — the Panama Canal locks, the Suez Canal's beam and draught table, the St. Lawrence Seaway — and says which were closed. Choosing a class fills the four fields; the figures in the fields are what restricts, and you can edit them. Classes defined by a passage (Panamax, Neopanamax, Suezmax, Seawaymax) carry the authorities' published maxima (label «≤»); the other classes (Handysize, Handymax / Supramax, Aframax, Capesize, VLCC, ULCC) carry the dimensions of a representative ship or design (label «≈») — typical, not a published maximum: a real ship of the class may be smaller or larger, so enter your ship's own dimensions. The Turkish Straits and the Straits of Malacca publish conditions, not maxima, and are never closed. Arctic routes — the Northern Sea Route and the Northwest Passage — are closed on every run, with or without a profile, unless you ask for the NSR: a route only they could give is refused, «no route with these passages closed. The Northern Sea Route is not used unless you request it.» The Northern Sea Route on request. A scenario's «via the Northern Sea Route» (page 13) opens the NSR for that run only, routed by its true length; the Northwest Passage stays closed and cannot be asked for. The NSR is its water area as the Merchant Shipping Code of the Russian Federation (art. 5.1) describes it — built here from the Russian EEZ of VLIZ's Maritime Boundaries v12 (CC BY 4.0), an approximation for marking the route with no legal value. A run whose route goes through it carries the line «route through the Northern Sea Route water area — navigation there requires a permit under the Rules of navigation in the NSR water area; ice class, season, ice conditions and icebreaker escort are not modelled; not for navigation», the miles inside it and the Rules' areas (Annex 3) it crosses. Ice class. The Vessel section takes the ship's Russian Register ice class (none, Ice1–Ice3, Arc4–Arc9). It is shown against the Rules' admission criteria (Annex 2) for the area groups the route crosses — independent and under icebreaker escort, per type of ice conditions, the table's symbols as published — and never applied: the type of ice conditions on a date is not known here, and whether a ship may go is the authority's permit. With no class entered, the run says «ice class not entered». No other society's class is mapped: no correspondence table published by the Russian Register was found. Where an official fairway publishes a depth (Finland's design draught; the U.S. Army Corps channels, the lesser of the maintained and the authorized depth), a draft above it closes the fairway: the route goes round it and says which stretch it avoided. Finnish small-boat fairways (classes VL5 and VL6, which the classification publishes as at most 2.5 m deep) close for a draft above 2.5 m; a Finnish fairway of another class with no published depth stays open, costs more, and is named — «no published depth on legs 2→9 (Särkän väylä, VL2, Väylävirasto)». If the only way into a port is shallower than your draft, the run is refused with the stretch named — «no route for draft 14 m: WILLAMETTE RIVER 2 (maintained 12.2 m, authorized 12.2 m, USACE) is the only way in» — and offers Build without the draft limit: the route as without a draft, with one caution line and one marker per shallow stretch — «draft exceeds published depth on legs 3→10 (LOWER VANCOUVER BAR, maintained 13.1 m, authorized 13.1 m, USACE)» — for a port you enter on the tide. If the closed passages leave no route at all, the run says so — «no route from A to B without passages closed for this vessel: …» — and you choose: another profile, a via, or the route without a profile. This is not an under-keel clearance check — no tide, squat, cargo draft or passage calculation is made (page 07, page 09). The profile lives in the page only; a reload forgets it; an exported RTZ records it in the route origin record.

Voyage. The departure date (today unless you change it) and, optionally, the speed in knots. Both serve the MARPOL analysis (page 10): a zone is judged by the date its requirement applies on the voyage — with a speed, by the time the ship reaches the zone's boundary; without one, by the departure date. The speed also gives hours to each crossing and hours inside each zone. Neither value is stored anywhere.

RTZ 1.0. A route file from your planning system. The tool does not judge your route: legs you supply are used as they are, without land checking. The corridor is drawn around your line.

Ports. 16 821 ports from UN/LOCODE, positioned with the World Port Index and GeoNames. Some coordinates are coarse.

Catalogue. The selector under Destination says which catalogues a run lists from. Our catalogues (NOAA, PRIMAR) — the default — are the catalogues the service holds, used together: NOAA's published coverage in U.S. waters and PRIMAR's ENC catalogue (its public product list, refreshed at most daily; used by PRIMAR's permission), with Canada's cell limits from CHS — S57 Individual ENC Limits, Fisheries and Oceans Canada / Canadian Hydrographic Service (used by CHS's permission: the limits with the cell's name, title, scale and last update date, no chart content). One row per cell: the source column names every catalogue that lists it («NOAA open data · ENC catalogue: PRIMAR»); when their editions differ, each edition is shown, the newest stands, and the remark is editions-differ. A stretch no catalogue covers says «not in our catalogues — check this leg yourself, or add your exchange set». A Canadian cell is selected when either PRIMAR's box or CHS's limit meets the corridor; CHS's limit is what the map draws. A cell CHS lists that PRIMAR does not is an ordinary row (source «S57 Individual ENC Limits (CHS)», no edition — CHS publishes none). A Canadian row's title is CHS's, and its source carries CHS's last update date («S57 Individual ENC Limits (CHS) — last update 2026-09-28»). Your exchange set carries the ENC product list, PRODUCTS.TXT — in a full exchange set it covers your distributor's whole portfolio; PERMIT.TXT lists the cells you are licensed for. Load the whole exchange set, as a folder or a zip (on a desktop; a phone shows the choice but not the upload). Only these two files are read; chart cells are never opened. Switching back to our catalogues discards the loaded set. With your exchange set attached:

Catalogue geometry is a bounding box per cell, not the exact coverage polygon, so selection by catalogue is slightly generous at cell edges — the safe direction. The state line reads «cells selected by catalogue bounding box — exact coverage may be tighter».

The catalogue is held in memory for this session only; if the page or server restarts, the first line of the next run says whether a catalogue is attached.

03 · Reading the result — bands, reason, remarks, route

Bands. ENC usage bands, from wide to close: 1 Overview · 2 General · 3 Coastal · 4 Approach · 5 Harbour · 6 Berthing. The table groups by band; the legend shows the ladder.

Selection. How a cell entered the list: corridor — the cell's limits meet the XTD corridor, the cross-track distance either side of each route leg (XTD ± 1.25 nm by default; «corridor» for short). A long leg is covered along both the line it declares — a rhumb line, as our RTZ writes it, or a great circle where your RTZ file says Orthodrome — and the straight line between its waypoints, so no cell either line crosses is missed. At each waypoint the corridor is closed round: everything within 1.25 nm of the waypoint itself is in it, on the outside of the turn too; approach zone at route ends (2.5 nm) — it lies within 2.5 nm of the Departure or the Destination; supplement and bbox-only — the two groups of a run with your ENC product list (page 02).

A known limit — PRIMAR's cells are boxes. PRIMAR's catalogue gives each cell's bounding box, not its exact coverage, so along a coast a route may list more PRIMAR cells than it really crosses — the safe side: an extra cell, never a missing one. In U.S. waters NOAA's exact coverage decides; in Canadian waters CHS's limits are drawn and a cell whose limit does not meet the corridor is flagged, never dropped; elsewhere check the list against your distributor's chart limits when the cost matters.

Producer, country, title. Every cell's producer is read from its name (the first two characters) through the IHO S-62 Data Producer Code register: the agency and its country (as the register writes them — «USA», «Korea (Rep. of)»). The CSV carries both; the table shows the country; the phone card shows it on the second line. The cell's full title is shown where the source publishes one — NOAA's product catalogue does; a product list (PRODUCTS.TXT) does not, so a catalogue row reads «title not in your catalogue». On the table the title is the name's tooltip and opens under the row on a click; in the card it sits in the details; in the CSV it is the last column.

Reason. One plain-language reason per cell, from a fixed dictionary, so two runs never explain the same cell differently. A cell shows one reason — the first that applies, in this order: a land-crossing remark (declared · confirmed · unverified), small-scale context, approach zone, route passes through. Rows of the two product-list groups carry their own reason.

reason what it means check
route crosses land on this stretch — as declared by the file's route origin record, not checked by us The RTZ you loaded declares this leg crosses land; this run did not check it. verify on the map
route crosses land per coastline data — confirmed by official fairway geometry, list complete as selected Coastline data is too coarse here; the authority's fairway proves the water. The voyage plan is realistic; the cell list is complete. nothing
route crosses land on this stretch — generated geometry unreliable, the list here may be incomplete The auto-routed leg crosses land and no fairway confirms a passage; cells along it may be missing. verify on the map
small-scale context for passage planning Overview/general band cell spanning the route (ENC usage bands 1–3). nothing
port vicinity: anchorage / berth-shift contingency Within the approach zone at route ends — 2.5 nm by default — where anchoring, waiting or a berth change may take the ship off the line. nothing
route passes through this cell The XTD corridor (±1.25 nm by default, calibrated) meets this cell's coverage. nothing
not in your catalogue — supplemented from NOAA ENC coverage (open channel) NOAA's exact coverage needs this cell; your product list lacks it. ask your distributor
outside exact coverage (NOAA M_COVR), likely not required Your catalogue's box touches the route; NOAA's exact outline does not. verify on the map before dropping

Where a reason names a fairway it uses the authority's own name. U.S. Army Corps of Engineers channel lines carry a Corps channel code, not a name — it is shown as «channel code CL_PY».

Route. auto-routed — the route was built by the tool; operator-edited — you edited it (page 05); on official fairways — every leg lies on a published fairway network. Every leg has a source, shown in its label: «official fairway (authority, class / name)», «global network», «connector», «operator-edited». Where no traffic calibration exists the run says «uncalibrated — conservative defaults»: the corridor width there is a conservative default.

Remarks you will see. - crosses-land — an auto-routed leg crosses land per coastline data and no fairway geometry confirms a passage; cells along it may be incomplete. crosses-land-confirmed — the same, confirmed by official fairway geometry (a river, a fjord). - crosses-land-declared — the remark came from the route origin record of an RTZ you loaded, not from this run. - scheme-supplement — the cell is active in NOAA's product catalogue but missing from its geometry service; included on the catalogue's scheme geometry. - no-extent-in-catalog, not-in-catalog, band-mismatch — NOAA's two sources disagree about the cell; it keeps its ordinary reason, and the disagreement is kept here and in the discrepancy log (page 08). - invalid-geometry-repaired — the cell's source outline was invalid and was repaired before use. - supplemented-from-noaa, bbox-only — product-list cross-check results (page 02). - cancelled-in-catalogue — your product list carries the cell with edition 0 (cancelled) and none of the successors it names («Cancelled Cell Replacements») is selected on this route; the row stays so the stretch is not silently empty, and it is not counted in the permits. A cancelled cell whose successor is selected is left out of the list and named in the journal. - producer-limits-miss — the producer's own cell limits (Traficom for Finland, CHS for Canada) do not meet the corridor: the cell is kept in the list and in the permit count — the product list's bounding box selected it — and the reason gives the distance. producer-only — a cell in the producer's current list that your product list lacks; shown in its own group, not selected.

A berth reachable only over land in our data is not a remark on a row: it is a warning and a mark on the berth (page 07) — verify the approach.

Overlap. A cell is badged when its whole stretch — the corridor and the areas around the route's ends, the same areas the selection reads — is covered by selected cells of larger scale; a cell that is the only one at a berth is never badged. In practice both are usually needed. The badge's ⓘ explains.

What a run computes. The route is always built. The checkboxes in the Route panel choose what is computed along it — ENC cells and MARPOL zones, both ticked by default; the line beside «① Build route» names the choice («cells + MARPOL», «cells only», «MARPOL only», «route only»). An analysis left unticked is marked «not computed» in the result, the Log and the CSV — it is never silently absent.

The MARPOL tab. One row per zone the route crosses — the zone and its Annexes, its status on the voyage's date, where the route enters and leaves it (leg, position, miles from departure, hours at the entered speed), miles and hours inside, the requirement in one sentence with its regulation, and the source. A row is marked where a zone takes effect during the voyage. See page 10.

The Catalogue tab. The whole chosen catalogue as a list — filter it by producer (one field: a searchable list of the producers with their cell counts, tick several, «show all» / «hide all»; the chosen ones stay under the field as labels you can remove) and by band, and search by cell name. A producer the S-62 register lists without a country — an organisation such as the ENC Center of National Taiwan Ocean University — reads by its code and name, «1U — … (no country in S-62)». Each cell has a mark: ■ selected by the route, + added by you, − excluded by you, □ not in the list. A click on a route cell excludes it (or selects it again); a click on any other cell adds it to the list, or removes it. Added cells appear at the end of the Cells table, count in the cost and the CSV, and the list then says «operator-optimised list — N cells added by hand». With our catalogues the tab searches both catalogues: type a cell name or a producer, or press «cells in map view»; it lists at most 500 cells at a time and says how many match. Show All / NOAA / PRIMAR / CHS changes what the tab and the map grid show — never what a route selects. Each row names its source. Added cells are cleared by every run, like exclusions.

Choosing cells. After a run every cell is selected. Untick a cell's checkbox to leave it out. Above the table, Optimise the list (changes the CSV): a chip per producer country and per band unticks all of its cells at once (a click on a chip with some cells unticked ticks them all back); exclude overlaps unticks every overlap-badged cell; select all ticks everything again. The Show filters beside it only hide rows from view — they change nothing in the list. Whenever something is unticked the list is operator-optimised: the result line, the Cells title, the CSV and the RTZ say so, with what was applied — «operator-optimised list — producer Canada, band overview, overlaps, 2 cells by hand». Overlap does not mean redundancy: the scale ladder is part of safe passage. Excluding overlaps removes the smaller-scale cell where larger-scale cells cover its stretch — so it always leaves those stretches without their band, and the warning says so.

Whenever a stretch of the route is left without a cell of the band you excluded there, a warning above the table and in the Route panel names the band, the miles of the route, the legs and the cells you excluded — «coastal: 12.4 nm of the route (legs 4→7) is left without a coastal cell — excluded by you: …». A stretch left with no cell of any band is named first. The warning never stops you: the list is yours. Cells of the bbox-only group have no stretch of their own (their shape is a catalogue box, not coverage), so excluding them never warns.

The choice lives on this page only and is reset by every run — a new route, a re-run, the run after an edit: a choice carried onto a different list could leave a cell out without a word. The cost line counts the selected cells only.

Cost. Enter your per-cell rate in the Cells tab and the footer of the table shows a breakdown by band, computed on this page only.

04 · Layers — one row per theme

Open the Layers panel on the map. Each row has a checkbox, a short status word (what the zoom shows, which bands, whether the special areas are on) and ⓘ. A row switches everything it names as one; its hover text says what. Everything on the map is simplified for display by zoom; selection always uses full geometry. A run never touches a switch: what you set stays set across runs, tab visits and the day / night switch.

Official fairways (on by default). Where a route will follow authority-published fairways — Finland (Väylävirasto), Norway (Kystverket), Netherlands (Rijkswaterstaat), United States (NOAA and USACE), Japan (Japan Coast Guard, MSIL), Korea (KHOA). By zoom: below 6 the shaded coverage zones (a 2.5 km buffer around the real network, not a box); from 6 the zones and the centrelines; from 8 the centrelines and the fairway areas where the authority publishes them (Finland, Norway, U.S., Korea), the zone an outline only so it does not hide the areas. After a run the areas the corridor was built from belong to this row too, at every zoom. Japan shows the zone only — the source's terms do not let us publish its route areas or our axes as a map layer; a route through them shows only as your route, with its notes (page 07). The status word says «no fairway data here» where the view holds none. Korea has areas only, no network yet — KHOA's statutory port fairways and traffic routes and three traffic separation schemes (each traffic lane (TSS) and the separation zone), named as KHOA names them; its zone is the areas buffered 2.5 km. A route there keeps its own path; every area within 1.25 nm of it is listed along the route and widens the corridor — never narrows it. The source itself says «일부 누락 가능성 있음» — parts may be missing: the Legend and the Log repeat it, and the Log says when KHOA's cards are past their renewal date.

Ports (off by default; the group Data). The port base this service routes between — UN/LOCODE places with a harbour. By zoom: below 5 the major ports, from 5 the major and regional ones, from 7 every port, so the dots never merge. Click a port for its card — name, UN/LOCODE, country — and Set as departure / Set as destination, which fill the route fields exactly as choosing the port from the list under the field does; nothing runs until you press Run. The Legend's sources block names the base's licences.

ENC cells (off by default — the first screen is the world). Every cell of our catalogues (one outline per cell — NOAA's exact coverage where it has the cell, CHS's limit for a Canadian cell, PRIMAR's box otherwise) or of your exchange set — drawn by its outline, coloured by band: zones by band when zoomed out, the cells one by one from zoom 8 (open data) or 7 (an exchange set). The Catalogue tab's band filter is what the map draws: with no filter, bands 4–6 (approach, harbour, berthing); touch a band chip on the tab and the map follows the chips exactly — the overview bands 1–3 cover open ocean and say little about port approaches, so they come only when you ask. «Show cells on map» on the Catalogue tab is this same switch, and so is «Cells in view» on the map, under the map buttons: switched on, it shows the six band chips (the same filter as the tab's) and a line that says what you see — how many cells are in view; «zoom in to see cells» while the map is zoomed out too far for single cells; «showing 4 000 of the cells in view — zoom in for all» when the view holds more than one answer carries. A cell selected by the route is drawn solid and filled, one added by hand dashed in the accent colour, an excluded one dotted and unfilled, the rest thin. A click on the map adds or removes a cell; where cells of several bands overlap, a short list lets you pick which; zoomed out, where cells are not yet drawn one by one, a click says «zoom in to pick cells». In Edit the grid takes no clicks.

Traffic separation schemes (on by default; drawn from zoom 6 when the view is over a scheme). The French schemes as SHOM publishes them — the Dover Strait, off Ushant, off the Casquets and the Corsica Channel — in magenta as on charts (S-52, INT 1 section M), the Finnish schemes as Traficom publishes them, and elsewhere the schemes as OpenStreetMap draws them: each traffic lane (TSS) as a thin outline with an outlined arrow for the direction of traffic (the arrows from zoom 9), the separation zones as a translucent magenta fill, the separation lines thicker, the scheme boundary dashed, the inshore traffic zones dash-dotted, the deep-water route long-dashed, the precautionary area dotted and two-way routes dashed. Routes follow the schemes drawn in magenta (COLREG Rule 10): inside a traffic lane (TSS) only in its direction of traffic, never through a separation zone or across a separation line, joining and leaving at its ends. Inside a scheme the line is straightened: a turn point is dropped wherever the straight leg between its neighbours keeps 0.1 nm from separation zones, lines and the scheme boundary, stays within 20° of each traffic lane (TSS) it crosses in its direction of traffic, and crosses no land. Outside every traffic lane (TSS), precautionary area and two-way route of the scheme the straight leg stays within 0.1 nm of the line it replaces — open water off the scheme is not checked for depth. Official fairway points always stay. The RTZ, the CSV, the API and the voyage estimate all use this one line; the cell list also covers the line before straightening, so no cell is lost. Where two parts of a traffic lane (TSS) meet at an angle, the route turns once between them, each leg within 20° of its part's direction of traffic. In Finland these are the schemes off Porkkala (with the Helsinki approach), off Kalbådagrund and in the Kvarken; the names are ours. The Kvarken scheme may be suspended in winter (ice) — check notices to mariners and NAVTEX: routes follow it all year, as we have no feed of a suspension. From OpenStreetMap routes follow five schemes: Bab el-Mandeb, the north-west approaches to Port Said, the Strait of Gibraltar, the Malacca Strait at One Fathom Bank and the German Bight. OpenStreetMap draws each traffic lane (TSS) as a line; we build its area from that line and the zones, separation lines and boundaries on both sides of it. A scheme is followed only while every traffic lane (TSS) in it has an opposing traffic lane (TSS), passes it port to port, is separated from it by a zone or line and has a boundary on its outer side — checked again after each monthly refresh. OpenStreetMap is not an official source: check the chart. A scheme drawn grey and dotted is shown, not used for routing: Traficom's data hold only part of it (the rest lies in Swedish, Estonian or Russian waters, or is not in the data) — off Hanko, in the Sea of Åland and south of Åland, and near Sommers and Gogland — or it is one of about two hundred schemes OpenStreetMap draws that we have not taken for routing. Its tooltip says why; routes there are as before. Two schemes we cannot draw from any open source — the Strait of Hormuz and the Dardanelles — are listed as gaps on the coverage page. A two-way route is open in both directions and changes no route. The inshore traffic zones are closed to through traffic; one opens only when the departure or arrival port lies inside it. The deep-water route is closed — the data state no draught threshold for it. The Rule 10 exceptions for vessels under 20 m, sailing vessels and vessels engaged in fishing are not modelled: every vessel is routed as through traffic, and a scheme suspended for the winter (as Sweden has done in the Kvarken) is still followed. Sources: «Shom, 2021. Dispositifs de séparation du trafic», Licence Ouverte 2.0 (Etalab), «Ne pas utiliser pour la navigation»; Finnish Transport and Communications Agency (Traficom), routeing measures, used by permission of 2026-10-22, not for navigation; «© OpenStreetMap contributors», ODbL 1.0 — the traffic lane (TSS) areas we build from it are a separate database under the same licence, and a route through a scheme from OpenStreetMap carries this credit in its CSV, RTZ and on the page. The Legend shows each source's last change and our fetch date.

MARPOL areas (on by default). The emission control areas of MARPOL Annex VI (ECAs: Baltic, North Sea, North American, US Caribbean, Mediterranean, Canadian Arctic, Norwegian Sea), one polygon each, drawn for the whole world as a dashed accent outline with a faint fill. The special areas of Annexes I, II, IV and V — a dotted ink outline with no fill — come with the switch «show special areas on the map» on the MARPOL tab (off by default, kept for the session; nine seas' worth of outline would hide the route on the start view). Two forms, not two colours. A zone whose requirement does not apply on the voyage's date (not yet, or not in effect) is drawn at half tone, and its tooltip says so. The North-East Atlantic ECA (adopted May 2026, in force September 2027) has no boundary yet — the certified text is awaited — and is listed, not drawn. After a run the row also holds the route's stretches inside an ECA — a wide half-tone accent band under the route, not the warning hatch — and the entry and exit points as note markers («ECA IN Baltic», «ECA OUT NorthSea»), with the miles and hours in the tooltip. Boundaries: the Marine Regions rings (CC BY 4.0) for the four older ECAs, checked vertex by vertex against the Convention's appendix VII; the resolutions' own coordinates, closed by the Natural Earth 10m coastline, for the rest — so the coast side is coarse (about a mile) and a route hugging a shore may dip «outside» for a few cables; such gaps under 5 nm are treated as inside.

Route › Cells (on after a run): the coverage polygons of the selected cells, coloured by band.

Route › Corridor (on after a run): the XTD corridor used for selection, shaded with no outline, as one shape once the run is complete (on a long route it is computed in parts, which appear one by one while the run goes on), and the 2.5 nm approach zones at the route's ends, dashed and apart.

Always drawn, no row. The route itself — its legs, the virtual connectors at a position endpoint, the flagged legs (hatched, with a ! marker), a stretch whose cells could not be computed (warning colour, a dotted line, the reason as its tooltip) and the alert markers; the Legend's «marks» block keeps their forms. The basemap — land, water and shoreline from OpenStreetMap data, a Protomaps basemap build whose date stands in the Legend's plaque and the footer — drawn from files on this machine: nothing is fetched while you work. Oceans at overview scale, and anything outside the detailed regions (Northern Europe, the United States, Korea / Japan / Singapore), are coarser. No place names and no roads: the base only says where the water is. Where no basemap file is installed the coastline is Natural Earth 50m. Land checks do not use the basemap — they use Natural Earth 10m.

Where traffic density and traffic calibration went. The AIS density grids (Columbia River, Gulf of Finland, Sköldvik, Saronic Gulf) and the calibration regions — where corridor width was measured from traffic rather than assumed — are no longer map rows. The data and the API are kept; the regions, their windows and attributions are read on the Coverage by country page. Density is data, not meaning: its ramp stays a neutral ink, drawn by nothing on the page today.

05 · Editing a route

Press Edit on the map. Drag any waypoint — the ends too: move an end to the berth and the 2.5 nm end zone moves with it; an end cannot be deleted. Click a leg to insert a point; select a point and press Delete to remove it. Nothing is recomputed until you press Save — so a slip while dragging is not a run.

When legs of the route are hatched on the map — our coarse coastline puts them across land and no source confirms it — the button shows how many: Edit · 2. It is not pressed for you; Edit is on only while its row is marked.

On Save the tool rebuilds the route and compares it with the previous one: legs you did not touch keep their data and their land check; legs you changed become yours and are not checked. The result is operator-edited. The activity line reports how many legs are yours; if you moved a leg that lay on an official fairway, a caution says «official geometry left at legs N–M — route is now yours».

An edited route lives in the page's memory only. Closing the tab discards it; Export RTZ is the way to keep it.

06 · Exporting — CSV, RTZ and its route origin record

CSV (Cells tab) — the table as shown, with a comment header: the not-for-navigation line, coverage dates, data attributions and any warnings from the run. Its columns: cell, band, producer, country, edition, issue date, selection, route, remarks, reason, title (and permit, with a permit file). Cells you excluded leave the list; the header names them («operator excluded N cells: …») with every stretch left without its band, and the permit totals count the selected cells only. An optimised list's header begins its operator lines with «operator-optimised list — …» and the filters applied; the RTZ's record says the same. Cells you added by hand are rows of their own («added by hand»), named in the header («operator added N cells: …»).

MARPOL CSV (MARPOL tab) — the crossings table as a file of its own, with a comment header (departure, speed, the dates of the zones layer and of its dates table, «not compliance advice»). The cells CSV does not change: your ECS imports it as before.

RTZ 1.0 (map, after a run) — the route with a route origin record in routeInfo (ours — no standard has one): who made it and when, which legs came from which source (official fairway / global network / connector / operator-edited), which legs cross land and by how much, berths reachable only over land, attributions for the fairway data used, and the not-for-navigation line. An auto-routed route and an operator-edited route both export; the record says which is which. When you excluded cells, the record names them («operator excluded N cells»); loaded back, that is said as the file's claim and not applied — the new run selects every cell.

Loading such a file back restores its warnings as «as declared by file» — the tool does not re-check what the file declares, and does not claim it. Waypoint names from a loaded RTZ survive editing for the points you did not touch.

Add ECA boundary waypoints (a checkbox beside Export RTZ, shown when the run crossed an ECA) puts the entry and exit points of every ECA whose limit applies at the crossing — or takes effect during the voyage — on the route as waypoints of their own, named «ECA IN Baltic» / «ECA OUT NorthSea» (16 characters or fewer, ASCII) — a national area's points are «NAT IN Busan» / «NAT OUT Ulsan», never «ECA»; the long form («entering North Sea ECA — fuel sulphur <= 0.10 % m/m from here …») is the legNote1 of the leg that follows. The route itself is not changed: your waypoints keep their order, names and positions; the inserted ones are marked in the route origin record, and loading the file back drops them again. The point lies on the geodesic between the leg's ends; the ECDIS draws the leg as a rhumb line, so on a long ocean leg the boundary waypoint sits a little off the drawn line — once in the ECDIS it is a waypoint, and the leg runs through it. Names may be shortened by your ECDIS — this has not yet been checked on a real bridge system; test in your own ECDIS before relying on it.

The RTZ extension attributes have not yet been validated against the schema; the file passes this tool's own reader. Test in your own ECDIS before relying on it.

07 · Alerts — warning and caution; every text, what to do

Two levels. A warning needs attention: it counts in the bell, has a place on the map where one exists, and is acknowledged. A caution is advisory: it is listed, never acknowledged; the bell shows the run's cautions as a second, muted number («⚠ 0 · 2»), so that no warnings never reads as nothing to look at. The result line says both for the run: «48 cells · Astoria (USAST) → Portland (USPDX) · 1 warning · 2 notes» — a part that is zero is left out. Each has a time and a text from a fixed dictionary; click a row with a place and the map goes there; ! markers on the map link back to the list. Acknowledging dims a marker; it does not remove it. Alerts are per session; every line is also kept in the Log.

When the tool declines to compute, that is not an alert: the result line reads «unable to compute — …» with the reason, and the Log keeps it. It is the last resort (for example: more than 20 % of the RTZ's points are unreadable, or nothing is known about these waters).

Warnings

text meaning what to do
leg N→M crosses land (per coastline data, X km) — auto-routed geometry unreliable here, cells for this stretch may be incomplete the auto-routed leg crosses land; no fairway geometry confirmed a passage zoom to the marker; edit the leg (page 05) or treat the stretch as unverified
berth XXXXX reachable only over land in our data (X km) — verify approach the last leg to the berth could not be built over water check the approach yourself; the cell list near the berth may be incomplete
the auto-routed route changed since your edit — N leg(s) could not be verified as ours and are treated as yours the routing data was rebuilt between your edit and its saving look at the legs named; they are no longer checked against land
leg N→M: outside coverage of connected sources — check this leg yourself no coverage data for this leg attach your ENC product list; check the leg yourself
no coverage channel for these waters — cells not computed no open catalogue and no product list attached for this stretch attach your ENC product list; the route and layers still show
route data invalid between WP N and WP M — cells not computed for this stretch, fix the file or verify manually some waypoints of the RTZ could not be read fix the file
STALE COVERAGE: newest snapshot is N days old (fetched …, limit 14 days) open coverage data older than 14 days press Refresh coverage (network)
STALE CATALOGUE: your product list is N days old … your exchange set is older than 14 days load the distributor's current exchange set
your catalogue is short here: N cell(s) … NOAA's exact coverage needs cells your product list does not hold see the «supplement» group; ask your distributor
BAND: X nm of the route (legs N→M) is left without a BAND cell — excluded by you: … your choice of cells leaves this stretch without a cell of the band the run found there tick the cells back, or keep the choice knowingly
no cell of any band: … is left without a cell — excluded by you: … your choice leaves this stretch with no cell at all tick the cells back
official network … off — … (since …); the global network is used until the author decides the source of that fairway network changed or withdrew its terms (page 08) nothing — the route uses the global network, as before that network was added
MSIL paused (…) — Japan's official routes are off until the author decides; the global network is used the Japanese source revoked access, introduced a fee or a restriction, or a change of its terms went undecided for 30 days nothing — the route uses the global network, as before Japan was added
your exclusion of N cells was cleared by the new run every run starts with every cell selected untick again if you still want them out

Cautions

text meaning what to do
official geometry left at legs N–M — route is now yours you moved a leg that lay on a published fairway intended? then nothing; otherwise reloading discards all edits (the browser will ask)
via N moved to nearest network point, X nm off your map point was joined to the nearest point of the routing network move the via onto the fairway if the detour matters
leg — connector: position joined to the global routing network; auto-routed geometry, not verified against fairways a Departure, Destination or via given as a map point is reached by an invented leg edit the leg if it matters
no catalogue attached — open channels only (NOAA); choose your exchange set above to use yours the run used open coverage data only attach your ENC product list for a world-wide list
invalid source rings repaired (make_valid): … a cell's source outline was invalid and was repaired nothing
edited route discarded — a new input was run you ran a new route while an edited one was on the screen nothing
leg N→M: Maritime Traffic Safety Act fairway — traffic rules apply, not modelled the leg runs inside a Japanese fairway where the Act sets speed, direction and reporting rules; this tool does not model them apply the Act's rules on that stretch
no official route data for Japanese waters on this server (MSIL not fetched) — the global network is used this server holds no MSIL data nothing; the route follows the global network
MSIL terms or API changed on … — awaiting the author's decision; the data of … is used, nothing new is downloaded the Japanese source changed its terms or interface; we keep using what was downloaded under the terms we read, until the author decides nothing
draft exceeds published depth on legs N→M (…) you chose «Build without the draft limit»: the route uses a fairway whose published depth is below your draft plan that stretch on the tide, or lower the entered draft if your ship's is lower
no published depth on legs N→M (fairway, VL class, Väylävirasto) a Finnish fairway with no published depth is on the route; it costs the router more than fairways with a depth, and it was still the way check the depth on the chart before you rely on that stretch

«catalogue attached: N cells — your catalogue is the list» is a confirmation in the Log, not an alert.

08 · Data status and freshness

Freshness is correctness: an old coverage snapshot can list a cancelled cell or miss a new edition. The footer shows the snapshot date; older than 14 days and the tool says so. Refresh coverage (marked NET — it is the only network call) fetches the current NOAA catalogue and coverage; nothing else is fetched automatically, ever.

Two channels are used wherever two exist (NOAA coverage service and NOAA product catalogue; your catalogue and NOAA): a cell present in one and absent in the other is listed in the discrepancy log rather than silently trusted.

Where the tool has no data it says so on the map before you run: the coverage layers show where fairways and catalogues are known. Elsewhere routes fall back to the global network and are marked.

Your catalogue's issue date (:DATE) is shown next to it; it drives the same 14-day warning.

MARPOL dates are reviewed, not refetched. A zone's status changes on dates known years ahead (adopted, in force, the requirement applying); the dates table carries them with the date it was last read against IMO's circular, and the run judges «applies on the voyage's date» from it. Freshness here is not a file's age: when a date in the table has passed since that review, the run says so as a caution («the dates shown may be out of date») and the author is told to re-read the circular. The MARPOL tab shows both dates — when the zones were built and when the table was reviewed.

Terms are watched too. Every source here was read and signed before it entered (page 09), and its terms are re-read on the server every month. A change does not switch anything off by itself: the data already downloaded is used as before, nothing new is downloaded from that source, and the change goes to the project's author to accept or stop. A source is paused at once only on a clear sign — access revoked, the service withdrawn, a fee, or its machine-readable licence changed — or when a change stays undecided for 30 days. A paused fairway network is simply not used: routes there follow the global network, and the run says so. A source being unreachable is not a change of terms; the data keeps working and its age shows as above.

09 · Sources and attestations

Every dataset used was read, its licence recorded and the record signed before it entered the build. Coverage by country (the footer's link) lists, for each country, what this server holds — an official fairway network, cell coverage, AIS calibration, density — with the source, its licence, version and download date, and the attestation's id and date; it is generated from the server's own records whenever data changes. The register (docs/sources.md) and the attestation journal (docs/attestations.md) are in the repository.

source used for licence
NOAA ENC Direct, ENC product catalogue cell coverage (U.S.), fairways, TSS public domain
CHS — S57 Individual ENC Limits (Canada) Canada's ENC cell limits with the cell's name, title, scale and last update date — no chart content permission by letter (CHS, 2026-10-29), for display on opennavdata.org — S57 Individual ENC Limits — Fisheries and Oceans Canada / Canadian Hydrographic Service
IHO GI Registry — S-62 Data Producer Code register the producer agency and country of every cell, from its name registry data, freely accessible (IHO) — Producer codes and countries: IHO GI Registry, S-62
DB-IP Lite (IP to Country, IP to ASN) on the public server only: visits and engine runs counted by country and network — the address is looked up and not stored CC BY 4.0 — IP Geolocation by DB-IP
U.S. Army Corps of Engineers, National Channel Framework channel centrelines (U.S.) public domain
Väylävirasto (FTIA), Finland fairways, areas, aids CC BY 4.0 — Source: Finnish Transport Infrastructure Agency / Open API, license CC 4.0 BY
Kystverket via Geonorge, Norway main and secondary fairways NLOD 2.0 — Inneholder data under Norsk lisens for offentlige data (NLOD) tilgjengeliggjort av Kystverket
PDOK / Rijkswaterstaat, Netherlands INSPIRE water transport network CC0
MSIL (海しる), Japan Coast Guard — 海交法航路 and 港則法航路 the route areas of the Maritime Traffic Safety Act fairways and the Act on Port Regulations passages, Japan: the corridor and, by our skeletons, the route — never drawn as a layer MSIL Terms of Use and API Terms, non-commercial use — Created by editing MDA Situational Indication Linkages (https://www.msil.go.jp/) · このサービスは、海しるAPIを利用して取得した情報をもとに作成しているが、サービスの内容は海上保安庁によって保証されたものではない — This service is created based on information obtained using the Kaiyoshiru (MSIL) API, but the service content is not guaranteed by the Japan Coast Guard
Fintraffic / digitraffic.fi AIS, Gulf of Finland (recorded by this project) CC BY 4.0
University of Piraeus (Zenodo) AIS, Saronic Gulf 2017–2019 CC BY 4.0
NOAA AIS 2023 AIS, Columbia River public domain
UN/LOCODE, NGA World Port Index, GeoNames ports CC BY 4.0 / public domain / CC BY 4.0
Natural Earth coastline fallback; basemap at low zooms; land checks (10m); the coast that closes the MARPOL zones' textual boundaries public domain
Marine Regions (Flanders Marine Institute, VLIZ) — ECAs under regulation 14 of MARPOL Annex VI the Baltic, North Sea, North American and US Caribbean ECA rings, checked against the Convention's coordinates CC BY 4.0 — Flanders Marine Institute (VLIZ) (2020). Emission Control Areas (ECAs) designated under regulation 14 of MARPOL Annex VI. https://doi.org/10.14284/397
Marine Regions (Flanders Marine Institute, VLIZ) — Maritime Boundaries Geodatabase, EEZ (200 NM) v12: the Russian EEZ the Northern Sea Route water area (with the Merchant Shipping Code art. 5.1): which part of a route runs through it — an approximation for marking the route, no legal value CC BY 4.0 — Flanders Marine Institute (2023). Maritime Boundaries Geodatabase: Maritime Boundaries and Exclusive Economic Zones (200NM), version 12. https://doi.org/10.14284/632
The Merchant Shipping Code of the Russian Federation, art. 5.1; the Rules of navigation in the water area of the Northern Sea Route (Government Decree No. 1487 of 18.09.2020, ed. of 31.01.2024), Annexes 2 and 3 the NSR water area's limits; the 28 areas; the admission criteria shown for an entered ice class official texts, not objects of copyright (Civil Code of the Russian Federation, art. 1259(6))
IMO — MARPOL and the MEPC resolutions (MEPC.190(60), 202(62), 361(79), 392(82), 315(74), 117(52), 201(62), 75(40), 154(55), 48(31)); MEPC.1/Circ.778/Rev.4 the zones' boundaries (coordinates transcribed from the texts), dates and requirements facts of public treaty texts; the polygons are this project's derived work, ODbL 1.0
OpenStreetMap, via Protomaps basemap builds basemap: land, water, shoreline ODbL 1.0 — © OpenStreetMap contributors
ESA WorldCover (via Daylight landcover) carried inside the basemap file, not drawn CC BY 4.0
protomaps-leaflet 5.1.0 draws the basemap BSD-3-Clause
MARNET via Eurostat SeaRoute, based on ORNL's 2000 global shipping network global routing network (not redistributed) EUPL-1.2 — Source: Eurostat, SeaRoute (EUPL-1.2), modified · Courtesy of Oak Ridge National Laboratory, U.S. Dept. of Energy.
Leaflet 1.9.4, IBM Plex interface BSD-2 / OFL
OpenNavData derived data density grids, coverage zones ODbL 1.0

Your own catalogue and permits are not sources: they are your licensed material, used for your run only and never stored.

10 · MARPOL areas

OpenNavData shows all Emission Control Areas (Annex VI) and Special Areas (Annexes I, II, IV, V) listed by IMO, in force and adopted. Areas adopted but not yet in force are marked with their effective date. The North-East Atlantic ECA is listed without a boundary until the certified resolution text is published.

Your vessel's equipment and build (Vessel profile…). Four optional fields decide whether a row's rule applies to this vessel; each says what it changes. Gross tonnage — the Annex I 400 GT rule in special areas. Passenger ship — the Baltic Annex IV rule. Keel laid (or a similar stage of construction — what MARPOL calls «constructed») — NOx Tier III in each NECA, against that NECA's date; where the regulation also counts a building contract or a delivery date, the keel date alone says only what it can. Engines certified Tier III — read only when the keel date makes Tier III required. The rows then carry «this vessel: …»; it is applicability, not compliance advice, and nothing here changes the route. An empty field changes nothing. The profile (dimensions and equipment) can be saved to a file and loaded again, or kept in this browser if you tick «Remember in this browser»; nothing is stored on our server.

Not shown: national and regional rules (China DECA, Hong Kong, California CARB, EU 0.1 % S at berth), open-loop scrubber discharge bans (China's coastal waters, Hong Kong and others), PSSAs, the Arctic HFO ban. Check port and flag-state requirements separately.

Boundaries: Marine Regions / VLIZ (CC BY 4.0) and our own drawing from the regulation text where no official geometry exists — see Sources (page 09).

What the run gives. The zones of the MARPOL Convention that a route crosses — the emission control areas of Annex VI (sulphur and particulate matter, and NOx) and the special areas of Annexes I (oil), II (noxious liquid substances), IV (sewage) and V (garbage) — with where the route enters and leaves each, the miles and hours inside, one factual sentence on what the area restricts, and the source. The tool consolidates public texts; it is not compliance advice. The Convention, your flag State and the port States are the obligation's source; the master's and operator's own reading governs.

Status on the voyage's date. A zone is judged by the date its requirement applies — for an ECA the date the 0.10 % sulphur limit began (twelve months after the area's entry into force), for a special area the date it took effect after reception facilities were notified. An ECA designated but whose limit begins later reads «in force; 0.10 % S applies from »; a special area awaiting its facilities reads «not in effect». With a speed entered, the moment judged is the time of entry; a zone whose date falls while the ship is inside is a warning («takes effect during the voyage»). Without a speed the departure date is judged, and a date within 60 days of departure gives the same warning with «enter a speed for the time of entry». Future zones stay visible, labelled.

NOx Tier III is a note on the ECA's row, not an event on the route: it depends on the ship's build date (or contract, keel and delivery dates) and engines, which the profile does not know.

Inland waters of the US and Canada. By national law the 0.10 % S limit continues inland: US internal waters navigable from the ECA (40 CFR 1043.20, «ECA associated area») and Canadian waters other than Arctic waters, the St. Lawrence and the Great Lakes included (SOR/2012-69 s. 111). The run counts them inside the North American and US Caribbean ECAs — by country: the United States (Alaska only on the Gulf of Alaska side), Canada south of 60° N, the five Great Lakes and Lake St. Clair, Puerto Rico and the US Virgin Islands; never Mexico. A route up the Columbia or the St. Lawrence stays inside to arrival. The map draws the sea area only. A foreign ship trading on the Great Lakes only is outside s. 111 (s. 111(3)) — a property of the ship the profile does not know. Not compliance advice.

The report. «Print report» on the MARPOL tab opens a one-page report — map, table, requirements, sources, the data's dates and the not-compliance-advice sentence — in a window of its own and calls the browser's print. The data is handed to that window directly; nothing is stored.

National areas — Korea. Five port areas where Korean law limits fuel sulphur to 0.1 % by weight from entering the area until leaving it (since 1 January 2022): Incheon and Pyeongtaek-Dangjin, Yeosu and Gwangyang, Busan, Busan west, Ulsan (해양수산부고시 제2019-202호; 항만지역등 대기질 개선에 관한 특별법 시행령 별표 3). They are national rules, not MARPOL: every row, Log line and RTZ point says so, and their waypoints are named «NAT IN / OUT». The boundaries are KHOA's own layer (data.go.kr), checked point by point against the notice; Busan's outer arc is KHOA's, and at Ulsan the notice's 6.0 nm circle is counted inside as well. Busan west applies to ships using Busan New Port only — the row prints the condition; the service does not know your berth. The map draws your route's stretch inside these areas, not the areas themselves.

Also not shown. Further national and regional measures — the EU Sulphur Directive at berth, California's 24 nm fuel rule, China's domestic ECAs, Iceland, the Norwegian World Heritage fjords, Sydney Harbour — are not in this version; the report says so. Open-loop scrubber discharge bans (China's coastal waters, Hong Kong and dozens of ports) are a class of their own and are not shown either. Particularly Sensitive Sea Areas are not shown. The North-East Atlantic ECA is listed with its dates but has no boundary until the adopted text is published.

Boundaries and their precision. The four older ECAs are the Marine Regions rings (CC BY 4.0), every vertex of the Convention's appendix VII checked to lie on them (within 50 m). The other zones are drawn from the resolutions' coordinates — geodesics where the text says so, rhumb lines otherwise — closed by the Natural Earth 10m coastline, whose resolution is about a mile: the sea side of a boundary is exact to the transcribed coordinate, the coast side is coarse. Where a textual definition (Baltic, North Sea) and the Marine Regions ring both exist and differ by more than a mile, the union is taken — completeness over narrowness: an extra mile of 0.10 % fuel costs money, a missed zone costs more. A route that leaves and re-enters a zone within 5 nm (a shore hugged, a river mouth) is one crossing; the row says how many such gaps were closed.

11 · Warnings — the sources to consult along the route

What the tab gives. For a route: the NAVTEX stations whose range reaches it, the NAVAREA coordinators of those stations' areas, and the national services of the stations' countries — each with its official channel and the state of that page when we last checked it. It is the list of sources a navigator must consult for navigational warnings. It shows no warning and never says «there are no warnings»: check these sources and the official broadcasts (NAVTEX, SafetyNET, SafetyCast). Not for navigation.

NAVTEX stations. From IMO GMDSS.1/Circ.22 (30 July 2018), Annex 7 — B1 character, position, frequency (518, 490 or 4209.5 kHz), schedule and range. A station is listed where the route comes within its range of the antenna; the range is the nominal range as published, or 400 nm, marked «estimate», where none is published. Every station is listed with its 2018 status (operational, under trial, temporarily suspended, planned). The list is from 2018; IMO's current register (GISIS) needs an account.

NAVAREAs. The coordinators are from IMO COMSAR.1/Circ.58/Rev.1 (2018), with the address listed there and the current page where it has moved. The NAVAREA limits are not available yet, so the tab lists the NAVAREAs of the NAVTEX stations in range: a NAVAREA crossed out of NAVTEX range — in open ocean — is not listed. Check the IMO/IHO NAVAREA map for those stretches. BALTICO (the Baltic sub-area of NAVAREA I) is listed when a NAVAREA I station east of 10° E and north of 53° N is in range — an approximation, said so on the row.

National services. A country is listed when one of its NAVTEX stations is in range. Its agency and page are named only where we read them on the agency's own site; otherwise the country alone is given. A country whose coast the route passes within 12 nm of but that has no NAVTEX station of its own in IMO's list (Finland, Denmark, Morocco …) gets one line saying so: its waters are covered by the stations listed.

Channel states («reachable», «moved», «unreachable», «in-force list stale») are checked monthly; when the last check is older than 62 days, the tab says so.

12 · Voyage estimate — a pre-fixture estimate from the route

What it is. A pre-fixture estimate in the Voyage estimate tab of the route page: press «② Estimate voyage» (it builds the route first if there is none), enter the IMO number, check the prefilled questionnaire, get the estimate. It also has an address of its own, /estimate, where two ports give the route. Distances and ECA miles come from a route on open official data that stays on water and respects passage limits. Laytime and demurrage are not included yet. Check every figure before a commercial decision; the route is not for navigation. Nothing is stored: the estimate is computed from what the page sends and forgotten.

Sources. One line under the title names the data on the page; the full list — every factor and rule with its source, and each source's licence — is in «Sources and licences» at the bottom, collapsed. Each prefilled value keeps its own source and date beside it.

The IMO number. The page asks open sources, in this order: Fintraffic Digitraffic (ships that called at Finnish ports), the EU MRV reports (ships of 5 000 GT and above calling at EU/EEA ports) and Wikidata. Each value shows its source and date; a value you change says «entered by you». A field no source filled says why — the sources asked, or that a source did not answer. The year the ship entered service is shown read-only beside the keel date.

NOx Tier III from the year built. While the keel date is empty, the page infers from the year of entry into service: a ship in service before a NECA's «constructed» date was laid down before it, so Tier III is not required there for the engines installed at build. An engine replaced or added later may need it (Annex VI reg. 13.2). The line says «inferred» and names its source; a keel date you enter replaces it.

Consumption — one reference fuel. Consumption (at sea and at berth) is entered as tonnes per day of one fuel, «consumption entered as» — by default the fuel outside ECAs. Another fuel on the same leg or at berth is converted by its lower calorific value (IMO MEPC.364(79), para 2.2.1: HFO 40 200, LFO 41 200, Diesel/Gas Oil 42 700, LNG 48 000 kJ/kg): for the same energy, MGO is 94 % of the VLSFO mass. VLSFO takes the value of its emission class. A dual-fuel ship enters gas and pilot fuel each as they are. The result shows each conversion. Differences in engine efficiency by fuel are not modelled.

Where MRV has the ship, the consumption at sea is prefilled from its annual average fuel per nautical mile at the speed you enter — the ship's mix of fuels by mass, taken as the reference fuel, and labelled as an annual average, not a figure for that speed. If the latest year has no per-mile value, the latest year that has one is used and the tag names the year. Where it has not, the field's grey hint gives the typical range for the ship's type: the 10th–90th percentile of the annual averages of every ship of that EU MRV type in the latest year, all sizes. In tonnes per day it is that annual per-mile average multiplied by your speed — real consumption rises faster than speed, so at higher speeds it understates. A type with fewer than 30 ships, or with a spread wider than threefold, gets no range. The hint is never used as a value.

The route. A line names the route — its ports, its miles, its miles in ECAs and when it was built — above a small map of it. When the route page builds another route, the tab says «route changed — update» and keeps the one it has until you press update.

Prices as of. One date for the fuel and EUA prices, and their source if you give it, shown in the result and the CSV. We fetch no prices: there is no open licence for live bunker prices, and commercial sources need display rights.

Inputs to a file. «Save inputs to file» writes every input, the vessel's values with their sources and the route to a file on your computer; «Load inputs from file» puts them back, in the tab or on /estimate. Nothing is sent to us. Two demo files (a Q-Max from Ras Laffan to Rotterdam by Suez and by the Cape) show a filled estimate; every value in them is marked as a demo input with its source.

Field help. The (i) after each label says what the field is, where the figure comes from (certificates, the C/P, bunker invoices, the agent's D/A, the fixture recap) and its unit. Prices, freight, hire and port costs have no typical range: no open source gives one.

What it computes. Sea days, port days, fuel by type inside and outside each ECA (compliant fuel inside unless a scrubber is fitted), LNG with boil-off and methane slip, CO2 / CH4 / N2O and CO2e (EU MRV factors), EU ETS (the voyage's share, the phase-in by year, ships of 5 000 GT and above), bunker and other costs, the result and TCE when freight is given, and a sensitivity line. Every factor and rule is listed with its source under «Sources».

Not modelled: engine efficiency differences by fuel, FuelEU Maritime, CII, live bunker prices, off-hire, laytime and demurrage, the outermost regions.

13 · Scenarios — one voyage, several routes side by side

What it is. The Scenarios tab («③ Compare scenarios») runs up to four variants of one voyage and puts their figures side by side: continue to the destination, divert to another port, go through a canal or round a cape. It shows figures and their differences. It ranks nothing and marks no column: the decision is yours.

What is shared, what is each scenario's own. - Shared: the departure (the Input panel's A — a port, or a position for a ship already at sea), the time at departure, the vessel, the speed and consumption, the prices, hire, cargo and freight, and the departure port's days and costs — as entered in the Voyage estimate tab (page 12). Fill that tab first; a scenario without its inputs shows the estimate's own message. - Each scenario's own: a name, the destination (a port code or «lat, lon»), vias (separated by «;»), the passages closed for it, «via the Northern Sea Route», and the inputs that follow the route — the canal toll, the NSR / icebreaker fee (entered; the tariff is not computed), the war risk (a lump, or a % of the hull value per transit), armed guards, and the arrival port's days and cost. The hull value is shared.

Closing a passage. Tick a passage under «closed for this run» and the route avoids it: the Suez Canal, the Panama Canal, the Cape of Good Hope, Cape Horn and the Strait of Magellan (one entry: the routing network names both ways round South America together). «Via Suez» is the scenario with nothing closed; «round the Cape» is the one with Suez closed. Closing Suez alone can send a route through Panama instead — the table's row «passages the route runs through» says which way each route went; close Panama as well to keep it round the Cape. The Arctic is closed unless a scenario asks for the NSR (page 02): a scenario only the Arctic could route is refused, and its column says so. Via the Northern Sea Route. Tick it and the NSR is open for that scenario: the route is the network's least-distance route with the NSR open, and the row «Northern Sea Route» gives the miles inside its water area and the areas crossed — or says «requested — not used by the route found» when that route does not go through it. Nothing is forced. The fee you enter for it is a cost row of its own. A passage you close is your choice for that run only; the vessel profile's closures (page 02) apply as well.

From a position. With a position as the departure, the time is the time at that position, and the start has no port days, fuel or cost. For EU ETS a voyage runs from port of call to port of call (MRV), so a ship that left Rotterdam is still on that voyage: give the last port of call and the estimate counts the voyage from it. Without it, the position is treated as outside the EU/EEA, and the table says so in its «EU ETS scope» row.

Run scenarios. Each scenario is one route run and one estimate, one after another, as if you had pressed ① and ② for it. The Log keeps each run. The map then draws every scenario's route, each with its own dash pattern and its letter: A solid, B dashed, C dotted, D dash-dot. One scenario at a time is drawn with its corridor and cells, and it is the one the Cells, MARPOL and Warnings tabs show: «show on map» on its column (or a click on its line or letter) shows another.

The table. One column per scenario, one row per figure: the passages, distance and miles in ECAs, sea days, days in total, ETA, fuel by type, CO2e, EU ETS tonnes and cost, each cost, the total, the result and TCE when freight is given, the ENC cells listed and the warnings on the route. Beside each figure, in brackets, its difference from the reference column — the column minus the reference, «+1,820» or «−214,000». «differences from» sets the reference; «order of the columns» puts the columns in the order of any row's figure, ascending or descending. Nothing is coloured.

Saving. «Save» writes the scenario inputs to a .ond-scenarios.json file on your computer — inputs only, no route; «Load» puts them back. «Download CSV» writes the table, figures and differences. Nothing is sent to us or kept: the routes live in this page until you leave it.

Indicative corridor for data-procurement planning. Not a passage plan. Not for navigation.