Measure exposure as it changes.
Track insured assets against live hazards, score voyages by the conditions they actually met, and flag unusual vessel behaviour, with a full record you can replay for any claim.
from seasignals import Ocean ocean = Ocean() storm = ocean.storms.active()[0] # Insured vessels inside the forecast cone exposed = ocean.vessels( within=storm.cone, ids=portfolio.vessel_ids, ) tiv = sum(portfolio.value[v.id] for v in exposed) print(storm.name, len(exposed), tiv)
What SeaSignals gives you
Accumulation
Total insured value inside each storm cone and wind radius, recalculated with every new advisory.
Voyage risk
Score voyages by the sea states and weather a vessel actually passed through, not just the route it planned.
Behaviour flags
Dark periods, ship-to-ship transfers, loitering and sanctioned-area visits, with timestamps and evidence.
Claims context
Replay vessels, waves and storms at any place and time to understand what happened.
From signal to decision
Every layer shares one grid, one clock and one set of IDs, so combining them takes a single query instead of a data project.
Load your portfolio
Map hulls, cargo and fixed assets to SeaSignals IDs and locations.
See live exposure
Accumulation and voyage risk update automatically as storms move and vessels sail.
Back decisions with evidence
Use behaviour flags for underwriting and replay full conditions when a claim comes in.
Same dataset, other questions
Shipping & logistics
Fleet visibility, ETAs and port delays, with weather risk built in.
Learn more →Commodities & markets
Tanker flows and port throughput as early market signals.
Learn more →Offshore & energy
Weather windows, wave forecasts and site conditions.
Learn more →Research & conservation
Wildlife movement, ship-strike risk and illegal fishing signals.
Learn more →Developers & builders
One clean API for marine apps, maps, games and AI agents.
Learn more →Tell us what you're working on
We're shaping early access around real use cases.