All in JavaScript, all computing done on the client side.
The script tideEngine.js is imported from a module. See the code for details.
Check the console for errors...
Enter the station name (at least a part of it, case-insensitive):Or choose your station in the list: