HarbourOS
Live ship traffic and port calls along the Norwegian coast, from the positions ships broadcast every few seconds.
This week at a glance
Port calls in the 7 days up to the latest data, for the ship types picked above.
Busiest ports
Port calls, split by ship type
How long ships stay
Hours in port, for visits where we saw the ship arrive and leave. The last bar is 48 hours or more.
How close to a known port?
How far each stop was from the nearest official port. Far-off stops are usually small quays missing from the list, oil rigs or fishing grounds.
How accurate are the ship's signals?
Whether the ship's speed, its crew-set status and its position all point to the same stop.
How reliable is HarbourOS?
How many of 100 random stops an outside source confirms: maps, official voyage reports or the destination the crew typed in.
Unusual this week
Things ships did this week that are rare for their type, and why each one stood out. Unusual doesn't mean wrong.
All port calls this week, as a table
How this was built
Every 10 minutes, Python collects the positions all ships along the coast are broadcasting (BarentsWatch AIS). SQL cleans them into a trusted layer, setting aside every rejected row with a reason. A Python state machine turns each ship's positions into stops, each with a confidence score, and dbt matches every stop to the nearest official port and builds the tables this page reads, including each ship's route. GitHub Actions runs the whole chain about four times a day and republishes this page. It is a static snapshot, so no database is exposed to the internet.