philodendron (family Araceae), Dover Pictorial Archive HOME PAGE OF DAVID STEPANIAK
Sorry, my home page is really (I mean really) out of date, especially since I moved to the Data Support Section in early 2004.
mandrill (Mandrillus sphinx), Dover Pictorial Archive
Contents
Linux, GNU, C, bash, Perl spoken here. Sometimes English.
My lingua franca of scientific computing is Fortran 90.
``The greatest obstacle to discovery is not ignorance –
it is the illusion of knowledge.
'' –Daniel J. Boorstin
American historian

FRONTISPIECE
Summer monsoon thunderstorms near Jamalpur, northern Bangladesh, 90.5°E, 25.0°N, 31 August 1985. From bottom right to top left one is looking southwest across Bangladesh to the Bay of Bengal and the northeastern coast of India. Evident in much of this image is the silt laden Brahmaputra River and its branches in flood stage, flowing towards the Ganges Delta and Bay of Bengal. Jamalpur lies southwest of the Khasi Hills which occupy much of the state of Meghalaya in northeastern India. Atlases of various types generally show annual rainfall accumulations of 300-500 cm (118-197 inches) in the Khasi Hills, depending on elevation. However, in many localities of this upland, annual rainfall amounts far exceed the upper limit of this range, noteworthy being Cherrapunji [elevation 1312 m (4306 ft)] on the Shillong plateau where the monsoon and strong orographic effects combine to produce 1142 cm (450 inches) of rain annually. Up to 970 cm (382 inches) of this precipitation falls during the monsoon from late May to mid September, with monthly amounts in June and July often exceeding 250 cm (98 inches). NASA image STS51F-31-069. For an overall view of the Khasi Hills, Brahmaputra River, Ganges River and Delta, and the Bay of Bengal, see an annotated and clickable version of NASA image STS027-039-028.

CONTENTS

BRIEF VITA

OCCUPATION AND ADDRESS

Software Engineer III, DSS/SCD, 2004-present.
Associate Scientist II, III, CAS/CGD 1997 - 2004.

National Center for Atmospheric Research
Scientific Computing Division / Data Support Section
(or Climate and Global Dynamics Division / Climate Analysis Section)
P.O. Box 3000
Boulder, CO 80307-3000

office: 113a Mesa Lab
e-mail: davestep@ucar.edu
phone: (303) 497-1343
http://www.scd.ucar.edu/dss
(or http://www.cgd.ucar.edu/cas/davestep/)

PERTINENT EDUCATION AND EXPERIENCE

Research Associate, 1996-1997, Department of Atmospheric Science, Colorado State University
M.S. (Atmospheric Science / Atmospheric Dynamics) 1996, Colorado State University

FAMILY

Behind NCAR, Mesa Lab, late summer 2005.
Wife Saovaluk ("Luk", my better half, taking photo), Dave S., daughter Natalie (b. 1996), son Benjamin (b. 2000).

Contents

Online résumé
Downloadable résumé [PostScript(1MB)] [pdf(1.3MB)]

CURRENT SATELLITE AND OTHER IMAGES

Current images are obtained automatically via cron and Perl scripts utilizing the LWP module run locally on my machine. LWP is the World-Wide Web Library for Perl.

(I can make the Perl scripts available upon request — however, you must have the LWP module installed on your machine. To check this, type perl -e 'use LWP' (note single quotes). If LWP is installed Perl reports nothing and returns to your shell's command line. If LWP is not installed Perl will so say so by listing the default module/library paths it has searched with negative result.)

GOES-10 AND GOES-12

Current GOES-10 and GOES-12 full-disk visible images from CIRA at Colorado State University (I never tire of looking at the ITCZ).

NOAA OPTIMUM INTERPOLATION SEA SURFACE TEMPERATURE ANALYSIS

Current SST plots from NCEP/NOAA's Optimum Interpolation Sea Surface Temperature Analysis.

Contents


CURRENT WORK AND ACTIVITIES

NCEP/NCAR AND ECMWF REANALYSES

The majority of research to which I contribute involves developing diagnostics of many facets of the general circulation of the atmosphere, with an emphasis on global gridded data from NCEP/NCAR and ECMWF reanalyses. For example, in our work we compute the components of vertically integrated mass, moisture, and energy budgets using reanalysis data, which provide a means of estimating global atmospheric energy transport, net surface heat flux, northward ocean heat transport, diabatic heating, and fundamental aspects of the hydrologic cycle such as evaporation minus precipitation. In addition to reanalysis data, we routinely utilize a host of other global gridded data sets – for example ERBE radiation fields, NVAP moisture products, CMAP precipitation, MSU 2LT temperature, COADS1a/SOC ocean heat and momentum fluxes, and NCEP and U.K. Meteorological Office SST – which are employed for computing residual fields of budget equations, estimating biases, statistical analyses, climatological indices, and further diagnostic purposes. Recently, our work has focused on net surface heat flux, atmosphere and ocean heat transport, El Niño – Southern Oscillation (ENSO), monsoons, dominant modes of the three-dimensional divergent circulation of the tropical and global atmosphere, and quality of reanalyses in the tropics. In addition, as an ERA-40 project partner, we are in preparatory stages of applying our diagnostics to the 40+ years of data of this reanalysis. Our NCEP/NCAR and ECMWF reanalyses projects are sponsored largely by NOAA Office of Global Programs grant NA56GP0247, `Interannual variability of the global atmospheric general circulation'.

NOTE: It is highly recommended that users and prospective users of our budget products see our recomputed and updated archive at Vertically Integrated Mass, Moisture, Heat, and Energy Budget Products derived from the NCEP/NCAR Reanalysis, March 2003. Extensive background concerning the details of the derivation of these products can also be found on this new web page.

Trenberth, Kevin E., and David P. Stepaniak, 2004: Inferred annual cycle of equivalent ocean heat content. Geophys. Res. Lett., submitted.

Trenberth, Kevin E., David P. Stepaniak, and Lesley Smith, 2004: Interannual variability of the mass of the atmosphere. J. Climate, submitted.

Trenberth, Kevin E., and David P. Stepaniak, 2003: Seamless poleward atmospheric energy transports and implications for the Hadley Circulation. J. Climate, 16, 3705-3721.

Trenberth, Kevin E., and David P. Stepaniak, 2003: Co-variability of components of poleward atmospheric energy transports on seasonal and interannual timescales. J. Climate, 16, 3690-3704.

Trenberth, K. E., and D. P. Stepaniak, 2003: Heat budgets and poleward atmospheric energy transports. Seventh Intl. Conf. Southern Hemisphere Meteorology and Oceanography. Wellington, New Zealand. 24-28 Mar 2003. 7-9.

Trenberth, Kevin E., David P. Stepaniak, and Julie M. Caron, 2002: Accuracy of atmospheric energy budgets. J. Climate, 15, 3343-3360.

Trenberth, K. E., D. P. Stepaniak and J. M. Caron, 2002: Preliminary evaluation of vertically-integrated fluxes of moisture and energy from ERA-40. Workshop on Reanalysis. ECMWF, Reading, 5-9 November 2001. ERA-40 Proj. Rep. Ser. 3, 265-266.

Trenberth, Kevin E., David P. Stepaniak, and Julie M. Caron, 2002: Interannual variations in the atmospheric heat budget. J. Geophys. Res., 107, D8, 10.1029/2000JD000297.

Trenberth, Kevin E., Julie M. Caron, David P. Stepaniak, and Steven Worley, 2002: The evolution of ENSO and global atmospheric temperatures. J. Geophys. Res., 107, D8, 10.1029/2000JD000298.

Trenberth, Kevin E., and David P. Stepaniak, 2002: Diagnostics of vertically integrated fluxes of energy. 13th Symposium on Global Change and Climate Variations. Orlando, FL, Amer. Meteor. Soc., 60-61.

Trenberth, Kevin E., and David P. Stepaniak, 2002: A pathological problem with NCEP reanalyses in the stratosphere. J. Climate, 15, 690-695.

Trenberth, Kevin E., and David P. Stepaniak, 2001: A new index of El Niño related to decadal variability. CLIVAR Exchanges, 6, 25-27.

Trenberth, Kevin E., and David P. Stepaniak, 2001: Indices of El Niño evolution. J. Climate, 14, 1697-1701.

Trenberth, Kevin E., David P. Stepaniak, James W. Hurrell, and Michael Fiorino, 2001: Quality of reanalyses in the tropics. J. Climate, 14, 1499-1510.

Trenberth, Kevin E., Julie M. Caron, and David P. Stepaniak, 2001: The atmospheric energy budget and implications for surface fluxes and ocean heat transports. Climate Dyn., 17, 259-276.

Trenberth, Kevin E., David P. Stepaniak, and Julie M. Caron, 2000: The global monsoon as seen through the divergent atmospheric circulation. J. Climate, 13, 3969-3993.

Trenberth, Kevin E., David P. Stepaniak, and Julie M. Caron, 1999: The global monsoon. Selected aspects of this work presented by Stepaniak at the Monsoon Symposium and CLIVAR Monsoon Workshop, Dec 6-10, 1999, Honolulu, Hawaii.

Trenberth, Kevin E., David P. Stepaniak, and Julie M. Caron, 1999: The global monsoon. Proc. Second International Conference on Reanalyses, 23 to 27 August 1999, Wokefield Park, Mortimer, Reading, U.K., WCRP-109, WMO/TD-No 985, 313-316.

Trenberth, Kevin E., and David P. Stepaniak, 1999: Global energy and moisture budgets of the atmosphere. Proc. Second International Conference on Reanalyses, 23 to 27 August 1999, Wokefield Park, Mortimer, Reading, U.K., WCRP-109, WMO/TD-No 985, 369-372.

Trenberth, Kevin E., and David P. Stepaniak, 1999: Empirical estimates of the recycling of precipitation over North America. GCIP Report: Water and energy budget of the Mississippi Basin. October, 1999.

Contents

EXAMPLES OF NCL GRAPHICS AND SCRIPTS RELEVANT TO CGD/CAS

NCL script PSI_PLOT.ncl produces a latitude-height-pressure contour plot of a meridional stream function computed from either the mean meridional divergent wind component VD, or total mean meridional wind component V. In addition, an overlay of the mean meridional (VD,W) or (V,W) vector field, scaled to give an accurate representation of mass flow satisfying the continuity equation in the meridional plane on paper, is generated.
(See Fortran 90 SUBROUTINE CCMP_ZM_MPSI below for computing a zonal mean meridional stream function based on the CCM processor definition of MPSI.)
NCL script HOVMOLLER_TIME_LON_driver.ncl generates a Hovmoller plot of a time-longitude grid. (Similarly, HOVMOLLER_TIME_LAT_driver.ncl generates a Hovmoller plot of a time-latitude grid.)

Shared Objects Callable by NCL:Shared objects have been generated from selected Fortran 90 subroutines which can be invoked from NCL as stand-alone procedures. See below.

Contents

USEFUL SCRIPTS (PERHAPS), AND OTHER COMPUTING TOOLS

Some words to inspire the programming process ...

``There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.''

–C. A. R. Hoare
Department of Computer Science, The Queen's University of Belfast, Belfast, Northern Ireland (circa 1972, now James Martin Professor of Computing at Oxford University)

``Indeed, good software development demands a mathematical understanding of the problem to be solved, a flair for algorithmic expression, and an appreciation for finite precision arithmetic.''

–Gene Golub and Charles Van Loan
From the Preface of the First Edition of Matrix Computations (1989), The John Hopkins University Press

``loop A construct that performs something repeatedly, like a roller coaster. (Go to the next entry if you're tired of riding this one.) See loop.''

–Larry Wall, Tom Christiansen, and Randal L. Schwartz
From the Glossary of the Second Edition of Programming Perl (1996), O'Reilly and Associates (``The Blue Camel Book'').

An f90 makefile for middlepark / winterpark. (Still useful in modified form for dataproc.)

C shell script rc2lm for transferring files from middlepark / winterpark to local (CGD) machines by remote copy. (Severely outdated, but may still be useful for some applications in modified form.)

Fortran 90 subroutine native_4byte_real: For converting a 32 bit, 4 byte, REAL from big Endian to little Endian, or conversely from little Endian to big Endian.

C function sysdate: Returns the system date as a null terminated character string.

Fortran 90 subroutine CYCLOSTATIONARY_WD: This subroutine computes cyclostationary EOFs (CSEOFs), their principal component time series, and the percent variance explained by each CSEOF. Portions of the code are proto- typed after Dr. Kwang-Yul Kim 's (Florida State University) `cseofx.f' for cyclostationary analysis. (The _WD indicates that the dependencies WEIGHT and INTEGR are included in this subroutine. On the other hand, one must link the LAPACK library, as SSYEV is also a dependency and is used to compute the eigenvalues and eigenvectors of a real symmetric matrix – in this case the covariance matrix.) It is noted that the qualitative and quantitative characteristics of the ends of the output PC time series (say the first and last year of monthly mean data for example) depend on the temporal length of the input time series – this cannot be emphasized enough. The reason is that a localized window (approximately, a Morlet mother wavelet function to render a localized Fourier transform within the `nested period') is applied to the data – at the end points of the input time series, only half of the window is being applied, no matter how one selects or preconditions the end portions of the data. Hence it is best to ignore a segment of length equal to the nested period at the beginning and end of the output PC time series.

Fortran 90 FUNCTION V_INT_PRESS for performing vertical integration of data archived on pressure levels.

Fortran 90 SUBROUTINE eof_scalar for computing Empirical Orthogonal Functions (EOFs) of stationary scalar data fields. [Fortran 90 routines for computing complex EOFs of 2D vector fields, and extended EOFs (EEOFs) of scalar data fields, have also been written and tested and are made available upon request.] A shared object callable by NCL has been generated from this subroutine.
Fortran 90 SUBROUTINE CCMP_ZM_MPSI for computing a zonal mean meridional stream function based on the CCM processor definition of MPSI.
Fortran 90 SUBROUTINE ccm2_hydro_mat for computing the CCM2 hydrostatic matrix H. An example of the use of H is f90 matrix-based calculations of Z2. [Z2 (a CCM Processor Code-Defined Derived Field) is the geopotential height based on the CCM2 hydrostatic formulation.]
Fortran 90 SUBROUTINE CCM2_Z2_sigma for computing Z2, geopotential height based on the CCM2 hydrostatic formulation, on sigma levels. A shared object callable by NCL has been generated from this subroutine.
Fortran 90 MODULE mod_reorder_dims which is a generic subroutine INTERFACE and set of MODULE PROCEDURES for reordering the dimensions of multidimensional arrays of rank 2, 3, 4, and 5.
Fortran 90 SUBROUTINE UNBIASED_CORRELATION for computing cross- and autocorrelations of time series. The time series may have gaps in their data.

IDL script RFH_NCURVE.idl generates a relative frequency histogram for a given discrete (or nearly continuous) and presumably random variable (perhaps such as surface temperature anomalies), and overlays a normal curve with the same standard deviation as the variable and same area as its histogram.

FORTRAN 90 INTERFACES

I have written several extensive Fortran 90 interfaces designed to streamline and simplify the use of specialized software packages for scientific computing. These include interfaces to

Spherepack-3.0, for regridding and truncation, as well as two-dimensional operators for divergence , curl , Laplacian , inverse Laplacian , gradient , and so on, all carried out in spectral (spherical harmonic) space.

fftpack, for performing Fourier analysis using digital FFT techniques and algorithms.

The interfaces were developed over a sufficient period of time to allow extensive testing and comparison, and to enhance their generality and reliability. I use them in my daily work.

Contents


USEFUL LINKS

NCAR / UCAR / ETC Rocky Mountain bighorn sheep (Ovis canadensis), Dover Pictorial Archive

LINUX / XFREE86 / GNU / ETC

MISCELLANEOUS LINKS one-hump dromedary (Camelus dromedarius), Dover Pictorial Archive

Contents


MISCELLANEOUS

(Depository of requests for very small data sets and other miscellaneous items most easily viewed and retrieved with a web browser.)

Global mean temperature and temperature anomalies, 1948-2001.
Zonal integral net surface flux anomalies (PDF).

Contents


Web page maintained by David Stepaniak davestep@ucar.edu.
Last modified 26th May 2004.
Linux is a trademark of Linus Torvalds.

DSS, the Data Support Section in SCD at NCAR
CAS, the Climate Analysis Section in CGD at NCAR.

Contents