The default behavior for adding and solving with noisemodels has changed from Pastas 1.5. Find more information here


Pastas is an open source Python package to analyse hydro(geo)logical time series. The objective of Pastas is twofold: to provide a scientific framework to develop and test new methods, and to provide a reliable ready‐to‐use software tool for groundwater practitioners. All code is available from the Pastas GitHub. Want to contribute to the project? Check out the Developers section.

User Guide

User guide on installation and the basic concepts of Pastas.


Examples of Pastas usage.

API Reference

Pastas application programming interface (API) reference.


Want to contribute to Pastas? Find resources and guides for developers here.


Find an overview of scientific peer-reviewed studies that used Pastas.

More Pastas

Find out more useful resources developed by the Pastas community on GitHub!

Quick Example#

In this example a head time series is modelled in just a few lines of Python code.

# Import python packages
import pandas as pd
import pastas as ps

# Read head and stress data
obs = pd.read_csv("head.csv", index_col=0, parse_dates=True).squeeze("columns")
rain = pd.read_csv("rain.csv", index_col=0, parse_dates=True).squeeze("columns")
evap = pd.read_csv("evap.csv", index_col=0, parse_dates=True).squeeze("columns")

# Create and calibrate model
ml = ps.Model(obs, name="head")
sm = ps.RechargeModel(prec=rain, evap=evap, rfunc=ps.Exponential(), name="recharge")

Using Pastas? Please cite us!#

If you find Pastas useful and use it in your research or project, we kindly ask you to cite the Pastas article published in Groundwater journal as follows: