Skip to content

Commit 9e53c0a

Browse files
pjmaechlingwsavran
andauthored
Updated readme (#147)
* added extension to file and updatd to standard format readme.md * Moved credits to Credits file * Updated wording about installations * standardized name as PyCSEP in this file * Added link to Code of Conduct guidelines * updated url to carc public filesystem * updated install instructions * added codemeta.json file and updated CREDITS.md * updated list of contributors in CREDITS.md * small modifications to README.md * updated links to images * changed example snippet to include plotting * minor text changes Co-authored-by: William Savran <[email protected]>
1 parent 32502fe commit 9e53c0a

File tree

4 files changed

+136
-98
lines changed

4 files changed

+136
-98
lines changed

CREDITS.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
PyCSEP development is a group effort.
2+
3+
Contributors:
4+
* William Savran, Southern California Earthquake Center
5+
* Pablo Iturrieta, GFZ Potsdam
6+
* Khawaja Asim, GFZ Potsdam
7+
* Thomas Beutin, GFZ Potsdam
8+
* Jose Bayona, University of Bristol
9+
* Marcus Hermann, University of Naples 'Frederico II'
10+
* Edric Pauk, Southern California Earthquake Center
11+
* Max Werner, University of Bristol
12+
* Danijel Schorlemmner, GFZ Potsdam
13+
* Philip Maechling, Southern California Earthquake Center
14+
15+
Thanks to everyone for all your contributions!

LICENSE renamed to LICENSE.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2020, The University of Southern California
1+
Copyright (c) 2021, The University of Southern California
22
All rights reserved.
33

44
Redistribution and use in source and binary forms, with or without

README.md

+74-97
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,85 @@
1-
# PyCSEP: Collaboratory for the Study of Earthquake Predictability
2-
3-
![](http://hypocenter.usc.edu/research/badges/CSEP2_Logo_CMYK.png)
4-
5-
![Python version](http://hypocenter.usc.edu/research/badges/pycsep-python.svg)
1+
# pyCSEP: Collaboratory for the Study of Earthquake Predictability
2+
![](https://i.postimg.cc/Bb60rVQP/CSEP2-Logo-CMYK.png)
3+
![Python version](https://gist.githubusercontent.com/wsavran/efce311162c32460336a4f9892218532/raw/1b9c060efd1c6e52eb53f82d4249107417d6a5ec/pycsep_python_badge.svg)
64
![Python application](https://github.com/SCECCode/csep2/workflows/Python%20application/badge.svg)
75
[![Build sphinx documentation](https://github.com/SCECCode/csep2/workflows/Build%20sphinx%20documentation/badge.svg)](https://cseptesting.org)
86
[![codecov](https://codecov.io/gh/SCECcode/pycsep/branch/master/graph/badge.svg?token=HTMKM29MAU)](https://codecov.io/gh/SCECcode/pycsep)
97

10-
The PyCSEP tools help earthquake forecast model developers evaluate their forecasts with the goal of understanding
8+
# Description:
9+
The pyCSEP Toolkit helps earthquake forecast model developers evaluate their forecasts with the goal of understanding
1110
earthquake predictability.
1211

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

20-
## Using Conda
21-
22-
The easiest way to install PyCSEP is using `conda`. It can also be installed using `pip` or built from source.
23-
If you plan on contributing to this package, visit the
24-
[contribution guidelines](https://github.com/SCECcode/pycsep/blob/master/CONTRIBUTING.md) for
25-
installation instructions. We recommend creating a `conda` environment for this installation, but this is not a required step.
26-
27-
conda create -n pycsep
28-
conda activate pycsep
29-
30-
Install `pycsep`
31-
32-
conda install --channel conda-forge pycsep
33-
34-
## Using Pip
35-
36-
Before this installation will work, you must **first** install the following system dependencies. The remaining dependencies
37-
should be installed by the installation script. To help manage dependency issues, we recommend using virtual environments
38-
like `virtualenv`.
39-
40-
Python 3.7 or later (https://python.org)
41-
42-
NumPy 1.10 or later (https://numpy.org)
43-
&nbsp;&nbsp;&nbsp;&nbsp;Python package for scientific computing and numerical calculations.
44-
45-
GEOS 3.3.3 or later (https://trac.osgeo.org/geos/)
46-
&nbsp;&nbsp;&nbsp;&nbsp;C++ library for processing geometry.
47-
48-
PROJ 4.9.0 or later (https://proj4.org/)
49-
&nbsp;&nbsp;&nbsp;&nbsp;Library for cartographic projections.
50-
51-
Example for Ubuntu:
52-
53-
sudo apt-get install libproj-dev proj-data proj-bin
54-
sudo apt-get install libgeos-dev
55-
pip install --upgrade pip
56-
pip install numpy
57-
58-
Example for MacOS:
59-
60-
brew install proj geos
61-
pip install --upgrade pip
62-
pip install numpy
63-
64-
### From Source
65-
66-
Use this approach if you want the most up-to-date code. This creates an editable installation that can be synced with
67-
the latest GitHub commit.
68-
69-
We recommend using virtual environments when installing python packages from source to avoid any dependency conflicts. We prefer
70-
`conda` as the package manager over `pip`, because `conda` does a good job of handling binary distributions of packages
71-
across multiple platforms. Also, we recommend using the `miniconda` installer, because it is lightweight and only includes
72-
necessary pacakages like `pip` and `zlib`.
73-
74-
#### Using Conda
75-
If you don't have `conda` on your machine, download and install [Miniconda](https://docs.conda.io/en/latest/miniconda.html).
76-
77-
git clone https://github.com/SCECcode/pycsep
78-
cd pycsep
79-
conda env create -f requirements.yml
80-
conda activate csep-dev
81-
# Installs in editor mode with all dependencies
82-
pip install -e .
83-
84-
Note: If you want to go back to your default environment use the command `conda deactivate`.
85-
86-
#### Using Pip / Virtualenv
87-
88-
We highly recommend using Conda, because this tools helps to manage binary dependencies on Python packages. If you
89-
must use [Virtualenv](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/)
90-
follow these instructions:
91-
92-
git clone https://github.com/SCECcode/pycsep
93-
cd pycsep
94-
python -m virtualenv venv
95-
source venv/bin/activate
96-
# Installs in editor mode with all dependencies
97-
pip install -e .[all]
98-
99-
Note: If you want to go back to your default environment use the command `deactivate`.
100-
101-
## Documentation and Changelog
102-
103-
The documentation can be found at [here](https://cseptesting.org), and the changelog can be found
104-
[here](https://github.com/SCECcode/pycsep/blob/master/CHANGELOG.txt).
105-
106-
## Releases
107-
108-
We follow [semver](https://semver.org/) for our versioning strategy.
19+
# Table of Contents:
20+
1. [Software Documentation](https://docs.cseptesting.org)
21+
2. [Installation](#installation)
22+
3. [Usage](#usage)
23+
4. [Contributing](#contributing)
24+
5. [Change Log](https://github.com/SCECcode/pycsep/blob/master/CHANGELOG.txt)
25+
6. [Credits](#credits)
26+
7. [License](#license)
27+
28+
# Installation:
29+
pyCSEP can be installed in several ways. It can be installed using conda or pip package managers or from the
30+
source code found in the pyCSEP github repo. Researchers interested in contributing to pyCSEP development should
31+
install pyCSEP from source code. pyCSEP depends on the following software packages.
32+
These which may be installed automatically, or manually, depending on the installation method used.
33+
* Python 3.7 or later (https://python.org)
34+
* NumPy 1.21.3 or later (https://numpy.org)
35+
* SciPy 1.7.1 or later (https://scipy.org)
36+
* pandas 1.3.4 or later (https://pandas.pydata.org)
37+
* cartopy 0.20.0 or later (https://scitools.org.uk/cartopy/docs/latest)
38+
* GEOS 3.7.2 or later (https://trac.osgeo.org/geos/)
39+
* PROJ 8.0.0 or later (https://proj.org/)
40+
41+
Please see the [requirements file](https://github.com/SCECcode/pycsep/blob/master/requirements.yml) for a complete list
42+
of requirements. These are installed automatically when using the `conda` distribution.
43+
44+
Detailed pyCSEP [installation instructions](https://docs.cseptesting.org/getting_started/installing.html) can be found
45+
in the online pyCSEP documentation.
46+
47+
# Usage:
48+
Once installed, pyCSEP methods can be invoked from python code by importing package csep. pyCSEP provides objects and
49+
utilities related to several key concepts:
50+
* Earthquake Catalogs
51+
* Earthquake Forecasts
52+
* Earthquake Forecast Evaluations
53+
* Regions
54+
55+
An simple example to download and plot an earthquake catalog from the USGS ComCat:
56+
<pre>
57+
import csep
58+
from csep.core import regions
59+
from csep.utils import time_utils
60+
start_time = time_utils.strptime_to_utc_datetime('2019-01-01 00:00:00.0')
61+
end_time = time_utils.utc_now_datetime()
62+
catalog = csep.query_comcat(start_time, end_time)
63+
catalog.plot()
64+
</pre>
65+
66+
Please see [pyCSEP Getting Started](https://docs.cseptesting.org/getting_started/core_concepts) documentation for more examples and tutorials.
67+
68+
# Software Support:
69+
Software support for pyCSEP is provided by that Southern California Earthquake Center (SCEC) Research Computing Group.
70+
This group supports several research software distributions including UCVM. Users can report issues and feature requests
71+
using the pyCSEP github-based issue tracking link below. Developers will also respond to emails sent to the SCEC software contact listed below.
72+
1. [pyCSEP Issues](https://github.com/SCECcode/pycep/issues)
73+
2. Email Contact: software [at] scec [dot] usc [dot] edu
74+
75+
# Contributing:
76+
We welcome contributions to the pyCSEP Toolkit. If you would like to contribute to this package, including software, tests, and documentation,
77+
please visit the [contribution guidelines](https://github.com/SCECcode/pycsep/blob/master/CONTRIBUTING.md) for guidelines on how to contribute to pyCSEP development.
78+
pyCSEP contributors agree to abide by the code of conduct found in our [Code of Conduct](CODE_OF_CONDUCT.md) guidelines.
79+
80+
# Credits:
81+
Development of pyCSEP is a group effort. A list of developers that have contributed to the PyCSEP Toolkit
82+
are listed in the [credits](CREDITS.md) file in this repository.
83+
84+
# License:
85+
The pyCSEP software is distributed under the BSD 3-Clause open-source license. Please see the [license](LICENSE.txt) file for more information.

codemeta.json

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
3+
"@type": "SoftwareSourceCode",
4+
"license": "https://spdx.org/licenses/BSD-3-Clause",
5+
"codeRepository": "https://github.com/sceccode/pycsep.git",
6+
"dateCreated": "2021-10-31",
7+
"datePublished": "2020-10-20",
8+
"dateModified": "2021-04-02",
9+
"downloadUrl": "https://github.com/sceccode/pycsep",
10+
"issueTracker": "https://github.com/sceccode/pycsep/issues",
11+
"name": "PyCSEP",
12+
"version": "0.4.0",
13+
"description": "The PyCSEP Toolkit helps earthquake forecast model developers evaluate their forecasts with the goal of understanding earthquake predictability.",
14+
"applicationCategory": "Seismology",
15+
"developmentStatus": "active",
16+
"funder": {
17+
"@type": "Organization",
18+
"name": "Southern California Earthquake Center"
19+
},
20+
"keywords": [
21+
"earthquake",
22+
"forecasting",
23+
"validation"
24+
],
25+
"programmingLanguage": [
26+
"Python 3"
27+
],
28+
"softwareRequirements": [
29+
"Python 3.7 or later (https://python.org)",
30+
"NumPy 1.10 or later (https://numpy.org)",
31+
"GEOS 3.3.3 or later (https://trac.osgeo.org/geos/)",
32+
"PROJ 4.9.0 or later (https://proj4.org/)"
33+
],
34+
"author": [
35+
{
36+
"@type": "Person",
37+
"givenName": "William",
38+
"familyName": "Savran",
39+
"email": "[email protected]",
40+
"affiliation": {
41+
"@type": "Organization",
42+
"name": "University of Southern California"
43+
}
44+
}
45+
]
46+
}

0 commit comments

Comments
 (0)