Friday, February 26, 2010

The Temperature of Ocean Water at a Given Depth

In order to corroborate the results of the last post on sea level rise, I would like to estimate the impact of thermal expansion alone since the last glacial maximum. (I anticipate I will need to post a correction, but first things first.) In order to do this properly, I need to know how the temperature of ocean water varies with depth. I've tried to look for a straightforward formula that solves this problem, to no avail. (I did find a graph that was illustrative.)

So I went ahead and derived such a formula, based on ocean water characteristic data from the Argo database. More specifically, I used the ensemble mean grid made available by Asia-Pacific Data-Research Center of the University of Hawaii.

For each depth file, I calculated temperature means for 3 different latitude groups, which I've called 0S, 30S, and 60S. The 0S group includes latitudes -15S to 15N. The 30S group includes -45S to -15S. The last group includes -75S to -45S. Data is not available for all latitudes, so the mean values obtained should not be considered latitudinal averages; that's not the purpose of this exercise.

Let's start by looking at a graph of mean temperature at a given depth for each of the groups.

It doesn't look very easy, does it? Clearly, the temperature of ocean water must depend on variables other than the sea surface temperature and depth. But I was able to come up with a model that fits the data quite well (R2=0.988.) The formulas follow.

  • S is the sea surface temperature plus 0.338, in degrees Celsius.
  • D is the depth in meters.
  • T(D) is the temperature at a given depth D, in degrees Celsius.


The model was empirically derived. The first thing I noticed is that the depth D is approximately inversely proportional to T(D). In fact, the following formula is a rough approximation of temperature at a given depth.

The problem with this formula is that it doesn't work very well at shallow depths. You might have noticed in the figure that the temperature is roughly stable at a depth of 30 meters or less. In order to fix this problem, the approach I came up with is to transform D into D', where D' tends to zero when D is small, but tends to D when D is big.

If we multiply D by a logistic function, we obtain something close to the desired result for D'.

Once I had the general form of the equation, all I had to do is figure out the 4 coefficients involved. I used genetic programming to solve this.


collin said...


Hoping to use this relationship you have developed for a report on the feasibility of Ocean Thermal Energy Conversion. This will be useful for preliminary calculations and correlations but I will likely reference data in final results.
Do you have any particular attribution requests?


Alien Cruz said...

This technique of calculating the temeprature is really good. Thanks for sharing.
temperature calculator .

cindy dianita said...

Hi Joseph,
May I get your email address ??
I am doing my final university research and I need general equation to predict ocean water temperature. Your post is very useful and I want to discuss this formula further. Thanks a lot :)

Anonymous said...


I am using this in a simulation I'm creating in OpenSimulator (open source SecondLife) to calculate water temperatures.

- Kevin

giuseppe moschetti said...

I am partecipating to a project called Beautiful Equation (
A bunch of people have decided to publish an equation with the explanation once a day, for a year. I would like to insert your equation . Can I explain the equation you derive of course by citing your blog?

Let me know at giuseppeDOTmoschetti AT gmailDOTcom

Jyoti Sadalage said...

can this equation be used for river/fresh water reservoirs...

Jyoti Sadalage said...

I am working on analyzing fresh water temperature at different depths.
whether this equation could be suitable for thta.
Please suggest...
Can i get your email address.

Jyoti Sadalage said...

let me know your comment on

Liu Ben said...

hi, I am very interested in your method, but do you have any paper about your equation. Thanks