By accessing and using Actual Currents ("the App"), you agree to be bound by these Terms and Conditions. If you do not agree, please do not use the App.
2. Nature of Data
Actual Currents provides tidal current visualizations derived from NOAA ADCIRC harmonic constituent data. This data is intended for informational and educational purposes only.
3. Not for Navigation
The information provided by this App is not intended for navigation and should not be used as a substitute for official nautical charts, tide tables, or professional maritime guidance. Always consult official NOAA publications and local authorities for navigation decisions.
4. No Warranty
The App is provided "as is" without warranty of any kind, express or implied. We do not guarantee the accuracy, completeness, or timeliness of any data displayed.
5. Limitation of Liability
In no event shall Actual Currents, its creators, or contributors be liable for any damages arising from the use or inability to use the App, including but not limited to damages resulting from navigation decisions made using this data.
6. Data Sources
Tidal current predictions are computed from NOAA/NOS/OCS/CSDL/MMAP ADCIRC model harmonic constituents. Map data is provided by Mapbox. We are not affiliated with NOAA or Mapbox.
7. User Conduct
You agree not to misuse the App, attempt to reverse-engineer its systems, or use automated means to access the service in a manner that degrades performance for other users.
8. Changes to Terms
We reserve the right to modify these terms at any time. Continued use of the App after changes constitutes acceptance of the revised terms.
9. Contact
For questions about these terms or privacy policy, please contact us at info@actualcurrents.com.
Privacy Policy
10. Analytics
We use Plausible Analytics, a privacy-friendly analytics service. Plausible does not use cookies, does not collect personal data, and does not track you across websites. It collects only aggregate data such as page views, referral sources, browser type, and country — no individual visitor profiles are created.
11. Location Data
The App may request access to your device's GPS location to center the map and provide navigation features. Location data is used only on your device and is not stored on our servers unless you explicitly save a log entry, in which case the coordinates are stored with that log.
12. Feedback & Logs
If you submit feedback or create log entries, that data is stored on our server. Feedback contains only the message text you provide. Log entries contain the title, notes, GPS coordinates, current data, and photo (if attached) that you choose to save. No account or personal identifying information is required or collected.
13. Cookies & Local Storage
The App does not use cookies. It uses browser localStorage to save your preferences and log entries for offline access. This data stays on your device.
14. Third-Party Services
The App uses Mapbox for map rendering and NOAA APIs for tide station data. These services have their own privacy policies. We do not share your data with any third parties.
15. Data Retention
Feedback and log entries are retained on our server indefinitely. You may request deletion of your data by contacting info@actualcurrents.com.
Acknowledgements
ADCIRC Tidal Database
Tidal harmonic constituent data is derived from the ADCIRC (Advanced Circulation) hydrodynamic model, developed by R.A. Luettich Jr. and J.J. Westerink. The Atlantic and Pacific tidal databases are produced by NOAA/NOS/OCS/CSDL/MMAP. adcirc.org
TTide
Tidal harmonic analysis and prediction powered by TTide, a Python port of the T_TIDE MATLAB package originally developed by R. Pawlowicz, B. Beardsley, and S. Lentz (2002). github.com/moflaher/ttide_py
NOAA Tides & Currents
Tide station data and water level predictions provided by the NOAA Center for Operational Oceanographic Products and Services (CO-OPS) via the Tides & Currents API. tidesandcurrents.noaa.gov
NOAA Aids to Navigation
Navigation buoy and structure data sourced from the NOAA Office for Coastal Management Marine Cadastre, served via the ArcGIS Feature Service. marinecadastre.gov
Open Source
This application is built on the contributions of countless open-source developers and the broader scientific community. We are grateful for their work.
How Current Predictions Work
1. The Ocean Model
Our predictions begin with ADCIRC (Advanced Circulation), a high-resolution ocean model developed at UNC and Notre Dame, widely used by NOAA and the US Army Corps of Engineers. ADCIRC solves the shallow water equations — the fundamental physics of how water moves — on an unstructured triangular mesh of over 2 million nodes.
The shallow water equations describe three things: conservation of mass (continuity) and the balance of forces in two horizontal directions (momentum). Here are the full equations:
u, v = depth-averaged velocities • ζ = surface elevation • H = total depth (h + ζ)
f = Coriolis parameter • g = gravity • ρ = water density
Pa = atmospheric pressure • τs = wind stress • τb = bottom friction
ii. Simplify for a tidal-only simulation
No weather forcing: atmospheric pressure gradients and wind stress drop out.
These are solved at every node in the mesh, at every time step, producing velocity time series u(t) and v(t) at each node.
Note: ADCIRC does not solve these equations in their standard form. It reformulates the continuity equation into a Generalized Wave Continuity Equation (GWCE) — a second-order wave equation that eliminates spurious numerical oscillations inherent to finite element methods on large unstructured meshes.
2. From Simulation to Constituents
The raw time series above is accurate but impractical — gigabytes of data that only covers the simulated period. To make predictions for any date, we need to extract the underlying tidal patterns.
A harmonic analysis is performed on each node's time series. Because the tidal frequencies are known precisely from astronomy, a least-squares method can decompose the complex signal into its individual wave components:
Least-squares decomposition
signal(t) = Σ Ai · cos(ωi · t − φi)
ωi = known tidal frequency (from astronomy) • solve for Ai (amplitude) and φi (phase)
This is similar to how a prism splits white light into its component colors — the complex tidal signal is split into its component waves. The result at each node is a set of amplitudes and phases that compactly encode the full tidal behavior.
3. The Tidal Constituents
Each constituent corresponds to a specific gravitational cycle of the Moon and Sun. Together they capture the dominant patterns in tidal currents — like individual notes that combine to form a chord.
The 8 constituents extracted at every mesh node:
M2 — Principal lunar (12.42h period) — the dominant tide S2 — Principal solar (12.00h) N2 — Larger lunar elliptic (12.66h) K1 — Luni-solar diurnal (23.93h) O1 — Principal lunar diurnal (25.82h) P1 — Principal solar diurnal (24.07h) M4 — Shallow water overtide of M2 (6.21h) M6 — Shallow water overtide of M2 (4.14h)
At each mesh node, ADCIRC provides the amplitude and phase of every constituent for both the east-west (U) and north-south (V) current components.
4. Predicting Currents at Any Time
To calculate the current at a specific moment, we use harmonic synthesis — summing the contribution of each constituent separately for the east-west (U) and north-south (V) components:
Harmonic synthesis — east-west current
Harmonic synthesis — north-south current
U(t) = east-west current velocity at time t • V(t) = north-south current velocity at time t fi = nodal correction factor (Moon's 18.6-year orbital wobble) Aui, Avi = amplitude of U and V current for constituent i Vi = astronomical argument (positions of Moon & Sun at this moment) ui = phase adjustment from the nodal cycle φui, φvi = local U and V phase offsets from the ADCIRC model (Note: f and u here are standard tidal notation, distinct from the Coriolis f and velocity u used above)
Current speed & direction
Direction θ follows nautical convention: 0° = north, 90° = east, 180° = south, 270° = west.
This is the direction the current is flowing toward.
The astronomical calculations (V, u, f) are computed using the TTide library, which tracks the precise positions of the Moon and Sun for any date.
5. From Numbers to Flow
The result is a U (east-west) and V (north-south) velocity at every mesh node. These velocities are then:
• Converted from m/s to knots
• Interpolated across triangles using barycentric coordinates so particles can flow smoothly between nodes
• Visualized as animated particles that follow the current — faster flow means faster, brighter particles
6. What This Means
Because tides are driven by celestial mechanics, they are highly predictable. This app can calculate accurate current predictions for any date — past or future — at any of the 2 million+ points in the mesh.
However, predictions do not account for wind, storms, river discharge, or other non-tidal forces that can temporarily alter currents. Always consult official sources for navigation.