Skip to content

Theory of the Harmonic Model of Tides

sam-cox edited this page Nov 11, 2013 · 4 revisions

####Disclaimer

I am not an expert of any kind! This is the (quite possibly incorrect) understanding I have acquired throughout the process of developing Pytides.

The Harmonic Model of Tides

This page is intended to serve as a short guide to the method of Tidal Harmonics. It presents most aspects of the theory which are still pertinent in the modern era (wherein computers have replaced tide-prediction machines). The aim is to be a concise but reasonably comprehensive reference. We will certainly fall short of deriving anything.

##Fundamental assumption of the Harmonic Method

Tides anywhere on Earth are caused solely by the gravitational forces of the moon and the sun.

We neglect the gravitational forces of other planetary bodies as their effect on the tide is several orders of magnitude weaker than those of the moon and sun. The tide producing force is actually the difference between the gravitational forces on the surface and the centre of earth - thus it is proportional to r^-3. So despite the sun's gravitational effect on Earth being ~200 times that of the moon, its effect on the tides is about 40% that of the moon.

The greater omission in this assumption is the metereological effects such as pressure, which actually have quite a pronounced effect on the tides. However, there isn't anything we (as keen amateurs!) can do about this. ##The Equilibrium Tide The equilibrium tide is a theoretical concept - it is the tidal pattern that would result if the Earth was an entirely uniform ocean. We choose the Greenwich Meridian as our frame of reference, with the sun and the moon orbiting us. Although the problem doesn't admit a closed form solution, it is possible to obtain a series expansion approximating a solution. A careful analysis (see Doodson) of the gravitational forces yields the displacement of the tide to be of the form:

H = sum_i A_i cos(V_i + u_i) + sum_i B_i sin(V_i + u_i)

where V_i = V_i (S,H,T,N,P,PP etc) and u_i = u_i(omega, xi, nu, nup, nupp, I). The distinction between V_i and u_i is made such that u_i contains the variation due to moon's 18.6-year nodes cycle. The amplitudes A_i, B_i similarly vary with this cycle - we can extract this temporal dependence by writing A_i -> A_i f_i where now A_i is constant and f_i = f_i(omega, xi, nup, nup, nupp, I). Noting also that sin(x) IDENTICAL cos(x -90) and cos(x) IDENTICAL -cos(x+180), we can write

$H = sum_i A_i f_i cos(V_i+u_I), A_i >0$

Now of course the various parameters of the orbit (S,H...xi etc.) are functions of time (i.e. S=S(t)) and indeed there exist good polynomial approximations in time for these values, valid for several centuries about the present day. Thus H=H(t) and we can calculate the theoretical equilibrium tide at any relevant time.

##Constituents Together A_i, V_i, u_i and f_i describe a constituent for any given i. Expanding the tidal force to higher degree will yield more constituents, but their amplitudes A_i (and therefore their effect on the tides) become increasingly smaller. Doodson found over 300 constituents, but most of the tide is attributable to only a few of these constituents. In practice, NOAA use fewer than 40 constituents. Once a set of constituents has been established, the theoretical amplitudes of the equilibrium tide A_i can be forgotten (unless you wish to use inferred constituents for short series data, which Pytides doesn't).

For any constituent, the argument V_i(S...PP) is actually an integral linear-combination of {S, ..., PP, 90}. For example, the constituent called M2 has V = 2T + 2h - 2s. Thus the argument V_i can be represented by the integers c_ij, components of a vector such that V_i = sum_j c_ij astro_j, where astro_j is a vector of astronomical arguments (T+h-s, h, s, ... pp, 90). Note that we have used a different basis, with T+h-s replacing T. In this fashion, c_M2 = (2,0,0,0,0,0,0). ###XDO The above is a convenient format for representing constituents. When Doodson derived his constituents, he added 5 to each of these components to form its Doodson number. Then, for example, M2 can conveniently be written in this notation as 7555555. The reason for adding 5 is to avoid the need for a minus sign, e.g: (1,-1,0,0,0,0,0) -> 6455555. The Extended Doodson number (XDO) permits us to write a greater range of constituents, with 'Z' now representing zero. In XDO, (1,-1,0,0,0,0,0) -> A YZZ ZZZ where spaces are included for readability.

###Nodal Corrections The functions u_i, f_i together define a constituents nodal corrections (or node factors), so called because they account for the variation due to the moon's 18.6-year nodes cycle. The constituent S2 arises solely from the gravity of the Sun, and is thus unaffected by the moon's variation (i.e. u_S2 IDENTICAL 0, f_S2 IDENTICAL 1). In general, u and f are more complicated functions of (omega, xi, ... I) than the simple linear combinations that V are.

###Speed The astronomical parameters T ... pp vary with time, but their rates of variation are very close to constant. Thus we can accurately approximate V_i over a long period of time with a Taylor Series to first order: V_i(t) approx V_i(t_0) + (t-t_0) dV_i/dt (t_0)

So if we now let t represent hours after t0:

TODO: Write out equations here when I find out how to use LATEX on github.

The distinction between the speeds and values of the astronomical parameters (T, S, H etc) is not often made explicit in texts about tides, so understanding this aspect is important.

This is quite convenient for computational purposes, and said representation of V is ubiquitous. In general, the rates of change are such that

|dV/dt| >> |du/dt|, |df/dt| >> |d^2 V / dt^2|

Thus we might use a constant value (taken at the mid-point) for u and f over the period of a year, whilst the approximation V = V_0 + a*t may be suitable for several decades.

###Compound constituents Two or more tidal components can interact to form harmonics or overtides, in a similar fashion to harmonics in sound. A constituent which represents such a harmonic is called a compound constituent. V, u and f for the compound constituent can be readily calculated from the V_i, u_i, f_i of its components. The precise details are out of the scope of this document, see the pytides source for more information.

##Predicting the tide Since the Earth isn't only an ocean, the equilibrium tide doesn't describe the actual tides observed on Earth. The tides on Earth are dependent on the sun, moon and the topography of the earth. This will of course be a very complex relationship, which we cannot hope to decipher analytically. However, given what we know about about the equilibrium tide, we can model the actual tide (with mean height h_0) as:

h(t) = h_0 + sum_i H_i f_i cos (V_i(t) + u_i(t) -p_i)

where we use the same constituents as in the equilibrium tide, but with each part scaled by H_i and translated by p_i. H_i and p_i are called the amplitude and phase (or phase lag) of the constituent.

By including a constituent called Z0, with H_i = h_0, f_i = 1 and V_i = u_i = p_i = 0, we can simply write: h(t) = sum_i H_i f_i cos (V_i(t) + u_i(t) -p_i)

or, in the more common form: h(t) = sum_i H_i f_i cos (V_i(t0) + a*t + u_i(t) -p_i)

where now t represents hours after t0. Remember that H_i, p_i are the only "unknowns" in this expression, everything else can be derived - ultimately from the time t.

Now the key point of the model is:

For any given location on Earth, there exist constant values H_i, p_i such that the tide there obeys this relation.

So if we have many past measurements of the tide at a given location, we can attempt to choose values H_i, p_i which best fit our previous readings. We constrain H_i to be positive (by adjusting the p_i by 180 degree if necessary), so that H_i is uniquely defined and p_i is uniquely defined modulo 360. Pytides uses scipy's least squares function to minimise the sum of the squares of the residual (error) to fit H_i and p_i to the data.

Then, by assumption, we can predict the future tide by allowing t to increase into the future. Note that if the topography of the area changes significantly (e.g. if a port is built nearby), then the amplitudes and phases for that location will change.

Highs and Lows

High tides and low tides are the points at which the tide is stationary. Thus they occur at the solutions of dh/dt = 0, i.e.

sum_i H_i f_i sin(V_i(t0) + a*t + u_i - p_i) =0

Note that the derivative above doesn't take into account the variation of f_i, u_i with time, but these vary slowly (see above) so this expression is good enough. We can't find analytic solutions to this equation, but numerical methods allow us to solve it with ease.