This is a simplistic estimate of the PSD; it's just the mean of the squared-magnitude of the DFT, averaged across the runs in the dataset. There are more sophisticated things you could do, but a crude estimate is more than good enough for what we are trying to do here.

psdest(prcomp_l)

Arguments

prcomp_l

A list of principal components structures returned by eof_analyze, or a single such structure.

Value

A matrix [ntime, numPC] of PSD estimates (see details).

Details

The matrix returned contains the PSD estimates for all frequencies (including negative frequencies). Each column corresponds to one of the principal components (PC0, PC1, ... PCN), and each row corresponds to a frequency bin ($0, 1/N_t, 2/N_t, ..., 1/(2N_t), ..., -2/N_t, -1/N_t$, in units of yr$^-1$). The square root of this matrix should be passed as the first argument to mkcorrts.

When doing the averaging we assume that all of the input time series have the same lengths, so that all of the frequency bins correspond. Passing series of unequal length is an error.