Home | Java |     Share This Page
JTides Home Page

Current Version: 5.4 build 382 (2024.01.23)

Introduction | Obligatory Tidal Prediction Caveat | Download Instructions | Installation Instructions | Troubleshooting | Linux Note | Note about UK Coverage | Time Zone Notes | Version History | User Support | Bugs

(double-click any word to see its definition)

Update: JTides is now available for Android devices as TidePredictor Google Play/Home Page.

Typical Tides display
Here is a typical JTides display. You can choose from any of a large set of US and international tide and current prediction locations, and you can format the results in many ways — one day (shown), a week, a month, a monthly calendar, even a color month chart (see below). You can also export a database of tidal predictions for any time period, for use with other programs.

Month in Color
Here is another, rather special, JTides display. This display shows a month of tidal activity — the horizontal axis is time of day, the vertical axis is days, and the colors represent tidal height. The user of JTides can click this display to get a forecast for a specific date and time. This color-coded display format is entirely unique to JTides — you cannot get this anywhere else, at any price.
JTides is an advanced, accurate, easy-to-use tide and current prediction program.

JTides predicts tides and currents using a large database of US and worldwide locations. It graphs its predictions in many useful ways. In comparison tests, JTides' predictions are in good to excellent agreement with a sampling of published and on-line tide tables (but read the caveat below).

Also, because JTides contain data for so many sites (over 2000 in the default configuration), you can obtain tidal forecasts for places where there are no printed tables available. And if you want, you can print a calendar of tidal events from JTides' calendar display.

JTides is a Java MDI (Multi-Document Interface) application — this means many locations can be graphed at the same time. You may also print graphic tidal charts, export databases, or create sets of HTML pages, each summarizing a month of tidal forecasts (see this example). These HTML pages can be downloaded into your PDA for a quick tidal reference in the field, or published on your Web site.

Because JTides is written in Java, it will run on nearly any computer. JTides represents the first of a new series of programs I have decided to write in the Java programming language. Until recently, I have been writing only Windows programs in C++. But Microsoft has recently crossed over a threshold in its relations with its customers (for more, see www.arachnoid.com/boycott ), and I now think it's immoral to write programs than only run on Windows.

Don't get me wrong — JTides runs fine under Windows. It also runs fine under Linux, Apple Macintosh's new OS X, and many other environments.

Oh, I almost forgot the other good news. Tides is CareWare — that means no money, now or ever. You just have to care.

NOTE: JTides is a free program. If someone tries to sell you this program under any circumstances whatsoever, call the police and have them arrested.

Obligatory Tidal Prediction Caveat

At best, tidal prediction is a chancy business. It relies on field measurements and data collection that can be subject to any of several kinds of errors. Typographical errors, programming errors, and numerous weather and human activity error sources can contribute to a rather large level of predictive uncertainty. Therefore, do not rely solely on the predictions offered by JTides if life or property are at stake.

This guy wasn't listening ...
Download Instructions
  • Read "A note about Freeware"

  • Windows users: Click here to download JTides.exe,
    a self-extracting Windows installation executable
    containing the Java program (1.4 MB).

  • Non-Windows users (and more experienced Windows users): Click here to download JTides.jar,
    a Java JAR file (which will also run on Windows) (1.2 MB).

    Each of these downloads contains the complete JTides application, data files, and help files.

  • Both Windows and non-Windows users: Download the required Java
    runtime engine at http://java.com
    , unless you already have the most recent JRE (Java Runtime Engine) on your system.

    Apple Macintosh owners with OS X will most likely need to upgrade their runtime engines to the most recent JRE, if this is not already true.
    Macintosh owners without OS X, unfortunately, cannot run JTides.

  • Android Users: Get TidePredictor (JTides for Android) at the Google Play Store/Home Page.

  • And read about CareWare if you get a chance. No, this is not a sneaky way to get money from you. :)

Installation Instructions
  • Windows:

    Download JTides.exe above, then visit http://java.com and download a current Java runtime engine appropriate to your platform. Install the runtime engine, then run JTides.exe (it's a Windows self-extracting executable), and the program will install itself. Run the program. Choose a location from the huge provided database and JTides will do the rest.

  • Other platforms:

    Download JTides.jar above, then visit http://java.com and download a current Java runtime engine appropriate to your platform. Install the runtime engine and place the JTides.jar program file anywhere you care to and that is appropriate to your system.

    If you have never run a Java program before, simply install all the above, then:

    $ java -jar JTides.jar

    Again, Apple Macintosh owners with OS X may need to upgrade their Java runtime engines — such systems typically have a relatively recent runtime engine, but probably not the most recent version. Macintosh owners without OS X are unfortunately unable to run JTides.

Be sure to read the provided help file if difficulties arise, and if you wish to use JTides to its full potential.

For most JTides problems, there is a simple remedy:

  • Delete the directory (user home directory)/.JTides
  • Run JTides again.

The above procedure forces JTides to make a fresh copy of its data directory and tidal database. This fix is sometimes necessary if JTides is installed under the authority of one user, and then an attempt is made to run it as a different user.

Linux Note
Some versions of the Java runtime engine, when run under Linux, cannot determine the system time zone and default to Pacific Time. This is a bug in some versions of the Java runtime engine, not JTides. If you encounter a difficulty in which JTides doesn't show your time zone correctly, launch JTides using this script:

. /etc/sysconfig/clock
export TZ=$ZONE
java -jar (path)/JTides.jar
Note about UK Coverage
In April 2002, the UK Hydrographic Office ordered the removal of all UK tidal data from JTides and all other free tidal prediction programs. The fact that this is a free program, created in the public interest, has had no effect on their zeal to collect nonexistent copyright fees. The fact that this decision will decrease the safety of sailing in the UK has not swayed them in the slightest.

I mention this because the absence of UK tidal data is one of the most common inquiries about JTides. I am powerless to shape the thinking of the bureaucrats in the UK Hydrographic office, and I can imagine Horatio Nelson shifting uncomfortably in his grave.

NOTE: See below (Version 4.9 build 232) for a restoration of some UK sites.

Time Zone Notes

Over the lifetime of JTides and its predecessors, I have slowly become aware of some time display issues that cannot meaningfully be resolved. Let's say a JTides user located in Australia wants to see the tides for a site in Europe. Here are some of the problems:

  • Should JTides show the results in the user's time zone, or the site time zone?
  • Should JTides honor Europe's daylight time computation, or Australia's daylight time computation? One must remember that the daylight time months in Australia are in a completely different time of year (because "summertime" in Australia is "wintertime" in Europe).
  • It turns out that the mathematical constants used in tidal computation have daylight time corrections built in, therefore JTides can't control this factor when displaying tidal results. This is why, when changing from one set of rules for daylight time computation to another in JTides, only the sunrise and sunset times change, not the tidal times.
  • In its infinite wisdom, the U.S. Congress has decided that, beginning in 2007, daylight time should run from the second Sunday in March to the first Sunday in November (changed from the first Sunday in April to the last Sunday in October). The mathematical tables used in JTides (and all other tidal prediction programs) were created with great care, unfortunately including a daylight time correction, and had been expected to remain valid until 2038, but this change in the daylight time rules will invalidate that effort in a stroke. Users will have to remember that tidal results — from all tidal programs, not just JTides — will be in error by an hour for a stretch of days (21 days in the spring, 7 days in the fall for 2007), for U.S. sites.

To summarize this issue, I have reluctantly concluded that the time display issues in JTides will never be resolved, largely due to the worldwide mathematical database, the changing rules for computing daylight time, and differing user expectations. The only reasonable expectation a user may have is that, if the user's computer is located in the same time zone as the tidal site, and if the difference in time between the present day and the prediction day doesn't come into conflict with daylight time computations, then the result will in most cases be as accurate as a published table for that site.

Gratuitous rant: daylight time is a stupid idea. If people want to "save" daylight, let them voluntarily get up at a different time during the months of summer, for God's sake. It's not the 19th century — we're surrounded by computers, incredibly accurate clocks, and sophisticated communication methods. All you need to do is tell the people you work with that you'll be arriving and leaving at a different time during the months of summer. In other words, we should accept responsibility for shifting our behavior to a different hour, rather than shifting the hours on our clocks.

The basic premise of daylight time is that we're all stupid cattle with rigid inbred behaviors who cannot be expected to adjust our schedules to accommodate a change of season. In point of fact, only some of us are stupid cattle.

Imagine what will happen when some of us live on Mars (and yes, this will happen). The duration of a day on Mars is about 37 minutes longer than an Earth day, which causes Mars days to gradually shift with respect to Earth days, in a repeating cycle of about 39 Earth days. Do you suppose the people at JPL responsible for tracking the progress of the Mars surface rovers twist the hands on their clocks to stay synchronized with their workplace (that is to say, the sands of Mars)? No, they adjust their schedules, not their clocks. We should do the same.

I can anticipate the hue and cry when the 2007 daylight time season begins, and the mathematical tables in JTides (created and published by government agencies) begin emitting the wrong tidal times. But hey, you can't say I didn't warn you.

Version History
  • 2024.01.23 Version 5.4 build 382. Responding to a user request, increased year range in database creation dialog by 30 years over the expected useful time interval. For some tidal calculations this will create a reduction in reporting accuracy at the extreme end of the range.
  • 2016.11.18 Version 5.3 build 368. Changed Windows launch procedure after discovering that Microsoft has abandoned support for Java.
  • 2015.02.14 Version 5.3 build 361. Added toolbar buttons and keyboard commands (Page Up/Down) to increment/decrement by years as well as months and days.
  • 2011.10.26 Version 5.2 build 353. Fixed a bug resulting from incremental changes in Java, added antialiased (prettier) display option as default.
  • 2008.12.07 Version 5.2 build 345. Fixed a few minor bugs, added a note to the documentation about how to deal with the criminals who are trying to sell this free program.
  • 2008.06.23 Version 5.2 build 332. Modified HTML database page generator code to correct a JavaScript bug that sometimes hindered operation on palmtop browsers.
  • 2007.04.03 Version 5.2 build 329. Changed to target Java runtime version 1.5. This recent series of changes moves JTides from Java 1.4.2 -> 1.5, with consequent improvements primarily in appearance and launch speed.
  • 2007.04.03 Version 5.2 build 327. Updated Java required runtime target to 1.6.
  • 2007.04.03 Version 5.2 build 325. Upgraded and recompiled with Java 1.6. Some users may have to update their Java runtime engines at http://java.com.
  • 2007.03.02 Version 5.2 build 315. Adjusted time zone processing once again. See "Time Zone Notes" above for a summary of the issues, some of them unresolvable.
  • 2007.02.08 Version 5.1 Build 303. Corrected a display time zone error that crept in during the recent addition of UTC to the database output.
  • 2007.02.01 Version 5.1 Build 292. At the request of USGS personnel, added UTC date and time data fields to the plain-text tidal data table.
  • 2006.10.10 Version 5.0 Build 275. This version upgrades the generated HTML page format to conform to the XHTML 1.0 transitional standard. Some JTides users are posting the HTML data tables on the Web (which is perfectly fine), but I hadn't designed the pages very carefully and they would fail an XHTML validator. The new pages get perfect scores.
  • 2006.03.11 Version 4.9 build 265. Improved rendering and appearance of the internal month calendar pages, to more closely match the nice appearance of the database HTML output pages. Added antialiasing to all text displays.
  • 2006.03.06 Version 4.9 build 247. An important bug fix. During testing, I found and corrected a bug that had caused an unnecessary erosion of tidal prediction accuracy when selecting dates greater than a year away from the present. Users who need to establish tidal heights over long time intervals should download this upgrade.
  • 2006.03.05 Version 4.9 build 232. Updated the JTides database with one available at Bob Kenney's XTide Site. NOTE: This new (actually not so new) database contains some UK locations, by way of an arrangement made with Dave Flater, as explained here. To access the new database, you must delete any existing JTides user program directory, then run the new version of JTides.
  • 2006.03.05 Version 4.9 build 227. Changed the HTML generation code so a selected page will be more likely to center on the current day when the "today" link is clicked. This change mostly affects users who download an HTML database onto a PDA.
  • 2006.03.05 Version 4.9 build 223. Reworked the HTML data page generation code, to improve the appearance of these increasingly popular pages. Users should examine the contents of the JTides.ini configuration file for new Web page color and formatting options.
  • 2006.03.05 Version 4.8 build 218. Fixed a bug that sometimes selected the wrong default day at startup. This bug did not affect the accuracy of tidal forecasts, but it sometimes displayed the wrong default day at startup, depending on the user's time zone.
  • 2005.09.23 Version 4.8 build 205. Last-minute bug correction in the "Nearest Sites" dialog.
  • 2005.09.23 Version 4.8 build 204. Completely reworked the code having to do with time display. Corrected some time-related inconsistencies in the program's operation. Provided a way for users to select an arbitrary time zone for display. Fixed a number of small bugs.
  • 2003.12.01 Version 4.7 build 54. Improved the HTML generator's page format.
  • 2003.12.01 Version 4.7 build 53. Added a Web page generator to allow the export of tidal data in Web-publishable form. Any number of sites, for any number of years, may be added to a Web page database and published on your site.
  • 2003.11.28 Version 4.6 build 48. Changed version test code to accommodate some Java VMs that have nonstandard characters in their version strings.
  • 2003.10.19 Version 4.6 build 47. Cleaned up a number of small bugs, improved the appearance and behavior of the dialogs.
  • 2003.08.12 Version 4.6 build 42. Synchronized data table with most recent plain-text XTides data.
  • 2003.03.29 Version 4.5 build 40. Discovered that a certain JTides dialog was not working for some users (and had not been for some time), because of an unevenly distributed "standard" system class. Fixed by changing the required class.
  • 2003.03.22 Version 4.4 build 38. Upgraded the database generating options and formats. Now JTides database files are directly readable by such database engines as MySQL. You can choose between tab-separated and comma-separated file formats.
  • 2002.10.08 Version 4.3 build 32. Oops! Discovered the download files have been corrupt and unusable since the last update (about a month). Very sorry about this! The current download files are intact. If you have had difficulty, please try again.
  • 2002.08.29 Version 4.3 build 32. Fixed a number of small bugs including one that prevented correct AM/PM time display.
  • 2002.08.24 Version 4.2 build 26. Fixed a bug that prevented the right-click context menu from working after a left-click on the chart.
  • 2002.04.06 Version 4.2 build 25. Updated tidal data table. Removed all British Isles site data after receiving a threatening letter from the UK Hydrographic Office. The new version has one unified worldwide (except Britain and environs) data file based on the current XTides database.
  • 2002.03.31 Version 4.1 build 24. Cleaned up a cosmetic bug in the code that automatically returns to the current date after a time delay.
  • 2002.03.20 Version 4.1 build 23. Fixed a reported bug caused by the irregular syntax of some configuration files. Fixed the problem by increasing the robustness of the file scanner.
  • 2002.03.15 Version 4.1 build 22. Added a Java runtime version checker. This is needed because the previous builds would try to run on runtime versions prior to 1.4, but would not function properly.
  • 2002.03.08 Version 4.1 build 20. Fixed a few bugs that resulted from the radical changes associated with going to Java revision 1.4.
  • 2002.03.7 Version 4.1 build 18. Numerous changes, upgraded to Java 2.0 revision 1.4. Some users may have to upgrade their runtime engines.
  • 2002.02.28 Version 4.0 Build 15. Fixed a handful of small bugs, improved the database functions.
  • 2002.2.24 Version 4.0 Build 14. Changed the method whereby JTides locates itself for initialization purposes. This will make JTides operate more robustly on more systems.
  • 2002.2.14 Version 4.0 Build 12. Changed directory mapping for both the application and the initialization/data files. The application can now be installed under the default "Program Files" directory on Windows machines, and the initialization and data files are located in a directory named ".JTides" under the user's home directory (the standard arrangement on Linux and Unix machines).
  • 2002.1.30 Version 4.0 build 10. Added anti-aliasing to tide/current line drawing routine for better display appearance.
  • 2001.12.17 Version 4.0 build 09. Corrected a bug that prevented options from being saved if program was exited by way of the system-exit button on the application frame.
  • 2001.11.20 Version 4.0 build 08. Made some Java speed optimization changes.
  • 2001.11.19 Version 4.0 build 07. Improved file reader so it can tolerate an occasional blank line in the data files.
  • 2001.11.12 Version 4.0 build 06. Added the ability to accept European-formatted numbers to "Find Nearest" dialog ("," interchangeable with ".").
  • 2001.11.06 Version 4.0 build 05. Improved nearest sites dialog appearance and function.
  • 2001.11.05 Version 4.0 build 04. Added a more robust data file error detection method and dialog system. Streamlined the sequence for data file building.
  • 2001.11.05 Version 4.0 build 03. Instituted build number system, so not to have to change version numbers for minor upgrades. Further improvements in tab traversal between windows and help file scrolling.
  • 2001.11.04 — Made some small changes to make the help window operate more intuitively and to work around a Java bug having to do with tab traversal. Added "About" dialog.
  • 2001.11.03 — initial public release of JTides 4.0 (descendant of Tides for Windows).

User Support

The most common JTides question: "Can I add a geographical location or region?"

The answer: Sorry, no. Tidal predictions are more complicated than that — they rely on a long period of of direct tidal observation, followed by mathematical data reduction using a method called Fourier analysis.

As to general user support, sorry — there isn't any. Please do not write and ask for support. JTides is basically free, and I cannot offer "customer support" for a free program. The provided help file is quite comprehensive.
If you experience problems making JTides run on non-Windows platforms, please contact me using my message board. Remember — if you are a Macintosh owner and you do not have OS X, you cannot run JTides. Sorry.

Home | Java |     Share This Page