Publicly Available CAS Software 
 Dave Stepaniak's Software
(These scripts were created by Dave Stepaniak, currently a member of NCAR's
Scientific Computing Division. The scripts are also available
off of Dave's Home Page.)

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. KwangYul 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.

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 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.]

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 matrixbased calculations of Z2. [Z2 (a CCM Processor CodeDefined 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.

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.

