XTide is a package that provides tide and current predictions in a wide variety of formats. Graphs, text listings, and calendars can be generated, or a tide clock can be provided on your desktop.

XTide can work with X-windows, plain text terminals, or the web. This is accomplished with three separate programs: the interactive interface (xtide), the non-interactive or command line interface (tide), and the web interface (xttpd).

The algorithm that XTide uses to predict tides is the one used by the National Ocean Service in the U.S. It is significantly more accurate than the simple tide clocks that can be bought in novelty stores. However, it takes more to predict tides accurately than just a spiffy algorithm -- you also need some special data for each and every location for which you want to predict tides. XTide reads this data from harmonics files that you must download along with the distribution.

Ultimately, XTide's predictions can only be as good as the available harmonics data. Due to issues of data availability and of compatibility with non-U.S. tide systems, the predictions for U.S. locations tend to be a lot better on average than those for locations outside of the U.S. Nevertheless, there are satisfied XTide users all over the world. It is up to you to verify that the predictions for your locale match up acceptably well with the officially sanctioned ones, and to let me know if they do not.



System requirements

XTide is Unix software. Any reasonably modern version of Unix should work. XTide has been ported to a variety of other operating systems with differing levels of success.

As of 1998-05-30, I personally test XTide under Slackware Linux 3.3 and Solaris 2.6, with the rare foray to Irix. While it is my intention that XTide will run flawlessly on any flavor of Unix, Linux is the flavor that I use for development. Infer from that what you will. People run XTide on many different platforms, and I make portability fixes whenever problems arise.

XTide 2 was targeted for machines with at least as many MIPS as a 166 MHz Pentium and with at least 5 megs of memory to burn. A Sparc 20 will do OK, but if what you have is a 33 MHz 386 with 5 megs total memory then you should probably run XTide 1 instead.

To compile XTide you will need a C++ compiler. XTide is written in a very portable subset of C++. If there is any problem compiling XTide with any C++ compiler, ANSI-compliant or otherwise, I will attempt to address it. The compiler used for development was g++ version

In addition to the minimal set of X11 libraries that pretty much everyone has, you will also need the following libraries:

tide and xttpd can be compiled in the absence of X-windows libraries. However, you will still need libpng and libz.

libXpm comes standard with all Linux distributions, but not with Openwin. If you need it, you can get it at http://www.cdrom.com/pub/X11/contrib/libraries/xpm-3.4j.tar.gz, or from one of the many other mirrors of the X11 directory tree.

Pointers to the latest libpng and libz can be found under the PNG home page at http://www.cdrom.com/pub/png/pngcode.html. Linux binaries can be found at http://www.flaterco.com/linux/. Some Unix installations come with versions of these libraries that do not work, so take care if using existing libraries.

The final requirement is only for those who want tide predictions for non-U.S. locations to have the correct Summer Time (Daylight Savings Time) adjustments. In order for this to work, your platform must provide a version of Olson's zoneinfo database that supports the needed time zones. Slackware's time zone database will work almost anywhere; Solaris's will work for some locations outside of the U.S.; Irix's will work almost nowhere except inside the U.S. If necessary, you may be able to upgrade your time zone database using the latest version from ftp://elsie.nci.nih.gov/pub/.