|Fig. 1 Temperatures above sea level|
According to the myth, only a 0.1 deg C temperature change in ocean water caused all that sea level rise:
(National Geo, emphasis added). Now that the decision has been made as to 'Who Dunnit,' it is time to measure stuff:
"Global warming caused by human activities that emit heat-trapping carbon dioxide has raised the average global temperature by about 1°F (0.6°C) over the past century. In the oceans, this change has only been about 0.18°F (0.1°C). This warming has occurred from the surface to a depth of about 2,300 feet (700 meters), where most marine life thrives."
Fig. 2 Temperatures below sea level
(L. Livermore Nat'l Lab, emphasis added). What a concept ... measurements ... all the way down to the bottom ... no skimming the surface any more !
"Given the importance of the ocean warming signal for understanding our changing climate, it is high time to measure the global ocean systematically from the surface to the ocean floor," said NOAA oceanographer Gregory Johnson.
Fig. 3 Sea level change
|Fig. 4 Thermal components|
The graph at Fig. 5 shows the extended and improved version of calculating thermal expansion and contraction.
I made the steric graphs from WOD measurements taken from 1966-2016 and placed into the CTD and PFL datasets (the better part of a billion measurements).
The difference in the process now, compared to the last ones I blogged about (On Thermal Expansion & Thermal Contraction - 19) is that I load data from the SQL server, and then apply TEOS-10 calculations, one zone measurement at a time, rather than one layer at a time.
|Fig. 5 Is this all you've got?|
The process goes like this: 1) load all measurements taken at all depths, arranged according to the year they were taken; 2) store them according to their GISS, PSMSL, and WOD source; 3) do the initial process appling TEOS-10 formulas to the WOD values (some source code samples):
double p = gsw_p_from_z(heights[zData.depthLayer], zData.lat);(TEOS-10 Toolbox). The basic measurements loaded from the SQL server are year, varcode (1 = temperature, 2 = salinity) depth level (seven levels, from surface to bottom), zone (a latitude, longitude 'square'), and layer (0-17 ten-degree-high latitude bands, from pole to pole).
double t = zData.value; /** water temperature measurement */
double SP = zData.value; /** salinity measurement */
double SA = gsw_sa_from_sp(SP, p, zData.lon, zData.lat);
double CT = gsw_ct_from_t(SA,t,p);
After all of the data is loaded into an array, they are combined/averaged, etc. by year (1880-2016 in this case), zone (up to 36 zones per layer), and layer (up to 18 layers).
First the zones, then the layers are averaged by year.
Finally the formula V1 = V0(1 + β ΔT) is applied to each year's values to derive thermal expansion and contraction (steric volume change) for that year (Fig. 5, and see here).
The graph at Fig. 5 shows that the volume-change value and actual volume value patterns match (same graph-type as in Fig. 3 for RLR sea level and sea level change values).
As you can see, the papers on thermal expansion in the scientific literature are questionable (peer reviewers, who question every paper before it is published, take note).
The next post in this series is here, the previous post in this series is here.