Modern tide models and hexadecimal Doodson numbers

Hi guys,

my question is about utilizing some modern model for ocean or atmospheric tides. As far as I understand, the easiest way of doing it is to use the standard FESCnmSnmReader and feed it a data file in the format of fes2004_Cnm-Snm.dat. I’m planning to work with TiME22 tide models, which have their data formatted differently so I’ll need to reassemble those data into FES format. This is not a big problem by itself, but there is one step I’m not sure how to do correctly. It is about representation of Doodson numbers.

  1. Google says that FES reader does not recognize the format with dot separator like 135.655, but another Google response is that it does and the format must be a regular expression \p{Digit}{2,3}[.,]\p{Digit}{3}. In fact, fes2004_Cnm-Snm.dat has Doodson numbers written in that format and it seems to work as expected. So, after all, the format like 135.655 or 35.655 is acceptable, right?

  2. Modern tide models include more sofisticated waves with “larger” numbers like 6BZ.555, where letters stand for hexadecimal digits. Apparently this has to be recalculated. In fact, in this example B stands for 11 and Z stands for -1. What is the right way to convert it to FES acceptable format? I suspect that Google suggests some weird (and different) ways of doing it.

I think we have to update OceanTidesReader and the constructor of OceanTidesWave to allow a String rather than an int for the Doodson number. We have already done something like that when we added support for alpha5 (see org.orekit.propagation.analytical.tle.ParseUtils)

Thank you, luc!

For now will work around then.