JTides Help | Technical Background

About Tidal Prediction

"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.

About JTides
JTides is delivered in a java JAR file, which must be interpreted by an appropriate java runtime engine. Since you are reading this, I will assume you have gotten over that hurdle.

When JTides is run, it carries out these actions:

  1. If this is the first run on a new system, JTides unpacks its data files (moves them from the JAR file to a suitable directory, which on this system is located at  [basePath]). This step is taken because the user may wish to modify the data file set, something that is much harder to do if the files are packed away in a JAR file.
  2. If there are any changes in the data file structure, JTides regenerates its master index, the index used to quickly go from a site name to a set of site data.
  3. JTides reads the index into memory, making fast searches possible.
  4. JTides reads its initialization file, located on this system at  [basePath]/JTides.ini, and configures itself according to the user's previously expressed preferences. If there is no such file (true on the first run) JTides uses default options.
Some available options are recorded by the configuration file  [basePath]/JTides.ini, but are not settable in the program. If you want to customize such options, simply edit the file directly (it is in plain text format) in a text editor. Most of the variable names are self-explanatory. In order to edit successfully, be sure that JTides is not running when you make your changes.


Setup |  Basic Operation |  Display Options |  Site Explorer |  Nearest Site Finder |  Data Export Options |  Data Sources
Configuration |  Time Issues |  Technical Background