The pyCSEP Toolkit helps earthquake forecast model developers evaluate their forecasts with the goal of understanding earthquake predictability.
pyCSEP should:
- Help modelers become familiar with formats, procedures, and evaluations used in CSEP Testing Centers.
- Provide vetted software for model developers to use in their research.
- Provide quantitative and visual tools to assess earthquake forecast quality.
- Promote open-science ideas by ensuring transparency and availability of scientific code and results.
- Curate benchmark models and data sets for modelers to conduct retrospective experiments of their forecasts.
pyCSEP can be installed in several ways. It can be installed using conda or pip package managers or from the source code found in the pyCSEP github repo. Researchers interested in contributing to pyCSEP development should install pyCSEP from source code. pyCSEP depends on the following software packages. These which may be installed automatically, or manually, depending on the installation method used.
- Python 3.7 or later (https://python.org)
- NumPy 1.21.3 or later (https://numpy.org)
- SciPy 1.7.1 or later (https://scipy.org)
- pandas 1.3.4 or later (https://pandas.pydata.org)
- cartopy 0.20.0 or later (https://scitools.org.uk/cartopy/docs/latest)
- GEOS 3.7.2 or later (https://trac.osgeo.org/geos/)
- PROJ 8.0.0 or later (https://proj.org/)
Please see the requirements file for a complete list
of requirements. These are installed automatically when using the conda
distribution.
Detailed pyCSEP installation instructions can be found in the online pyCSEP documentation.
Once installed, pyCSEP methods can be invoked from python code by importing package csep. pyCSEP provides objects and utilities related to several key concepts:
- Earthquake Catalogs
- Earthquake Forecasts
- Earthquake Forecast Evaluations
- Regions
An simple example to download and plot an earthquake catalog from the USGS ComCat:
import csep from csep.core import regions from csep.utils import time_utils start_time = time_utils.strptime_to_utc_datetime('2019-01-01 00:00:00.0') end_time = time_utils.utc_now_datetime() catalog = csep.query_comcat(start_time, end_time) catalog.plot(show=True)
Please see pyCSEP Getting Started documentation for more examples and tutorials.
Software support for pyCSEP is provided by that Southern California Earthquake Center (SCEC) Research Computing Group. This group supports several research software distributions including UCVM. Users can report issues and feature requests using the pyCSEP github-based issue tracking link below. Developers will also respond to emails sent to the SCEC software contact listed below.
- pyCSEP Issues
- Email Contact: software [at] scec [dot] usc [dot] edu
We welcome contributions to the pyCSEP Toolkit. If you would like to contribute to this package, including software, tests, and documentation, please visit the contribution guidelines for guidelines on how to contribute to pyCSEP development. pyCSEP contributors agree to abide by the code of conduct found in our Code of Conduct guidelines.
Development of pyCSEP is a group effort. A list of developers that have contributed to the PyCSEP Toolkit are listed in the credits file in this repository.
The pyCSEP software is distributed under the BSD 3-Clause open-source license. Please see the license file for more information.