pyCSEP

pyCSEP: A Python Toolkit For Earthquake Forecast Developers - Published in JOSS (2022)

https://github.com/sceccode/pycsep

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    6 of 17 committers (35.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Tools to help earthquake forecast model developers build and evaluate their forecasts

Basic Info
  • Host: GitHub
  • Owner: SCECcode
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Homepage: https://docs.cseptesting.org
  • Size: 64.4 MB
Statistics
  • Stars: 58
  • Watchers: 9
  • Forks: 26
  • Open Issues: 30
  • Releases: 13
Created over 7 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codemeta

README.md

pyCSEP: Collaboratory for the Study of Earthquake Predictability

CSEP Logo

Python Version Downloads Build Tests Build Docs Coverage Zenodo JOSS

Description:

The pyCSEP Toolkit helps earthquake forecast model developers evaluate their forecasts with the goal of understanding earthquake predictability.

pyCSEP should: 1. Help modelers become familiar with formats, procedures, and evaluations used in CSEP Testing Centers. 2. Provide vetted software for model developers to use in their research. 3. Provide quantitative and visual tools to assess earthquake forecast quality. 4. Promote open-science ideas by ensuring transparency and availability of scientific code and results. 5. Curate benchmark models and data sets for modelers to conduct retrospective experiments of their forecasts.

Table of Contents:

  1. Software Documentation
  2. CSEP Website
  3. Installation
  4. Usage
  5. Contributing
  6. Change Log
  7. Credits
  8. License

Installation:

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.9 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.22.0 or later (https://scitools.org.uk/cartopy/docs/latest)

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.

Usage:

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 timeutils
starttime = timeutils.strptimetoutcdatetime('2019-01-01 00:00:00.0')
endtime = timeutils.utcnowdatetime()
catalog = csep.querycomcat(starttime, end_time)
catalog.plot(show=True)

Please see pyCSEP Getting Started documentation for more examples and tutorials.

Software Support:

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. 1. pyCSEP Issues 2. Email Contact: software [at] scec [dot] org

Contributing:

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.

Credits:

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.

License:

The pyCSEP software is distributed under the BSD 3-Clause open-source license. Please see the license file for more information.

Owner

  • Name: Southern California Earthquake Center
  • Login: SCECcode
  • Kind: organization
  • Email: software@scec.org
  • Location: California

Earthquake System Science Research Center

JOSS Publication

pyCSEP: A Python Toolkit For Earthquake Forecast Developers
Published
January 29, 2022
Volume 7, Issue 69, Page 3658
Authors
William H. Savran ORCID
Southern California Earthquake Center, University of Southern California
Maximilian J. Werner
University of Bristol
Danijel Schorlemmer
GFZ Potsdam
Philip J. Maechling
Southern California Earthquake Center, University of Southern California
Editor
Katy Barnhart ORCID
Tags
python seismology forecasting statistical seismology seismic hazard

Citation (CITATION.cff)

cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Savran
    given-names: William H.
    orcid: 0000-0001-5404-0778
  - family-names: Werner
    given-names: Maximilian J.
    orcid: 0000-0002-2430-2631
  - family-names: Schorlemmer
    given-names: Danijel 
    orcid: 0000-0003-3969-1059
  - family-names: Maechling
    given-names: Philip J.
    orcid: 0000-0002-9221-7068
title: "pyCSEP - Tools for Earthquake Forecast Developers"
version: 0.7.0
repository: https://github.com/SCECcode/pycsep
date-released: 2021-04-20 

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "license": "https://spdx.org/licenses/BSD-3-Clause",
  "codeRepository": "https://github.com/SCECcode/pycsep.git",
  "dateCreated": "2021-10-31",
  "datePublished": "2020-10-20",
  "dateModified": "2025-04-10",
  "downloadUrl": "https://github.com/SCECcode/pycsep",
  "issueTracker": "https://github.com/SCECcode/pycsep/issues",
  "name": "pyCSEP",
  "version": "v0.7.0",
  "description": "The pyCSEP Toolkit helps earthquake forecast model developers evaluate their forecasts with the goal of understanding earthquake predictability.",
  "applicationCategory": "Seismology",
  "developmentStatus": "active",
  "funder": {
    "@type": "Organization",
    "name": "Southern California Earthquake Center"
  },
  "keywords": [
    "earthquake",
    "forecasting",
    "validation"
  ],
  "programmingLanguage": [
    "Python 3"
  ],
  "softwareRequirements": [
    "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.21.5 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/)"
  ],
  "author": [
    {
      "@type": "Person",
      "givenName": "Fabio",
      "familyName": "Silva",
      "email": "fsilva@usc.edu",
      "affiliation": {
        "@type": "Organization",
        "name": "University of Southern California"
      }
    }
  ]
}

GitHub Events

Total
  • Fork event: 1
  • Create event: 5
  • Commit comment event: 1
  • Release event: 1
  • Issues event: 9
  • Watch event: 8
  • Delete event: 1
  • Member event: 2
  • Issue comment event: 21
  • Push event: 19
  • Pull request event: 16
  • Pull request review event: 27
  • Pull request review comment event: 11
Last Year
  • Fork event: 1
  • Create event: 5
  • Commit comment event: 1
  • Release event: 1
  • Issues event: 9
  • Watch event: 8
  • Delete event: 1
  • Member event: 2
  • Issue comment event: 21
  • Push event: 19
  • Pull request event: 16
  • Pull request review event: 27
  • Pull request review comment event: 11

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 624
  • Total Committers: 17
  • Avg Commits per committer: 36.706
  • Development Distribution Score (DDS): 0.248
Past Year
  • Commits: 28
  • Committers: 5
  • Avg Commits per committer: 5.6
  • Development Distribution Score (DDS): 0.571
Top Committers
Name Email Commits
William Savran w****n@u****u 469
pciturri p****i@g****e 59
khawajasim a****6@g****m 20
Thomas Beutin ("tb") tb@g****m 16
Marcus Herrmann m****3@g****m 15
William w****a@u****u 12
Philip Maechling p****g 12
bayonato89 7****9 7
Fabio Silva f****a@u****u 5
Edric Pauk p****k@u****u 2
Biondini 1****i 1
Han Bao 3****a 1
Kenny Graham f****g@y****m 1
thbeutin F****6 1
William Savran w****n@o****u 1
Francesco Serafini j****3@b****k 1
Kirsty Bayliss 3****s 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 66
  • Total pull requests: 96
  • Average time to close issues: 6 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 12
  • Total pull request authors: 12
  • Average comments per issue: 2.06
  • Average comments per pull request: 2.18
  • Merged pull requests: 80
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 15
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 1 month
  • Issue authors: 2
  • Pull request authors: 4
  • Average comments per issue: 0.4
  • Average comments per pull request: 1.47
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wsavran (24)
  • pabloitu (20)
  • pjmaechling (7)
  • mherrmann3 (4)
  • khawajasim (4)
  • xsg13 (1)
  • mbarall (1)
  • mjw98 (1)
  • hanbao-ucla (1)
  • nvanderelst (1)
  • sbaccari (1)
  • allenos-usgs (1)
Pull Request Authors
  • pabloitu (42)
  • wsavran (30)
  • bayonato89 (10)
  • khawajasim (6)
  • Biondini (4)
  • fabiolsilva (3)
  • KennyGraham1 (3)
  • mherrmann3 (3)
  • pjmaechling (2)
  • Serra314 (2)
  • hanbao-ucla (1)
  • kirstybayliss (1)
Top Labels
Issue Labels
enhancement (6)
Pull Request Labels
enhancement (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 157 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 23
  • Total maintainers: 2
pypi.org: pycsep

Python tools from the Collaboratory for the Study of Earthquake Predictability

  • Versions: 15
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 157 Last month
Rankings
Dependent packages count: 4.7%
Forks count: 8.1%
Stargazers count: 10.2%
Average: 14.1%
Dependent repos count: 21.6%
Downloads: 25.8%
Maintainers (2)
Last synced: 4 months ago
conda-forge.org: pycsep
  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.3%
Forks count: 36.7%
Average: 39.2%
Stargazers count: 44.4%
Dependent packages count: 51.6%
Last synced: 4 months ago

Dependencies

requirements.txt pypi
  • cartopy *
  • matplotlib *
  • mercantile *
  • numpy <=1.21.5
  • obspy *
  • pandas *
  • pillow *
  • pyproj *
  • pytest *
  • pytest-cov *
  • python-dateutil *
  • scipy *
  • sphinx *
  • sphinx-gallery *
  • sphinx-rtd-theme *
  • vcrpy *
setup.py pypi
  • cartopy *
  • matplotlib *
  • mercantile *
  • numpy *
  • obspy *
  • pandas *
  • pyproj *
  • python-dateutil *
  • scipy *
.github/workflows/build-sphinx-no-deploy.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/build-sphinx.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/build-test.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/publish-pypi.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
  • pypa/gh-action-pypi-publish master composite