Pyleoclim is a Python package designed for, but not limited to, the analysis of paleoclimate data. Pyleoclim leverages various data science libraries (numpy, pandas, scikit-learn) for time series analysis, as well as Matplotlib and Cartopy for the creation of publication-quality graphics. Basic familiarity with Python is essential, and many good tutorials exist on the topic.

The package is designed around object-oriented Series, which can be directly manipulated for plotting, spectral and wavelet analysis, and other time series-appropriate operations. The main Series class is very flexible, applicable to virtually any timeseries, including instrumental or model-generated data. The package distinguishes itself by its handling of unevenly-spaced observations, which may come from Excel spreadsheets (csv), NumPy arrays, netCDF files, or pandas dataframes. The GeoSeries class takes this one step further, enabling geolocation and associated functionalities (e.g. mapping). These classes allow Pyleoclim to readily analyze datasets stored in the Linked Paleo Data (LiPD) format, through the PyLiPD package. In particular, the package can make use of age ensembles and uses them for time-uncertain analysis. The age ensembles must however be generated externally, e.g. through the GeoChronR package, which natively stores them as ensemble tables in LiPD.

Pyleoclim is by no means limited to LiPD-formatted data, and has been used in astronomy, finance, and robotics. Indeed, Pyleoclim is the workhorse supporting more general machine-learning functionalities for all manner of timeseries.

Getting Started

The Pyleoclim APIs make use of specialized routines which are described in details in advanced functionalities.

Getting Involved

Pyleoclim has been made freely available under the terms of the GNU Public License, and follows an open development model. There are many ways to get involved in the development of Pyleoclim:

  • If you write a paper making use of Pyleoclim, please cite it thus.

  • Report bugs and problems with the code or documentation to our GitHub repository. Please make sure that there is not outstanding issues that cover the problem you’re experiencing.

  • Contribute bug fixes

  • Contribute enhancements and new features

  • Contribute to the code documentation, and share your Pyleoclim-supported scientific workflows via our public repository (LiPDBooks).

Search Pyleoclim