Tuesday, July 26, 2016

The Warming Science Commentariat - 6

Fig. 1 Expansion vs. shrinking
I. In The Beginning ...

This post continues the series concerning the World Ocean Database (WOD) project.

Especially as it is applied and used for debunking the "thermal expansion myth" (TEM).

I began the series and the use of WOD data in order to shed more light on the myth  (The Warming Science Commentariat, 2, 3, 4, 5) and to get acquainted with a new data source (Databases Galore - 14).

The TEM is expressed as "most sea level rise over the past century was caused primarily by thermal expansion."

Let me set the stage by saying that most ocean water is located below the surface (duh), but the TEM is spread about as if all sea level rise takes place at "the surface warmed by the Sun, because water always expands when it is warmed."

It has not yet occurred to The Warming Commentariat that the most expansion and/or contraction will take place where the most water is.

Like the bank robber said, when asked "why do you rob banks?" ... "Because that is where the money is."

II. The Software

The software I developed to handle the "pi files of the order of pi" (Put Your Lab Coats On) is object oriented C++ source code (i.e. written in the C++ programming language).

Here are the "header files" for the WOD-13 file sections within their files that look like pi on the run:
#ifndef PRIMARYHEADER_H
#define PRIMARYHEADER_H

#include "WODheader.h"
#include "DataReader.h"
#include "WOD13Aggregator.h"

using namespace std;

class PrimaryHeader
{
public:
PrimaryHeader(DataReader *pDataReader);

virtual ~PrimaryHeader();

void processFields(RVALS &rVals,
WOD13Aggregator *pSqlEngine);

protected:

private:
DataReader *pDataReader;

int varCount, metaCount;
};

#endif // PRIMARYHEADER_H

#ifndef CHARACTERDATA_H
#define CHARACTERDATA_H

#include "WODheader.h"
#include "DataReader.h"
#include "WOD13Aggregator.h"

using namespace std;

class CharacterData
{
public:
CharacterData(DataReader *pDataReader);

virtual ~CharacterData();

void processFields(RVALS &rVals,
WOD13Aggregator *pSqlEngine);

protected:

private:
DataReader *pDataReader;

int numOfEntries, piNumOfNames;
int typeOfData;
};

#endif // CHARACTERDATA_H


#ifndef SECONDARYHEADER_H
#define SECONDARYHEADER_H

#include "WODheader.h"
#include "DataReader.h"
#include "WOD13Aggregator.h"

using namespace std;

class SecondaryHeader
{
public:
SecondaryHeader(DataReader *pDataReader);

virtual ~SecondaryHeader();

void processFields(RVALS &rVals,
WOD13Aggregator *pSqlEngine);

protected:

private:
DataReader *pDataReader;

int numOfEntries;
};

#endif // SECONDARYHEADER_H

#ifndef BIOLOGICALHEADER_H
#define BIOLOGICALHEADER_H

#include "WODheader.h"
#include "DataReader.h"
#include "WOD13Aggregator.h"

using namespace std;

class BiologicalHeader
{
public:
BiologicalHeader(DataReader *pDataReader);

virtual ~BiologicalHeader();

void processFields(RVALS &rVals,
WOD13Aggregator *pSqlEngine);

inline bool gpToProfileData() {return skipToProfileData;};

protected:

private:
DataReader *pDataReader;

int numOfEntries;
bool skipToProfileData;
};

#endif // BIOLOGICALHEADER_H

#ifndef TAXONOMICDATASETS_H
#define TAXONOMICDATASETS_H

#include "WODheader.h"
#include "DataReader.h"
#include "WOD13Aggregator.h"

using namespace std;

class TaxonomicDataSets
{
public:
    TaxonomicDataSets(DataReader *pDataReader);

    virtual ~TaxonomicDataSets();

    void processFields(RVALS &rVals,
                       WOD13Aggregator *pSqlEngine);

protected:

private:
    DataReader *pDataReader;

    int taxoDataSets;
    int taxoEntriesPerSet;
};

#endif // TAXONOMICDATASETS_H


#ifndef PROFILEDATA_H
#define PROFILEDATA_H

#include "WODheader.h"
#include "DataReader.h"
#include "WOD13Aggregator.h"

using namespace std;

class ProfileData
{
public:
ProfileData(DataReader *pDataReader);

virtual ~ProfileData();

void processFields(RVALS &rVals,
WOD13Aggregator *pSqlEngine);

protected:

private:
DataReader *pDataReader;

unsigned depths;
};

#endif // PROFILEDATA_H

Each class handles a section of the stream of numbers that look like a section of a pi stream.

III. What The Software Does

The software reads a WOD-13 file byte by byte, value by value, and cast by cast.

A cast is (think of a fisherman casting into the depths to see what bites) a session of data collection.

The data is very painstakingly traversed, packaged into "fields", then placed into an SQL table.

Once there, I can use it with other tables to present the under the surface picture of ocean reality by way of graphs made from CSV files.

Secondary modules of the software access the SQL database then write the csv files which a graphing program translates into the graphs I present to readers.

IV. Did I Mention Graphs?

Which brings us to Fig. 1, which is a digest of WOD file "CTDO7015" and "PFLS7015" which I downloaded from the WOD website.

They have 888 and  3,501 casts respectively, totaling  4,389 casts.

Which means that scientists took a lot of cruises and made a lot of casts of their instruments over many years to bring us this scientific data.

I am merely a messenger continuing the public service that they began.

Anyway, I hope you get my drift that a little graph on a little blog is not absent of any value to you.

V. The Revolutionary Thingy (Fig. 1,2)

The green and red squares that I placed on the lines in the Fig. 1 and Fig. 2 graphs are astoundingly nonintuitive in terms of what they mean.
Fig. 2 Expansion vs. shrinking

The lines they are placed on show up and down temperature variations over the years.

I placed a blue line crossing the graph at 4 degrees C in Fig. 1.

That is where water in general has its greatest compaction, its lowest volume, its max shrinkage (see section IV. @ The Warming Science Commentariat - 2).

Sea water is the same in principle, but in any case Fig. 2 tells what the TEM folks would see as an OMG reality.

I will detail (sea water vs. pure water) sameness-in-principle in future posts when I have salinity graphs combined with the temperature graphs.

Basically, the WOD data show that the great bulk of ocean water (which is not located at the surface where the Sun makes it glisten) is shrinking and expanding slowly all of the time (thermal expansion vs thermal contraction), due to thermal ups and downs.

The Warming Commentariat makes no mention of this big league dynamic, resting on the plastic fantastic populism of if it warms the surface, look out Miami.

Which is an exercise in fantasy like expecting a rookie minor league baseball player to cause the defeat of all the major league champions.

Which is not at all realistic.

VI. Conclusion

Many posts on this subject are coming.

Review the proof of concept posts for cases where the ocean level has dropped several feet and cases where it has risen several feet (e.g. Proof of Concept - 3).

TEM is Oil-Qaeda's sicko way of making the plastic fantastic people think sea level rise is solar cool.

Don't believe it for a second.

The next post in this series is here, the previous post in this series is here.



1 comment:

  1. I get it I get it!

    At 4 deg C any heat addition or removal will cause thermal expansion.

    At any temperature below 4 deg C, addition of heat will cause thermal shrinkage.

    At any temperature above 4 deg C, addition of heat will cause expansion, removal will cause shrinkage.

    ReplyDelete