Index / Work
Adriatic Sea Live site ↗
Coastal monitoring platform

Adriatic Sea

A monitoring platform for the Croatian Hydrographic Institute that collects readings from a network of stations along the Adriatic coast and publishes them live. Instrument files come in from each station; public station pages show the latest tide, wave, wind and pressure readings, each on its own live-updating chart. Work done for the Institute — the platform, the station network and the data are the Institute's.

Adriatic Sea runs the Croatian Hydrographic Institute’s network of coastal monitoring stations. Staff manage the stations, upload instrument data and configure alarms behind a login; a public portal shows the designated stations to anyone, and a map feed carries the latest reading from each onto a live map of the coast.

The data model is shaped by the instruments. Five kinds of station — tide, wave, wind, pressure and meteorological — each write into their own table, so measurements that share nothing in common coexist without a sprawling shared schema. Tide readings are calibrated against a managed reference level before they are shown, a threshold alarm system flags out-of-range values by colour and email, and the whole interface runs in Croatian and English.

The public station pages stay current by asking the server, on a timer, only for readings newer than the last point already on the chart, and each page shows the last-data time and the station’s own clock, flagging a reading that has gone too long without an update.

Work done for the Institute — the platform, the station network and the data belong to the Croatian Hydrographic Institute.

ForThe Croatian Hydrographic Institute
SurfaceAdmin backend + public portal + map API
PublicLive station pages, no account
Adriatic Sea operational oceanography portal — the Institute's login page over a photograph of waves against the Zadar waterfront
Tide station page for Split: measured versus predicted sea level against Hydrographic zero, a residual chart, and a high/low water table
Tide stations

Measured tide against its prediction

A tide station plots what the sensor is measuring against the predicted tide for the same hours, both read off a chosen reference level. The measured and predicted lines diverge exactly where the sea is running above or below what the tables expect, and a table of the next high and low waters sits alongside the chart.

  • Measured and predicted levels on one chart, plus the residual between them
  • Readings calibrated to a chosen datum, e.g. Hydrographic zero (H0)
  • The next high and low waters listed with time and height
Live wave station page for Split: maximum and significant wave height over the day, with last-data and station-time readouts
Live station pages

Station pages that keep themselves current

Every station page refreshes itself on a timer. Each cycle asks the server only for measurements newer than the last point already on the chart and appends them, rather than reloading the whole history. The last-data time and the station's own clock sit at the top of every page, and a reading that has gone too long without an update is flagged so a gap is never mistaken for calm sea.

  • Each refresh appends only readings newer than the last plotted point
  • Last-data time and station time are shown at the top of every page
  • A stale reading is flagged when data stops arriving
The rest of the platform
How it's built
Application
Yii 2, PHP, MySQL
Data
Per-station tables, Instrument-file ingestion (CSV / DAT)
Output & API
JSON API, GeoJSON, Delimited-text export, Email alerts
Platform
Role-based access, Audit logging, Bilingual (HR / EN)