PyNetDesign is an open-source Python framework for testing and designing microseismic monitoring networks for homogeneous velocity models.
PyNetDesign can determine the magnitude sensitivity of the microseismic monitoring network, i.e. estimate the minimum moment magnitude detectable using the given network or receivers. It can work with both station networks and distributed acoustic sensing (DAS) cable networks at the same time. Magnitude sensitivity is represented in the form of horizontal or vertical slices through a 3D grid.
To clone the git repository use Git, a free and open source distributed version control system.
Installation requires Conda package manager, e.g. one can use miniforge implementation.
PyNetDesign works with 3.8 <= python <= 3.12 and requires pip.
Some key dependencies:
The author is incredibly grateful to the developers of these and other packages used by PyNetDesign.
First clone the git repository using
git clone https://github.com/danikiev/pynetdesign.gitThe best way is to create a new conda environment with all the required packages:
conda env create -f environment.ymlNote: to speed up creation of the environment, use mamba instead of conda, which is a faster alternative.
Then activate the newly created environment:
conda activate pndFinally, install the package:
pip install -e .For quick installation, you can use the specially designed installation script which implement all of the above mentioned steps.
On Windows, in miniforge prompt run:
install.batand select option 1 (user environment).
Development environment includes additional packages for testing and building documentation.
For development please use environment-dev.yml instead of environment.yml:
conda env create -f environment-dev.yml
conda activate pnd-dev
pip install -e .On Windows you can use install.bat and select option 2 (developer environment):
install.batDeveloper environment includes more packages, e.g. for building local documentation,
If you need to add/change packages, deactivate the environment first:
conda deactivateand then remove the appropriate environment:
conda remove -n pnd --allor
conda remove -n pnd-dev --allOn Windows you can also run the uninstallation script:
uninstall.batIt will search for all associated Conda environments matching pnd* and will ask to delete each of them.
The latest stable documentation based on Sphinx is available online at: <>.
It features:
- Methodology
- Getting started guide
- Examples
- API reference
Packages required for building of the documentation are included to the development environment. To install it in the normal installation environment you have to additionally run:
conda install sphinx pydata-sphinx-theme sphinx-gallery numpydocand
pip install setuptools_scmTo build the documentation locally run:
cd docs
make htmlIf you want to rebuild the documentation:
cd docs
make clean
make htmlTo build website also the PDF file of the website, use:
make latexpdfAfter a successful build, one can serve the documentation website locally:
cd build/html
python -m http.serverand open in browser: http://localhost:8000.
Note: check the exact port number in the output
On Windows you can also use the script:
build-docs.bator, to build also the PDF file:
build-docs.bat -pdf