|
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. |
|
| 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 |
|
|
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. |
|
| Wife Saovaluk ("Luk", my better half, taking photo), Dave S., daughter Natalie (b. 1996), son Benjamin (b. 2000). |
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., David P. Stepaniak, and Julie M. Caron, 2002: Interannual variations in the atmospheric heat budget. J. Geophys. Res., 107, D8, 10.1029/2000JD000297.
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.)
``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.''
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.
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.



(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).
DSS, the Data Support Section in SCD at NCAR
CAS, the Climate Analysis Section in CGD
at NCAR.