Python library for site response analysis.
Site response analyses implemented in Python. This Python packages aims to implement many of the features found in Strata. These features include:
- Input motion characterization:
- Time series
- Random vibration theory
- Wave propagation or site amplification:
- linear
- equivalent-linear
- equivalent-linear with frequency dependent properties
- quarter wavelength
- Nonlinear curve models:
- Predictive models:
- Darendeli (2001)
- Menq (2004)
- Kishida (2012)
- Curves:
- Vucetic & Dobry (1991)
- EPRI (1993)
- GEI (1983)
- GeoMatrix (1990)
- Idriss (1990)
- Imperial Valley Soils
- Iwasaki
- Peninsular Range
- Seed & Idriss
- Predictive models:
- Site and soil property uncertainty:
- Toro (1994) Vs correlation model
- G/Gmax and D uncertainty:
- Darendeli (2001)
- EPRI SPID (2013)
Development of this software is on-going and any contributions are
encouraged. Previously named pysra, but renamed after some sage and
persistent advice to be better associated with
Strata.
pystrata is available via pip and can be installed with:
pip install pystrata
For development, we recommend using uv for fast dependency management:
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone and setup
git clone https://github.com/arkottke/pystrata.git
cd pystrata
uv sync --all-extras --dev
# Run tests
uv run pytest
See UV_MIGRATION.md for details about the migration from hatch to uv.
If you are using conda and a create a pystrata specific
environmental make sure you install ipykernels and nb_conda_kernels
so that the environment is discoverable by Jupyter with:
conda install ipykernel nb_conda_kernels
Please cite this software using the following DOI:
Albert Kottke & Maxim Millen. (2023). arkottke/pystrata: v0.5.2 (v0.5.2). Zenodo. https://doi.org/10.5281/zenodo.7551992
or with BibTeX:
@software{albert_kottke_2023_7551992,
author = {Albert Kottke and
Maxim Millen},
title = {arkottke/pystrata: v0.5.2},
month = jan,
year = 2023,
publisher = {Zenodo},
version = {v0.5.2},
doi = {10.5281/zenodo.7551992},
url = {https://doi.org/10.5281/zenodo.7551992}
}
There are a variety of examples of using pystrata within the examples
directory. An
interactive Jupyter interface of these examples is available on
.