Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates install procedure #149

Merged
merged 14 commits into from
Jan 17, 2023
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.