The analyse time series tool
The analyse tool (yes, folks, that's the British spelling!) is a (fairly) simple C++ program that can read a variety of time-series data formats and perform various processes on it, before outputting it to a format suitable for plotting - in particular, with gnuplot.
It's this tool which powers the interactive graph generator on this site; but feel free to make your own service with it.
Analyse is licenced under GPLv3. If you've added some sexy feature you think I should roll back into my source, send me a patch at 'paul' at this domain, but please check first to avoid duplication of effort.
What it can do
The analyse tool can perform any of the following steps on the data, in any order:
- Select samples in a given range
- Select samples at a given interval
- Apply scale and offset to samples
- Take the derivative (first difference) of the data
- Integrate the data (cumulative)
- Take the log (base 10) of the data
- Do a running mean over a given number of samples
- Average and reduce by a given number of samples
- Remove a running mean from the data, leaving the noise (or signal, according to taste)
- Fourier transform to the frequency domain
- Take the absolute magnitude of complex Fourier series
- Low or high-pass filter in the frequency domain
- Inverse Fourier back to time domain
- Apply a Hann window to the data to remove Fourier edge effects
It can read data in the following formats:
- HADCRUT3/HADSST2/CRUTEM3 monthly mean data
- HADCRUT4/CRUTEM4 monthly mean data
- GISTEMP monthly mean data
- UAH NSSTC monthly mean MSU data
- RSS monthly mean MSU data
- BEST monthly mean data
- SIDC monthly sunspot number (SSN)
- PMOD daily TSI (averages to monthly)
- ESRL Mauna Loa CO2 monthly average
- JISAO PDO index
- ESRL AMO index
- NSIDC Sea Ice Index
- CSSE Covid-19 CSV
The 'merge' tool can read multiple datasets in gnuplot format and create a new dataset with their mean values (used to create WTI)