Skip to content

Commit

Permalink
Updates install procedure (#149)
Browse files Browse the repository at this point in the history
See #149
  • Loading branch information
bch0w authored Jan 17, 2023
1 parent e373702 commit 7b11273
Show file tree
Hide file tree
Showing 7 changed files with 72 additions and 47 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# SeisFlows Changelog

## v2.1.1

- Updates and simplifies install procedure using 'environment.yml' and
'pyproject.toml' files.
- Docs: Adds contributor's guide message to main docs page
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
SeisFlows
==========

[![Documentation Status](https://readthedocs.org/projects/seisflows/badge/?version=devel)](https://seisflows.readthedocs.io/en/devel/?badge=devel)
[![SCOPED](https://img.shields.io/endpoint?url=https://runkit.io/wangyinz/scoped/branches/master/adjTomo)](https://github.com/SeisSCOPED/container/pkgs/container/adjtomo)
[![Documentation Status](https://readthedocs.org/projects/seisflows/badge/?version=latest)](https://seisflows.readthedocs.io/en/latest/?badge=latest)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)

SeisFlows is an open-source, Python-based waveform inversion package that tackles the problems of full waveform inversion, seismic migration, and adjoint tomography.

Expand All @@ -23,12 +24,11 @@ References
----------
If you use this package in your own research, please cite the following papers:

- Bryant Chow, Yoshihiro Kaneko, Carl Tape, Ryan Modrak, John Townend, An automated workflow for adjoint tomography —waveform misfits and synthetic inversions for the North Island, New Zealand, Geophysical Journal International, Volume 223, Issue 3, December 2020, Pages 1461–1480, https://doi.org/10.1093/gji/ggaa381
- Bryant Chow, Yoshihiro Kaneko, Carl Tape, Ryan Modrak, John Townend, *An automated workflow for adjoint tomography —waveform misfits and synthetic inversions for the North Island, New Zealand*, Geophysical Journal International, Volume 223, Issue 3, December 2020, Pages 1461–1480, https://doi.org/10.1093/gji/ggaa381

- Ryan Modrak, Dmitry Borisov, Matthieu Lefebvre, Jeroen Tromp; SeisFlows—Flexible waveform inversion software, Computers & Geosciences, Volume 115, June 2018, Pages 88-95, https://doi.org/10.1016/j.cageo.2018.02.004
- Ryan Modrak, Dmitry Borisov, Matthieu Lefebvre, Jeroen Tromp; *SeisFlows—Flexible waveform inversion software*, Computers & Geosciences, Volume 115, June 2018, Pages 88-95, https://doi.org/10.1016/j.cageo.2018.02.004

The following paper can also be cited relative to this software:

- Ryan Modrak, Jeroen Tromp; Seismic waveform inversion best practices: regional, global and exploration test cases, Geophysical Journal International, Volume 206, Issue 3, 1 September 2016, Pages 1864–1889, https://doi.org/10.1093/gji/ggw202

- Ryan Modrak, Jeroen Tromp; *Seismic waveform inversion best practices: regional, global and exploration test cases*, Geophysical Journal International, Volume 206, Issue 3, 1 September 2016, Pages 1864–1889, https://doi.org/10.1093/gji/ggw202

25 changes: 8 additions & 17 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ Quickstart
`open a GitHub Issue! <https://github.com/adjtomo/seisflows/issues>`__
- Want to talk about SeisFlows?
`Check in on the discussions page. <https://github.com/orgs/adjtomo/discussions>`__
- Contributions are encouranged and welcome! Have a look at the
`adjTomo Contributor's Guide <https://pyatoa.readthedocs.io/en/latest/contributing.html>`__ to see how you can contribute (hosted on Pyatoa's docs).


---------------------------------

Expand All @@ -36,29 +39,17 @@ a Conda environment to not affect your root environment. The `devel` branch
houses the most up-to-date codebase.

.. note::

SeisFlows is installed using the Pip ``-e`` which enables development
mode, where source code changes are immediately acccessible to Python.
mode, where source code changes are immediately acccessible to Python (i.e.,
you do **not** need to re-install SeisFlows when updating source code).

.. code:: bash
conda create -n seisflows python=3.10
conda activate seisflows
git clone --branch devel https://github.com/adjtomo/seisflows.git
cd seisflows
conda install --file requirements.txt --channel conda-forge
pip install -e .
SeisFlows requires the waveform measurement capabilities of
`Pyatoa <https://github.com/adjtomo/pyatoa>`__, which currently must be
installed manually to the same Conda environment.

.. code:: bash
cd ..
git clone --branch devel https://github.com/adjtomo/pyatoa.git
cd pyatoa
conda install --file requirements.txt --channel conda-forge
pip install -e .
conda env create -f environment.yml
conda activate seisflows
---------------------------------

Expand Down
18 changes: 18 additions & 0 deletions environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: seisflows
channels:
- conda-forge
- defaults
dependencies:
- pip
- obspy
- cartopy
- pyyaml
# Pyatoa requirements, ensure they are installed via Conda
- pyasdf
- pillow
- pypdf2
# Install Pyatoa via Pip which will install adjTomo tools
- pip:
- git+https://github.com/adjtomo/pyatoa@devel
- -e .

34 changes: 34 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[build-system]
requires = ["setuptools>=61.0.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "seisflows"
version = "2.1.1"
description = "An automated workflow tool for full waveform inversion"
readme = "README.md"
requires-python = ">=3.7"
license = {file = "LICENSE"}
authors = [
{name = "adjTomo Dev Team"},
{email = "adjtomo@gmail.com"}
]
dependencies = [
"obspy",
"pyyaml",
"IPython",
"dill",
"pyatoa @ git+https://github.com/adjtomo/pyatoa@devel",
]

[project.optional-dependencies]
test = ["pytest"]
dev = ["pytest", "ipython", "ipdb"]

[project.urls]
homepage = "https://github.com/adjtomo/"
documentation = "https://seisflows.readthedocs.io"
repository = "https://github.com/adjtomo/seisflows"

[project.scripts]
seisflows = "seisflows.seisflows:main"
6 changes: 0 additions & 6 deletions requirements.txt

This file was deleted.

19 changes: 0 additions & 19 deletions setup.py

This file was deleted.

0 comments on commit 7b11273

Please sign in to comment.