Dennis Milbert

Updated:  2018-jun-07

The program, solid, will ask for a date and location, and then writes solid earth tide (body tide) components into a text file.

Note that the 2018 version of solid now references UTC time.

Fine Print: If you are looking for wet tide (ocean tide) software, you do not want to be here. Information on wet tides for the USA can be found at NOAA's "Center for Operational Oceanographic Products and Services".



The solid.exe program runs in a DOS window. It prompts for date and location, and creates the file solid.txt. Example of how to run the program:


The program will first ask for a year, a month number, and a day. Dates may range from 1901 through 2099. The program will then ask for a geodetic (ellipsoidal) latitude and longitude. An Earth-centered, GRS80 ellipsoid is used. (Which can be considered equivalent to the WGS84 ellipsoid at the sub-millimeter level.)

One file is generated as output. It's name is solid.txt. If you have an existing solid.txt file in your subdirectory, then the old file will be overwritten. You can cancel the program by pressing "ctrl" and "c" at the same time. (However, program solid runs so fast that you will not have a chance to cancel it.)


Dates may range from 1901 through 2099. Input latitude is in decimal degrees, positive North. Input longitude is in decimal degrees, positive East, and may range from -360.0 to +360.0. Thus, 91.5W may be entered as either -91.5 or +268.5.

Output File:

The output file name is solid.txt. It is plain ASCII text. After the header, solid earth tide components are computed for 24 hours, at 1 minute intervals. Note: the time stamps refer to UTC time. The solid earth tide components are North, East, Up in the local geodetic (ellipsoidal) horizon system.

Output File Format

The first line echos the requested date. The second line echos the position.

The format of the remaining records are:

01-08  Seconds of day, UTC time system, seconds
09-18  Solid Earth Tide, North component, meters  (to 0.000001 m)
19-28  Solid Earth Tide, East  component, meters  (to 0.000001 m)
29-38  Solid Earth Tide, Up    component, meters  (to 0.000001 m)

Source Code and Binary Executable

The Fortran source code is solid.for.

The compiled executable (zipped) is solid.exe.


Everybody is used to the ocean tide. The pull of the Moon and the Sun on the ocean causes cyclic variations in local sea level that can exceed 10 meters in some places.

What is less well known is that the Earth itself also responds to lunisolar gravitational attraction. The solid earth tide (body tide) often reaches +/- 20 cm, and can exceed 30 cm. While ocean tides can be easily measured relative to the solid Earth, solid earth tides are easily measured only with satellite systems or sensitive gravimeters. Also, the solid earth tide is a very smooth function around the Earth. For this reason, differential positioning systems, such as differential carrier phase GPS, can frequently ignore solid earth tide effects. Global geodetic networks and GPS carrier phase precise point positioning must include the effect of solid earth tide.

Program solid is based on an edited version of the dehanttideinelMJD.f source code provided by Professor V. Dehant. This code is an implementation of the solid earth tide computation found in section 7.1.2 of the IERS Conventions (2003) , IERS Technical Note No. 32.

A few words are in order about the editing. dehanttideinelMJD.f contains entries that are not found in Table 7.5a of the Conventions. These entries, which are smaller than 0.05 mm, are retained. However, whenever a dehanttideinelMJD.f entry differed from Table 7.5a of the Conventions, irrespective of magnitude, the Table 7.5a value was used.

Solid is invoked in the UTC time system. Note that this time system differs from both atomic time and terrestrial time (ephemeris time). UTC time is converted into terrestrial time before calling the key routines.

Solid is driven by a pair of routines that compute low-precision geocentric coordinates for the Moon and the Sun. These routines were coded from the equations in "Satellite Orbits: Models, Methods, Applications" by Montenbruck & Gill (2000), section 3.3.2, pp.70-73. One may also refer to "Astronomy on the Personal Computer", 4th ed. by Montenbruck & Pfleger (2005), section 3.2, pp.38-39. This reference explains that the distinction between universal time (UTC) and terrestrial time (TT) is negligible for these low-precision functions (pg.44). Even so, solid does include the conversion between UTC and TT.

The UTC/TT conversion involves leap seconds. A table inside solid spans the period of 1972 to mid 2019. More detail on leap seconds can be found in the section below on leap seconds and accuracy.

In keeping with the design of dehanttideinelMJD.f, program solid removes all tidal deformation, both cyclic and permanent. More detail on this point can be found in the section below on permanent earth tide. Solid implements the conventions described in Section 7.1.2 of the IERS Conventions (2003) . Solid does not implement ocean loading, atmospheric loading, or deformation due to polar motion, which are described in other sections of the Conventions.

Leap Seconds and Accuracy

Due to tidal coupling between the Earth and the Moon, the Earth's rotation is gradually slowing down. When we use Coordinated Universal Time (UTC), we are, in effect, using a clock that runs more slowly than more accurate clocks (such as dynamical time systems and atomic time systems). To keep UTC "coordinated", we insert occasional leap seconds. These leap seconds move UTC further and further behind the more accurate time systems. However, the leap seconds also keep UTC aligned with the slightly slower Earth rotation.

The Earth's slower rotation has been known for some time. The system of leap seconds was implemented in 1972. However, because the slowing rotation is non-uniform, it is difficult to predict when the next leap second would be applied. It requires astrometric observations, rather than a mathematical formula, to decide on leap second declaration. Hence, it is unknown when the next leap second will be needed for future UTC/TT time conversion.

To provide broader utility, program solid now operates between 1901 and 2099. But, solid's internal leap second table only spans 1972 to mid-2019. If a computation date falls before 1972, the 1972 entry will be used. If a computation date falls after mid-2019, the 2016 leap second entry will be used. If either of these conditions occur, solid will issue a message in the DOS window:

Mild Warning -- time crossed leap second table
  boundaries.  Boundary edge value used instead

Why is this message a Mild Warning?

It is a Mild Warning because the error introduced is small when compared to the low-precision Sun and Moon routines described above. For many applications the accuracy of solid will be satisfactory.

How accurate is solid?

I have not done a full error analysis. But, I can provide details.

By "Satellite Orbits: Models, Methods, Applications" by Montenbruck & Gill (2000), section 3.3.2, p.72, lunar position is good to "several arcminutes". Since the Earth rotates 15 arcminutes in one minute of time, the lunar position can be thought of has having 15-30 seconds of time alignment error. We see that missing a few leap seconds is not a critical problem.

This is further validated in "Astronomy on the Personal Computer", 4th ed. by Montenbruck & Pfleger (2005), section 3.4, pp.41-44. This section describes the differences between dynamical times and Universal Time. Further, they consider the case when UT instead of TT is used to compute Moon position. This is an time error (currently) of 69.184s, which leads to a Moon position error of about 30 arc-seconds. To quote, "This error is even smaller than the error obtained by using the simplified MiniMoon function," and "For the Sun, these values are even smaller" (pg. 44).

A further point regarding the low precision routines must be mentioned. By "Satellite Orbits: Models, Methods, Applications" by Montenbruck & Gill (2000), section 3.3.2, p.70, the equations are approximations to more advanced analytical theories for the Sun and Moon. They describe mean orbital elements "... for some decades around the year 2000."

The simplified theory for the low precision routines is centered about the J2000 epoch (1.5 January 2000). As time progresses past "some decades" in either direction, the routines will become less and less accurate. It is highly likely a new astrometric epoch will be established for 2050, and new analytical theories about the 2050 epoch will be developed.

In short, solid will become less accurate as we approach 2050. An overhaul of the low precision routines would be indicated.

Permanent Earth Tide

Fine Print: This section is not for the faint of heart. It can be skipped unless you really want to see the details involved in the creation and maintenance of global geodetic networks.

Lets begin with a fact discovered by Darwin in 1899.

Tides of the Earth do not average to zero.

This gives us a quick corollary.

Tidal deformation of the Earth does not average out to zero.

The easiest way to imagine this is to pretend that the Moon and Sun orbit around the Earth. Imagine them orbiting faster and faster, so that, on the average, they are "smeared" into bands around the Earth. Alternatively, you can imagine the Moon and Sun as chopped into tiny bits and spread around the Earth in a two-band system. These "average bands" will cause a permanent gravitational attraction leading to an increased equatorial bulge of the non-rigid Earth. In other words, most of the Earth’s equatorial bulge is due to the Earth’s rotation. But, there is a portion of the bulge that is created by the average tug of the Moon and Sun. The average attraction is called the permanent tide, and the associated effect on the Earth’s equatorial bulge is called the permanent tidal deformation (PTD).

Here is the second fact that makes this particularly complex.

The permanent tidal deformation is unobservable.

We know that the permanent deformation exists. And, satellite (and gravity, and VLBI) systems tell us about the Earth’s equatorial bulge and its variations. But, these systems tell us about the *total* bulge, and not how it is partitioned between the rotational part and the permanent tidal part. If there were a way to magically eliminate the Moon and Sun, then we could observe a "before-and-after" effect, and establish the magnitude of the permanent tidal deformation (PTD).

Now, its possible to make an educated guess on how big the PTD is. It happens that radial deformation is related to disturbing gravitational potential through a quantity called a Love number. (There are also Shida numbers that relate horizontal displacement to potential.) Through theory and indirect measurements, nominal values for Love and Shida numbers were established. Using these nominal values, one could compute PTD, since the masses and motions of the Moon and Sun were known. At its heart, though, these computations are based on a model.

PTD became an issue for geodesists in 1959 when Honkasalo presented a paper on correction of gravity data. The Honkasalo correction restored the permanent tide that was removed in the tide correction procedure. In this way, only the truly cyclic tidal elements were removed. This approach was called a "mean tide" system, and was used in computation of the global gravity network, IGSN71.

However, this retention of permanent tide violated theory that called for removal of external masses when computing the equipotential surface of the Earth (Heikkinen 1979). This caused the International Association of Geodesy (IAG) to resolve in 1979 to revert to the previous practice of tide correction, and remove the permanent tidal effects along with the periodic effects. This is designated as a "non-tidal" or "tide-free" system.

A plot of the radial difference between these two permanent tide systems can be found in Figure 1. The systems differ from +6 cm at the equator to -12 cm at the poles. The horizontal component (not shown) is 0 at the pole and equator, and reaches 2.5 cm at mid-latitude.

If one removes the Earth’s displacement due to the permanent tide, the PTD, then one gets errors in the model for the Earth’s length of day. It was proposed that one remove all tidal effects (tide-free) but then restore only the permanent tidal deformation and the associated changes in the Earth’s potential associated with that restored deformation. This re-reverts back to a mean tide system for station coordinates. And, it creates a new, "zero tide" system for the geopotential. This was adopted by the IAG in 1983.

This resolution has not met with widespread acceptance. The situation is described in the IERS Conventions (2003) , IERS Technical Note No. 32, Section 1.1, page 10:

This recommendation, however, has not been implemented in the algorithms used for tide modeling by the geodesy community in the analysis of space geodetic data in general. As a consequence, the station coordinates that go with such analyses (see Chapter 4) are "conventional tide free" values.

Thus, in conformance with the IERS Conventions, both dehanttideinelMJD.f and program solid compute all tidal deformation, both cyclic and permanent. As such, they realize a "conventional tide free" system.

Where does this leave us?

We have an effect that is sometimes negligible, is unobservable, but is non-zero and imbedded in various reference systems. Know that there are multiple ways of handling PTD. And, know that PTD is, indeed, handled differently in practice. The good news is that one may readily transform geometric and gravimetric quantities between the permanent tide systems.


This section is inspired in equal parts by:

Ekman, M., 1989: Impacts of Geodynamic Phenomena on Systems for Height and Gravity. Bulletin Geodesique, 63(3), pp. 281-296.

IERS Conventions (2003). Dennis D. McCarthy and Gérard Petit. (IERS Technical Note No. 32) Frankfurt am Main: Verlag des Bundesamts für Kartographie und Geodäsie, 2004. 127 pp., paperback, ISBN 3-89888-884-3, (

In addition --

Darwin, G.H., 1899: The Theory of the Figure of the Earth. Monthly Notices of the Royal Astronomical Society, 60.

Heikkinen, M., 1979: On the Honkasalo Term in Tidal Corrections to Gravimetric Observations. Bulletin Geodesique, 53(3), pp. 239-245.

Honkasalo, T., 1964: On the Tidal Gravity Correction. Bollettino di Geofisica Teorica ed Applicata, 21(4).

International Association of Geodesy (IAG), 1980: IAG Resolutions adopted at the XVII General Assembly of the IUGG in Canberra, December 1979. Bulletin Geodesique, 54(3), "The Geodesist's Handbook", p. 389.

International Association of Geodesy (IAG), 1984: IAG Resolutions adopted at the XVIII General Assembly of the IUGG in Hamburg, August 1983. Bulletin Geodesique, 58(3), "The Geodesist's Handbook", p. 321.

Lambeck, K., 1980: The Earth's Variable Rotation: Geophysical Causes and Consequences. Cambridge University Press, pp. 28-29.


In time it was found that Love numbers vary with tidal frequency, and that Love numbers for PTD (fluid limit Love numbers; e.g. Lambeck, 1980) were different from nominal (conventional) values. Even so, these newer Love numbers for PTD are based on indirect measurements and models. They would enable an alternative mean tide system and zero tide system to the "conventional mean tide" system and "conventional zero tide" system.


To get the full flavor of the PTD effect, understand that one gets two pieces when considering gravity and potential --

These, in combination, generate another way to handle the tides systems for gravitational factors (i.e. zero tide). The geometric PTD only sets up two permanent tide systems. The IERS Conventions (2003) , Section 1.1, is recommended reading.


This is "no frills" software. There are no warranties of any sort. No Windows GUI. Just the core function.

This program is written as a demonstration and a way of applying a reasonable solid earth tide correction. It's expected that this software could be imbedded into other applications.

To create a full blown, research-grade code, more effects could be added. Program solid does not contain ocean loading, atmospheric loading, or deformation due to polar motion. Also, one would want a more accurate set of routines to compute the geocentric positions of the Moon and the Sun.


Thanks to Professor V. Dehant for providing the dehanttideinelMJD.f source code. That code is authored by V. Dehant, S. Mathews, J. Gipson, and C. Bruyninx. Helpful discussion and assistance was provided by J. Ray and D. Smith. Professor V. Dehant alerted me to a sign correction and a table correction. Any errors are my own.

To Contact Me

My e-mail user name is the first initial of my first name followed by all the letters of my last name (see above). My ISP is "comcast", and it is a "dot-net", not a "dot-com". Sorry for not spelling out my e-mail address, but I try to keep the spam-bots from fingering me. But, just so the spam-bots don't feel left out, they can always go to

Back To Home