"JTides" relies on data collected from tidal and current monitoring stations, mostly at public expense. These data are then turned into a table of mathematical factors. The factors model the tides through a mathematical method called a "Fourier series."
The mathematician Fourier discovered that any complex periodic waveform can be broken down into a series of sinusoidal components. It was a short conceptual step from that to realizing the sine components represent a frequency-domain spectrum of the original time-domain waveform.
A Fourier series is a special case of a Fourier transform, the conversion of data based in time into data based in frequency, so to speak.
It turns out that, no matter how complex the original time-varying waveform, if you collect enough information, you have a good chance to reproduce the original time-varying events using a compact mathematical representation. Tidal prediction is based on this idea.
Most American tidal data consist of 37 Fourier terms, plus a set of correcting factors for each year during which the data are expected to be used. This becomes a rather large data set, but it is obviously much smaller than simply recording the time-varying data and storing that.
"JTides" reads such a data file and turns it into a tidal or current prediction. If future tidal data become available, perhaps with different numbers of terms or for different years, but in the same file format, "Tide" will know how to read and use this new information.
And there are already some rather strange tidal data tables for special purposes. Included with "JTides" is a table for Anchorage, Alaska, a place with very weird tides. This table uses 114 (!) factors in order to have a chance of modeling the tides at that location.
Basically, "JTides" takes these worldwide tidal/current data sources and turns them into pretty graphs and databases.
When JTides is run, it carries out these actions: