1 What the platform uses
The current
Seventeen ocean models, ranked, and one answers a whole corridor. Thirteen are NOAA coastal forecast systems over US waters and the Great Lakes; four are Copernicus Marine regional products; behind them is the Copernicus Marine global product. The finest model whose own published area contains the whole corridor, and which answers, wins the whole of it. Its name, its resolution and whether it carries the tide travel in the forecast file’s header.
| Resolution | Where |
|---|---|
| 278 m | San Francisco Bay; Tampa Bay |
| 557 m | Chesapeake Bay; Cook Inlet; Delaware Bay; Lake Erie; Lake Ontario; Lake Superior; the Salish Sea |
| 1113 m | Gulf of Maine; Lake Michigan-Huron; the northern Gulf of Mexico |
| 1861 m | The Baltic |
| 2342 m | North-west European waters |
| 3092 m | Iberia, Biscay and Ireland |
| 4453 m | The US west coast |
| 4638 m | The Mediterranean |
| 9277 m | Everywhere else, 80° S to 90° N |
A finer model buys coverage and correctness rather than a finer picture. The cells in a forecast file are the weather model’s, and none of this changes them. What changes is the number in each cell. Where the global product solves land — which is most harbours, because a nine-kilometre cell over an estuary is not water — a 500-metre estuary model solves the stream; and where the global product does solve water, its value is an average over nine kilometres of coast.
Nothing is spliced. A model that does not cover the whole corridor is not asked at all. Two current models disagree about the phase of a tidal stream — by tens of minutes, and by whole reversals — so joining two of them across one corridor would put a step in open water where the stream jumps and then runs backwards for an hour, at a seam invisible in the file.
Every one of these models is a tidal model: the NOAA systems are forced with the astronomical tide at their open boundary and solve the stream inside, and the Copernicus products pack the total surface velocity, which that source defines as ocean circulation plus waves plus tide. The platform never packs the circulation-only velocity Copernicus also publishes. The difference decides races: in the Solent, the Alderney Race or the Sound a navigator is steering against the tide, and the circulation-only field does not contain it.
The NOAA models are read at their surface layer, and that is not a depth-averaged current. In a stratified estuary the two run in opposite directions.
The two components arrive in the corridor forecast file as current_u (east) and current_v (north), in metres per second, on the same grid and the same time axis as the wind. They are ordinary extra variables in the file a tablet already reads.
The height of tide
The height of tide is a separate variable, tide_height, in metres. Three sources are tried per corridor in this order, and the first one that answers takes the whole corridor:
| Order | Source | Where it answers |
|---|---|---|
| 1 | A harmonic constituent set mounted by the operator | Wherever its stations are. No data ships with the platform — see section 7. |
| 2 | NOAA CO-OPS station predictions | Within 25 nautical miles of a reference station |
| 3 | Copernicus Marine global ocean tide | Global, 80° S to 90° N |
The file names the winner, so a crew can argue with the number rather than guess at it. One source answers a whole corridor and the sources are never spliced together. Two depth surveys disagree about a number at a point; two tide sources disagree about the phase of a wave. Measured on the same water on the same day at Newport, Rhode Island, the station prediction and the global model agreed best at a one-hour lag, 0.102 m rms. Splicing them across a corridor would put a step in open water where the tide jumps and then runs backwards for an hour.
Astronomical tide, no surge — what that means in practice
tide_height is the astronomical tide. It is the water the moon and the sun produce, and nothing else. It carries no storm surge and no barometric effect.
In practice: weather can put the real water level above or below this number, and the platform does not say by how much. That difference belongs in the safety margin under the keel, where an unmodelled metre already lives.
The global source publishes the surge terms separately and they are deliberately left out, because adding them would move the zero. Measured at Newport on 8 September 2026, the tide read +0.311 m at a place where the same store’s tide-free sea surface height read −0.459 m. That half metre is dynamic topography, not tide, and it does not average out over a cycle. Adding it would have produced a height whose zero was no longer mean sea level and could not be added to a charted depth.
Currents and tide heights are on in Nordic Stars’ own deployment. They are switches rather than settings because the Copernicus Marine licence is the operator’s to accept, and it was accepted on 8 September 2026; the NOAA models carry no such condition and are on by default. A deployment with them off builds files with no current and no tide variables at all, and the file header is what says which.
2 Units and datums
| Quantity | Unit | Reference |
|---|---|---|
| Set | degrees true | The direction the water flows toward, in the range 0 up to 360. |
| Drift | knots | Speed of the water. |
| Current in the file | metres per second | East and north components, converted to set and drift for display. |
| Height of tide | metres | Above mean sea level. The file names the datum in its own field and it is never inferred. |
Set is a to-bearing and wind direction is a from-bearing. The two conventions differ by exactly 180°, and both look plausible on a chart. Nordic Stars keeps both rather than unifying them, because both are the navigator’s own: the wind is from the south-west, the tide sets north-east. A current running due north reads as 000°.
A tide height of zero is mean sea level, not low water. Every tide passes through zero twice a day. Negative values are ordinary and are kept as they are, never raised to zero.
Charted depths are a separate matter and carry a per-cell vertical datum: the European survey the platform uses is referenced to lowest astronomical tide, the global one to mean sea level, and in shallow water the two differ by metres. So a height above mean sea level is not added to any sounding without reading that sounding’s own datum first. The depth card on the map states it for exactly this reason.
3 In the routing: heading, track and ETA
PATH AHEAD takes the current field out of the same forecast file it takes the wind from. Two things change on every step of a route.
1. The boat moves over the ground at its motion through the water plus the current. Those are four separate numbers once there is tide under the boat, and Race Control keeps them apart: the heading is what the helm steers, the track is what the boat makes good and what the chart draws, the speed through the water is what the polar answers, and the speed over ground is what the ETA is built from. The current is sampled twice per step, the same way the wind is.
2. The wind is corrected to the water before the polar is read. A forecast wind is referenced to the ground, which is what a weather model solves. A polar is referenced to the water, because the boat’s instruments computed every one of its true wind angles from boat speed through the water. Feeding one into the other makes an error the size of the current: one knot of tide across fifteen knots of breeze is close to four degrees of true wind angle. The angle and speed on a leg card are therefore water-referenced, which is also what the instruments will read when the boat gets there.
With no current field in the file, the router produces exactly the numbers it produced before currents existed. Still water is a separate calculation, not a current of zero.
What a leg card prints
A leg card carries BOARD, HEAD (the heading the first board is entered on) and ETA, then the water under the whole leg:
- Set 045° · 1.4 kn — the mean set and drift over that leg. The whole leg, not the first board: a gate that turns at half time changes the answer to when do we go, not to how long on this tack.
- Slack — there is a current field over this water and it is running under a twentieth of a knot.
- No tide line at all — no step on this leg had a current. That is not slack. Printing a zero for water no ocean model covered would plan a tidal race as still water.
DIAGNOSTICS carries the same fact for the whole run. The current: row prints the model id the file was built with — current: noaa_ofs_cbofs for the Chesapeake system, current: cmems_bal_phy_1nm for the Baltic one — and current: none says the run had no current field.
4 Laylines with the tide in them
Race Control can draw the laylines on the track the boat makes good rather than on the heading it steers. The control is TIDE on NAVIGATION, it is per boat, and it is on by default when a current field is aboard. It is not shown at all when there is no current field, because there is nothing to apply.
It is a per-boat preference because the size of the effect is a boat fact. The crab angle is the arc sine of drift over boat speed, so the same knot of tide is 9.6° on a six-knot boat and 4.8° on a twelve-knot boat. A navigator may reasonably want it on for one and off for the other.
What it changes, and what it does not
The splay does not move. The boat still sails its measured tacking angle, so the headings are unchanged. What moves is where each layline is drawn, because each board is carried sideways by a different amount.
Worked example. Wind from due north, the boat tacking through 40° either side, so the headings are 040° and 320°. Six knots through the water, one knot setting due east:
| Board | Heading | Track | Over the ground |
|---|---|---|---|
| Starboard | 320° | 328.1° | 5.4 kn |
| Port | 040° | 46.6° | 6.7 kn |
Both tracks swing east, and by different amounts: 8.1° on starboard against 6.6° on port. The two laylines are no longer mirror images about the wind. A crew laying the mark off the still-water pair would be eight degrees early on starboard and six degrees late on port. This is also why a tidal layline cannot be drawn by widening the splay by one crab angle.
The overstood warning is measured on the angle the boat actually sails, the two-board triangle is solved on the tracks, and each board is timed at its own speed over the ground.
The current used is the mean over the passage
A layline is not sailed at one moment. A boat two hours from the weather mark sails two hours of water that turns under it, so the value applied is the mean over the layline time: five instants evenly spaced across the passage, both ends included.
The mean is taken over the east and north components, not over the bearing. A set swinging from 350° to 010° across a turn averages to 000° through the components and to 180° through the bearings.
If any of those five instants has no answer — the passage runs past the end of the forecast, or off the corridor — no mean is taken and the still-water laylines are drawn instead. The same happens for a mode with no boat speed to crab with, such as a boat that has tuning tables but no polar. The laylines are always drawn: a mean that cannot be taken is a reason to draw the still-water pair, not a reason to draw nothing.
One current field serves both ends of the course. The stream is sampled at the boat over the passage and applied to the weather mark and the gate alike. That is the same water on a windward-leeward course. It is not the same water in an archipelago where a headland doubles the stream between the two marks.
5 Current arrows on the chart
Arrows are drawn on NAVIGATION and PATH AHEAD, under the wind barbs and over the chart, on a sparse lattice. They use the same lattice spacing and the same time step as the barbs, so the scrubber moves the water and the air together on one press.
- The head points where the water is going. A wind barb points at where the wind comes from. The two are the opposite convention and they are 180° apart.
- Length is proportional to the drift. One knot is the reference length, so two knots draws twice the shaft. It is linear rather than banded: a wind barb has a five-knot alphabet because every navigator reads one, and no such convention exists for a stream arrow. A tenth of a knot of foul tide over a six-hour beat is a boat length.
- Length is capped at four times the reference, so a tide race does not draw a shaft across the whole panel.
- Below 0.05 knots nothing is drawn. That is a drawing floor and not a statement about the water — a shaft one pixel long claiming a direction is worse than no shaft. Slack is a real reading and the leg cards print it as one.
- At approach zoom each arrow carries its drift beside it, as 1.4 kn.
- A cell the file says nothing about gets no arrow. Nothing is extrapolated past the edge of the corridor or past the end of the forecast.
6 The weather viewer on the web
Navigation → Weather → Open draws the same file in your browser. Current arrows appear when the file carries both components; one component alone is not a current.
- The convention is stated in the legend under the map, in as many words: an arrow points where the water is going.
- The arrow is drawn larger as the drift rises.
- Below 0.15 knots the browser draws no arrow: under that there is nothing a navigator can steer by.
- The chart you get by clicking the map covers wind speed, wind direction, gusts and pressure. It carries no current series and no tide height. The arrows are how you read the current on this page.
7 What this does not cover
- No surge. The height of tide is astronomical only. Put the weather’s effect on the water level in your safety margin.
- No height of tide on any screen. Race Control’s chart card prints Tide height: no source for this area. That is a statement about the app, not about the water. The depth check in the routing therefore adds no height of tide: it charges a fixed 3.5 m allowance against a cell whose datum is mean sea level or is not stated, and nothing against a cell on chart datum, where a zero tide is already the least water that cell ever has.
- A missing cell is never slack water. Dry land, water the ocean model does not solve, and slack are three different facts, and only the first two are absent from the file. Nothing anywhere substitutes a zero drift for a missing one.
- The current forecast ends before the wind forecast does. The ocean model holds an analysis history and a few days ahead, so a seven-day wind horizon runs past the end of it. Steps past that end carry no current at all.
- Outside a regional model, a cell is not a harbour. The global product is about 9 km across, and it is sampled to the nearest cell rather than averaged. Where it is the model that answered — anywhere outside the boxes in section 1 — narrow channels, harbour entrances and the water immediately behind a headland are below what it resolves. The same limit applies to the global tide source: at Newport it carried about a quarter less range than the harbour station’s own prediction, because a cell in Rhode Island Sound is not Narragansett Bay.
- A regional model must cover the whole corridor. A corridor that runs off the edge of the Chesapeake model gets the next model that contains all of it, which may be the global one — so widening the corridor margin can coarsen the current. The file names which model answered, so this is readable rather than something to deduce.
- The tide sources have bounds of their own. A corridor larger than roughly 10 degrees a side gets no height of tide, because the cost of the data is not worth paying for an offshore leg where it decides nothing. A point more than 25 nautical miles from a NOAA reference station is outside that network, and the answer is no value rather than a harbour’s tide applied to water ninety miles away.
- The harmonic option carries no data. The adapter for a licensed global tide model is built, and no constituent set ships with the platform: FES2014 requires registration and a citation, and TPXO’s global solution is licensed per use. An operator who wants that tier supplies the data.
- A file built before 8 September 2026 carries neither. Currents and tide heights went on in production that day. An older file has no current and no tide variables at all, and its header is what says so — it is not a file whose tide happens to read zero.
- The tablet features on this page are in Race Control 1.21.0. A tablet on an earlier version draws no current arrows, prints no set and drift on a leg card, and its laylines carry no tide.
None of this replaces the plotter on board. A forecast file is one model run, the sea model is a planning aid rather than a chart, and the depth surveys behind it carry their own publishers’ wording that they are not for navigation.
8 How to check what you have
On the web, in Navigation → Weather:
- Open the file for the plan. Arrows on the map mean the file carries a current; no arrows anywhere over water means it does not.
- Step the scrubber through the run. The stream reversing between steps is the tide, and it is in the file.
- Click the map for the depth card. It names the survey, its resolution and its vertical datum — the datum a height of tide would have to be reconciled with.
On the tablet:
- PATH AHEAD — the Set … · … kn line on a leg card, and the current: row under DIAGNOSTICS, which names the ocean model a run used or says none.
- NAVIGATION — the TIDE control. Present only when a current field is aboard, and it states whether the laylines carry the current.
- Tap the chart for the card. Its tide-height line states whether there is a source for that area.
9 Where to go next
- Weather — which models the platform fetches for a boat, the corridor around the route, and what makes a forecast stale.
- Navigation — the forecast viewer these arrows are drawn in, and the rest of the navigator’s section.
- Your own GRIB, and weather at sea — importing a forecast file you already have, and refreshing the weather once the boat has left.