Skip to content

Commit 9b8cb0c

Browse files
authored
Merge branch 'main' into main
2 parents dc7a2b7 + 5b3e00f commit 9b8cb0c

File tree

22 files changed

+4614
-103
lines changed

22 files changed

+4614
-103
lines changed

.github/workflows/build-test.yml

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
branches: [ main ]
99

1010
jobs:
11-
build:
11+
build-test:
1212
if: github.repository == 'cseptesting/floatcsep'
1313
runs-on: ${{ matrix.os }}
1414
strategy:
@@ -44,6 +44,12 @@ jobs:
4444
pip install -e .[dev]
4545
python -c "import floatcsep; print('Version: ', floatcsep.__version__)"
4646
47+
- name: Free disk
48+
run: |
49+
micromamba clean --all --yes
50+
rm -rf "$MAMBA_ROOT_PREFIX/pkgs" || true
51+
df -h
52+
4753
- name: Test with pytest
4854
run: |
4955
pytest --durations=0
@@ -53,4 +59,62 @@ jobs:
5359
uses: codecov/codecov-action@v3
5460
with:
5561
token: ${{ secrets.CODECOV_TOKEN }}
56-
fail_ci_if_error: false
62+
fail_ci_if_error: false
63+
64+
pip_smoke_linux:
65+
if: github.repository == 'cseptesting/floatcsep'
66+
runs-on: ubuntu-latest
67+
steps:
68+
- uses: actions/[email protected]
69+
70+
- name: Set up Python
71+
uses: actions/setup-python@v5
72+
with:
73+
python-version: "3.11"
74+
cache: pip
75+
76+
- name: Install system deps (WeasyPrint)
77+
run: |
78+
sudo apt-get update
79+
sudo apt-get install -y \
80+
libglib2.0-0 \
81+
libpango-1.0-0 \
82+
libpangoft2-1.0-0 \
83+
libharfbuzz0b \
84+
libharfbuzz-subset0
85+
86+
- name: Pip-only install (no tests)
87+
run: |
88+
python -m pip install --upgrade pip
89+
python -m pip install -e ".[dev]"
90+
python -c "import floatcsep; print('floatcsep OK:', floatcsep.__version__)"
91+
python -c "import weasyprint; print('WeasyPrint OK:', weasyprint.__version__)"
92+
floatcsep --help
93+
94+
95+
pip_smoke_macos:
96+
if: github.repository == 'cseptesting/floatcsep'
97+
runs-on: macos-latest
98+
steps:
99+
- uses: actions/[email protected]
100+
101+
- name: Set up Python
102+
uses: actions/setup-python@v5
103+
with:
104+
python-version: "3.11"
105+
cache: pip
106+
107+
- name: Install system deps (WeasyPrint)
108+
run: |
109+
brew update
110+
brew install cairo pango gdk-pixbuf libffi glib
111+
112+
- name: Pip-only install (no tests)
113+
env:
114+
DYLD_FALLBACK_LIBRARY_PATH: /opt/homebrew/lib:/usr/local/lib:${{ env.DYLD_FALLBACK_LIBRARY_PATH }}
115+
run: |
116+
python -m pip install --upgrade pip
117+
python -m pip install -e ".[dev]"
118+
python -c "import floatcsep; print('floatcsep OK:', floatcsep.__version__)"
119+
python -c "import weasyprint; print('WeasyPrint OK:', weasyprint.__version__)"
120+
floatcsep --help

.github/workflows/lockfile.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: lockfile
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
9+
jobs:
10+
lock:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Set up Python
17+
uses: actions/setup-python@v5
18+
with:
19+
python-version: "3.11"
20+
21+
- name: Install conda-lock
22+
run: |
23+
python -m pip install --upgrade pip
24+
pip install conda-lock
25+
26+
- name: Render linux lock
27+
run: |
28+
conda-lock render -p linux-64
29+
30+
- name: Set up micromamba
31+
uses: mamba-org/setup-micromamba@v1
32+
with:
33+
micromamba-version: "latest"
34+
35+
- name: Create env from lock and import floatcsep
36+
run: |
37+
micromamba create -y -n lockenv --file conda-linux-64.lock
38+
micromamba run -n lockenv python -c "import floatcsep; print('OK', floatcsep.__version__)"

CITATION.cff

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
cff-version: 1.2.0
2+
message: "If you use floatCSEP in your research, please cite the Zenodo release."
3+
title: "floatCSEP: An application to deploy and conduct reproducible, prospective earthquake forecasting experiments"
4+
type: software
5+
license: "BSD-3-Clause"
6+
7+
repository-code: "https://github.com/cseptesting/floatcsep"
8+
url: "https://floatcsep.readthedocs.io"
9+
10+
version: "0.3.0"
11+
doi: "10.5281/zenodo.15576250"
12+
publisher: "Zenodo"
13+
14+
authors:
15+
- family-names: "Iturrieta"
16+
given-names: "Pablo"
17+
orcid: "https://orcid.org/0000-0002-4787-1343"
18+
affiliation: "GFZ Helmholtz Centre for Geosciences, Potsdam, Germany"
19+
20+
- family-names: "Khawaja"
21+
given-names: "Asim M."
22+
orcid: "https://orcid.org/0000-0002-6196-4503"
23+
affiliation: "GFZ Helmholtz Centre for Geosciences, Potsdam, Germany"
24+
25+
- family-names: "Savran"
26+
given-names: "William H."
27+
orcid: "https://orcid.org/0000-0001-5404-0778"
28+
affiliation: "University of Nevada, Reno, United States"
29+
30+
- family-names: "Schorlemmer"
31+
given-names: "Danijel"
32+
orcid: "https://orcid.org/0000-0003-3969-1059"
33+
affiliation: "GFZ Helmholtz Centre for Geosciences, Potsdam, Germany; Swiss Seismological Service at ETH Zürich, Zürich, Switzerland"

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Please complete the following steps in advance to help us fix any potential bug
5454

5555
- Make sure that you are using the latest version (or a tag release).
5656
- Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the [documentation](https://floatcsep.readthedocs.io). If you are looking for support, you might want to check [this section](#i-have-a-question)).
57-
- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your bug or error in the [bug tracker](https://github.com/cseptesting/floatcsepissues?q=label%3Abug).
57+
- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your bug or error in the [bug tracker](https://github.com/cseptesting/floatcsep/issues?q=label%3Abug).
5858
- Collect information about the bug:
5959
- Stack trace (Traceback)
6060
- OS, Platform and Version (Windows, Linux, macOS, x86, ARM)

CREDITS.md

Lines changed: 70 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,70 @@
1-
Developer and scientific team:
2-
3-
* Pablo Iturrieta - Deutsches GeoForschungsZentrum (GFZ), Germany - [email protected]
4-
* William Savran - University of Nevada, USA
5-
* Asim Khawaja - GFZ, Germany
6-
* Toño Bayona - University of Bristol, United Kingdom
7-
* Danijel Schorlemmer - GFZ, Germany
8-
* Fabio Silva - Southern California Earthquake Center (SCEC), USA
9-
* Phil Maechling - SCEC, USA
10-
* Max Werner - University of Bristol, United Kingdom
1+
# Credits
2+
3+
This project is the result of a collaborative effort by the following developer and scientific team.
4+
Contributions include software development, scientific design, manuscript writing, testing, documentation, and project coordination.
5+
```floatCSEP``` is described in a manuscript submitted to Journal of Open-Science Software (https://joss.theoj.org/), whose authors were active collaborators at the time of submission.
6+
7+
We describe contributions using short free-text descriptions and, where appropriate, the CRediT contributor roles (https://credit.niso.org/).
8+
9+
## Developer and scientific team
10+
11+
- **Pablo Iturrieta** – GFZ Helmholtz Centre for Geosciences, Germany – [email protected]
12+
*Contributions:* [Conceptualization; Software (lead); Documentation; Methodology; Project administration; Formal Analysis; MS Writing – original draft]
13+
14+
- **William Savran** – University of Nevada, USA
15+
*Contributions:* [Conceptualization; Software; Methodology; Formal Analysis; Validation; MS Writing – review & editing]
16+
17+
- **Marcus Herrmann** – University of Naples, Italy
18+
*Contributions:* [Conceptualization; Software; Methodology; Documentation; Validation; MS Writing – review & editing]
19+
20+
- **Toño Bayona** – University of Bristol, United Kingdom
21+
*Contributions:* [Methodology; Formal analysis; Validation; MS Writing – review & editing]
22+
23+
- **Matt Gerstenberger** – Earth Sciences New Zealand
24+
*Contributions:* [Conceptualization; MS Writing – review & editing; Supervision]
25+
26+
- **Kenny Graham** – Earth Sciences New Zealand
27+
*Contributions:* [Software; Methodology; MS Writing – review & editing; ]
28+
29+
- **Phil Maechling** – Southern California Earthquake Center (SCEC), USA
30+
*Contributions:* [Conceptualization; Infrastructure; MS Writing – review & editing; Community coordination]
31+
32+
- **Warner Marzocchi** – University of Naples, Italy
33+
*Contributions:* [Conceptualization; Supervision; MS Writing – review & editing]
34+
35+
- **Leila Mizrahi** – ETH Zürich, Switzerland
36+
*Contributions:* [Software; Methodology; MS Writing – review & editing; ]
37+
38+
- **Danijel Schorlemmer** – GFZ, Germany
39+
*Contributions:* [Conceptualization; Supervision; Funding acquisition]
40+
41+
- **Francesco Serafini** – University of Bristol, United Kingdom v
42+
*Contributions:* [Conceptualization; Methodology; Validation; MS Writing - review & editing]
43+
44+
- **Fabio Silva** – SCEC, USA
45+
*Contributions:* [Validation; Infrastructure; Integration with SCEC systems]
46+
47+
- **Asim Khawaja** – GFZ, Germany
48+
*Contributions:* [Software; Methodology]
49+
50+
- **Max Werner** – University of Bristol, United Kingdom
51+
*Contributions:* [Conceptualization; Methodology; Formal Analysis; Supervision; MS Writing – review & editing; Community coordination; Funding Acquisition]
52+
53+
---
54+
55+
## Contribution roles (CRediT legend)
56+
57+
- **Conceptualization** – Ideas; formulation or evolution of overarching research goals and aims.
58+
- **Methodology** – Development or design of methods; creation of models or workflows.
59+
- **Software** – Programming, software development, implementation of code, or maintenance.
60+
- **Validation** – Verification of results, including code verification and benchmarking.
61+
- **Formal analysis** – Application of statistical, mathematical, or computational techniques.
62+
- **Data curation** – Management of data, such as assembling catalogs or input datasets.
63+
- **Writing – original draft** – Preparation of the initial manuscript or main documentation text.
64+
- **Writing – review & editing** – Critical review, commentary, and revision of text.
65+
- **Supervision** – Oversight and leadership responsibility, including mentoring.
66+
- **Project administration** – Coordination and management of the project.
67+
- **Funding acquisition** – Acquisition of financial support for the project.
68+
- **Infrastructure** – Setup and maintenance of computing environments and deployment.
69+
70+
---

README.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<img src="https://i.postimg.cc/6p5krRnB/float-CSEP-Logo-CMYK.png" width="320">
44

5-
**An application to deploy reproducible and prospective experiments of earthquake forecasting**
5+
**An application to deploy and conduct reproducible, prospective earthquake forecasting experiments**
66

77
<p left>
88

@@ -68,16 +68,21 @@ documentation for detailed instructions and additional installation methods.
6868

6969
# Run an Experiment
7070

71-
Using the command terminal, navigate to an example experiment in ``floatcsep/tutorials/`` and
71+
Using the command terminal, navigate to any tutorial experiment in ``floatcsep/tutorials/`` and
7272
type
7373

7474
```
7575
floatcsep run config.yml
7676
```
7777

7878
A runtime directory will be created in a `results` folder. The experiment results can be
79-
visualized in `results/report.md` or `results/report.pdf`. **Check out the experiment, models and tests definition in
80-
the tutorials**!
79+
visualized in `results/report.md`, `results/report.pdf` or in a dashboard with:
80+
81+
```
82+
floatcsep view config.yml
83+
```
84+
85+
**Check out the experiment, models and tests definition in the tutorials [documentation](https://floatcsep.readthedocs.io/en/latest/tutorials/case_a.html)** or in the configuration files for each case in ``floatcsep/tutorials/``.
8186

8287
# Important Links
8388

@@ -109,7 +114,13 @@ license. Please see
109114
the [license file](https://github.com/cseptesting/floatcsep/blob/main/LICENSE) for more
110115
information.
111116

112-
## Support
117+
## How to cite
118+
119+
If you use **floatCSEP** in your work, please cite it using the **“Cite this repository”** link on the right side of the GitHub page or with:
120+
121+
> Iturrieta, P., Khawaja, A. M., Savran, W. H., & Schorlemmer, D. (2025). floatCSEP: An application to deploy and conduct reproducible and prospective earthquake forecasting (Version 0.3.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.15576250
122+
123+
# Support
113124
114125
| <img src="https://i.postimg.cc/rFKQ0vRL/GFZ-Wortbildmarke-EN-Helmholtzdunkelblau-RGB.png" alt="GFZ logo" height="50"/> | <img src="https://i.postimg.cc/CLc5tQcZ/Geo-INQUIRE-logo.png" alt="GeoInquire logo" height="72"/> | <img src="https://i.postimg.cc/tC1LdjYf/scec.png" alt="SCEC logo" height="90"/> |
115126
|:----------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------:|

0 commit comments

Comments
 (0)