Icon News

The Creeping Feature List

This list is not a promise to implement, but only an acknowledgement that the following features have been requested or thought about. Please let me know if you intend to submit code for one of these so that I can try to keep people from duplicating effort. As guardian of the architecture, I reserve the right to reject code whose bloat and munge factors exceed the benefits.

If you want to register a vote for or against any of these features, just send e-mail (dave@universe.digex.net). Please specify one of the following: (1) I *NEED* this; (0) I don't *NEED* this, but it would be nice, whine whine; or, (-1) this is useless bloat, kill it, kill it.

Bug fixes or features having scientific and technical merit

User interface improvements

Code cleanups

Data maintenance

(These don't require changes to XTide)


Help Wanted

I say: "When the going gets tough, delegate." Please read 'Caveats' at the bottom before volunteering for anything.

Implementing the Doodson System

There are two competing methods of tide prediction: the NOS method, which XTide implements, and the Doodson method, which is used for lots of tide predictions outside of the U.S.

The major incompatibility between them is that the Doodson method uses the latitude of the tide station as an input, and the NOS method does not. In the NOS method, all of the tricky astronomical calculations can be done once and henceforth read from tables. With Doodson, either you do it from scratch for every station, or else you approximate by choosing a mediocre latitude and using that for all stations.

nickw03@ibm.net has provided a Fortran program and source data that does most, but not all, of the constituents that appear in the troublesome non-U.S. tide data that Ed Wallner sent me. With a lot of work, using this program as a cookbook, XTide could be extended to support the Doodson system. Doodson stations would be added as a new XML type to avoid conflicting with the NOS data, and as a new subclass of ReferenceStation in the program.

A useful source is Mike Foreman's IOS Tidal Package at http://www.ios.bc.ca/ios/iap/pages/tidpack.htm.

Math Is Hard

Once in a long while, someone will ask me if I have a program to convert raw tide level readings into a set of harmonic constants. I still don't because I lost the tutorial that someone sent me on how to do it. ("Lost" is a euphemism for "my hard drive crashed and I hadn't backed up my e-mail because it didn't seem that important at the time.")

This should be a Simple Matter of Programming for anyone whose math skills are strong enough to know what "Solving for this in the least squares sense" refers to in the NOS documentation. Inputs: (1) a harmonics file containing the constituent speeds, equilibrium arguments and node factors for all relevant years; (2) a long list of tide level readings in the format output by XTide's raw mode. Outputs: (1) a set of harmonic constants using the constituents in the selected harmonics file; (2) the residual statistics.

Reconciling Constituents from Canada, Mexico, Australia, New Zealand

In some cases, the same constituent names are used to mean different things by different tide agencies around the world. Having already processed most of the obviously NOS data that was on hand, I have now reached the point where I don't have confidence that I'm making the right guesses about which constituents are what. There are also constituents in use for which I have absolutely no information.

I still have the following data remaining to be converted:

I have not yet even managed to make a Congen file to replicate what Jean-Pierre Lapointe did with a few of the constituents in harmonics.canadian. Almost, but not quite. I figured out that NO1 is N2 - O1 but with the node factors from the NOS version of M1. I figured out that the arguments for OP2 and OQ2 are twisted around by 180 degrees for no obvious reason. But for MKS2, I haven't managed to replicate anything but the speed using Congen formulas. And if I ever succeed, how do I know that these are the right definitions to use for the British Columbia data that I have sitting around?

The bottom line is that somebody with more background knowledge needs to be doing this.

Caveats

There are some reasons why you might not want to embark on one of these quests.

  1. Relative to the amount of data that has already been converted, the amount of data that I'm stuck on is not really significant. Unless you live in New Zealand and really need those tide predictions, the work is more academic than practical.
  2. Australia has privatized its tide prediction service, and Canada no longer distributes tide data to the public. The data that I have, particularly in the case of Australia, is likely to be obsolete. This trend towards secrecy and privatization also means that not much new Doodson data is likely to surface.
  3. Not too many people have access to a year's worth of tide level readings to go deriving their own harmonic constants.

If you still want to tackle one of these tasks, e-mail me at dave@universe.digex.net. Thanks.