Skip to main content

A modern, scalable Spatio-Temporal Hierarchical Modeling framework for paleo-environmental data

Project description

PaleoSTeHM - A modern, scalable Spatio-Temporal Hierarchical Modeling framework for paleo-environmental data

Project Logo

By Rutgers Earth System Science & Policy Lab

Project overview

This repository contains the Jupyter Notebook based tutorials for PaleoSTeHM project, which will develop a framework for spatiotemporal hierarchical modeling of paleodata that builds upon modern, scalable software infrastructure for machine learning. By leveraging an existing, widely used machine-learning framework at the base level, PaleoSTeHM will be built to take advantage of current and future computational advances without modifications to the user-facing product. It will facilitate the incorporation of complex likelihood structures, including the embedding of physical simulation models, and thus pave the way for further advances in paleo-modeling.

PaleoSTeHM is a paleo-environmental modelling faced API based upon pyro, a universal probabilistic programming language supported by PyTorch on the backend. Therefore, it not only supports probabilistic programming not also the auto-differentiation and GPU acceleration. This API will provide easy-to-use models to infer the spatio or spatio-temporal variation of environmental change from geological data, with tutorials that cover the background theories and hand-on practicals.

The work described in this repository is documented in the following publication:
DOI: 10.5194/egusphere-2024-2183

Please note that this repository is managed by Yucheng Lin, Alex Reedy and Robert Kopp. If you have any questions please contact Yucheng: yc.lin@rutgers.edu.

Installation

Option 1: Full Installation (Includes Tutorials)

  1. Clone the PaleoSTeHM repository.
git clone https://github.com/radical-collaboration/PaleoSTeHM.git
  1. Create and activate a Python virtual environment, and install PaleoSTeHM's Python dependencies in it. Using conda:
cd PaleoSTeHM/
conda env create -f environment.yml
conda activate ve3PaleoSTeHM
  1. Load Jupyter Lab (or Jupyter Notebook) and navigate to the tutorial of interest.
jupyter-lab

Option 2: Google Colab Install

The following are instructions on how to run PaleoSTeHM tutorials through Google Colab (https://colab.research.google.com/). One must have a Google account and access to Google Drive to use PaleoSTeHM in this configuration.

  1. Navigate to Google Colab and select "+ New Notebook" when prompted.

  2. In the new notebook copy and paste the following into cell.

from google.colab import drive
drive.mount('/content/drive')
%cd /content/drive/MyDrive
!git clone https://github.com/radical-collaboration/PaleoSTeHM.git
  1. Open Google Drive and navigate to the newly created PaleoSTeHM repo. Go to the tutorial you would like to run (i.e. /PaleoSTeHM/Tutorials/1.introduction/introduction.ipynb) right click and select "run from Google Colab".

Option 3: Lightweight Installation (Code Only)

pip install PaleoSTeHM==1.0

Tutorial Contents

Video Tutorial

  • 2024 PaleoSTeHM workshop, in collaboration with PALSEA (PALeo constraints on SEA level rise) - Day 1, Day 2.

Introduction

  • PaleoSTeHM background and data level modelling - Introduction to Bayesian Hierachical modelling, which consist of data level, process level and parameter level modelling. This notebook will cover data level modelling with an illustrative example of building data level model for coral-based sea-level records from the Great Barrier Reef. Binder
  • Process level and parameter level modelling - Process level and parameter level modelling tutorial, which will cover a range of process level model for paleo-environmental research, including hand-drawn model, linear model, change-point model, Gaussian Process model, physical model, and mixed physical and statistical model. Binder
  • Analysis Choice - Analysis choice tutorial, which will cover the difference between a deterministic model and a probablistic model (we will mostly use a Bayesian model), the optimization methods for deterministic model (least sqaures and gradient-based optimization) and inference method for Bayesian model, including Markov Chain Monte Carlo, Variational Bayes and Empirical Bayes. Binder

Temporal Gaussian Process

Spatio-temporal Gaussian Process

Applications

PaleoSTeHM User Interface

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgements

This work is supported by the National Science Foundation under awards 2002437 and 2148265. The opinions, findings, and conclusions or recommendations expressed are those of the authors and do not necessarily reflect the views of the National Science Foundation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paleostehm-1.0.0.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PaleoSTeHM-1.0.0-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

File details

Details for the file paleostehm-1.0.0.tar.gz.

File metadata

  • Download URL: paleostehm-1.0.0.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.15

File hashes

Hashes for paleostehm-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f8f672c0250937014f43345e15093e6007963dd8de82f5e568e62e5be02eb831
MD5 0cb94d8e8b3c4755382dec212a8db397
BLAKE2b-256 0a0e96c5c1c3fc5857d8a99387ddcef9855991803204c70d41b9c69b0a0757d7

See more details on using hashes here.

File details

Details for the file PaleoSTeHM-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: PaleoSTeHM-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 27.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.15

File hashes

Hashes for PaleoSTeHM-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1544545decb633d79a0699d610c851cae51d2c9b3230c07efa203a65f59ea97
MD5 191da429e76830228070543319ff6ad7
BLAKE2b-256 be25494d85641edd59841d430a4717b1c920ac26519d23e6afd06c161d9a1cd4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page