March 2, 2009 This is the
first in a series of articles about GISTEMP, a software system created
by the NASA Goddard Institute for Space
Studies (GISS) that is used to produce the
GISS
Surface Temperature Analysis.
GISTEMP processes data files containing historical temperature data from
various sources in order to create a set of output
files that represent temperature
anomalies for land areas only or for both land and sea areas on a
global, zonal, and gridded basis. The output files can be used as
is or fed into other programs in order to produce graphs, charts, maps,
and other products to display temperature changes over time.
GISTEMP creates one of the major temperature series used by climate
researchers and the Intergovernmental Panel on Climate Change (IPCC) to
analyze trends in global warming and climate change.
The GISTEMP system is available to
download
from the GISS web site as a compressed tar file. There is a
document
available on-line and included in the tar file that minimally describes
how the system works and the basic operation of each step
involved. After downloading, uncompressing, and extracting the
tar file there will be five top level directories named STEP0, STEP1,
STEP2, STEP3, and STEP4_5 as well as the text file gistemp.txt, which
contains the aforementioned minimal documentation. Each top level
directory contains various subdirectories, data files, shell scripts,
python scripts, and/or Fortran source code. The software assumes it
will be running on a UNIX-like system with a
minimum of ksh, some basic UNIX utility programs, a Fortran 90 or 95 compiler, and
Python version 2.5 or higher already installed. The input data
files necessary to run the system are not included as part of the
download.
This is not
a system you can expect to download,
install, and run in a few minutes; plan on spending at least several
hours. It helps to have significant experience with UNIX,
Fortran, Python, porting software to new systems, and good general
troubleshooting skills in order to
make the system operational as it really is a kludge. While there
are a few portions that seem to be well written and actually have comments,
for the most part it appears to be a
hack job that was just thrown together and it was obviously not
designed or developed by software and system engineering
professionals. Apparently the normal standards you would expect
to be followed on a government project for software design,
development, coding, testing,
documentation, quality control, and configuration management do not
apply at GISS, at least not for GISTEMP. It is hard to believe
that we may spend hundreds of billions of dollars for global warming
mitigation activities at least partially based on the outputs from this
system.
It is not overly difficult to get the system
operational, but it does require considerable patience and
perseverance. You will have to set environment variables, tweak
some of the scripts, build and install some Python extensions, download
the input
data files, massage some of the data files into the expected format,
and hunt down a few other files that are required but not included in
the download. Because parts of the system are written in Fortran, you
may also run into big endian/little endian issues depending on your
hardware. There are undoubtedly a number of other programs and
utilities that
GISS has developed to generate, analyze, and maintain the input data
files among other things but, for some reason, they chose not to include
them and make things easier. The
lack of documentation means there is a lot of
trial and error involved. In some cases you will probably even
have to dig through the code to determine file formats or figure out
why some part or another is not working. If you really want to
get the system up and running but run into problems you can't resolve,
we may be able to help. Just send us a message
and we will try to assist you.