-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* bugfix: pinning cartopy and proj dependency versions as this was causing some issue with proj versions on systems that did not already have proj * bugfixing manager.write not able to write windows and adjoint sources if config.save_to_ds is set to False. This is unintended because write() is called explicitely and should force write, whereas save_to_ds is used to stop passive writing during the processing phase. Also threw in a check for ASDFDataSets opened in read-only during write() which would throw an error * bugfix changing a print statement in read_sem to a logger warning * removed pyaflowa from core objects, removed its tests and docs pages/references. Pyaflowa functionality has been completely shifted to SeisFlows * moved docs up to highest level directory to remove it from main dir and to match seisflows structure changed docs conf to point to the correct location updated changelog with most recent changes * Update README.md * udpating readthedocs.yaml to point to new docs location in package * pinning SciPy<=1.8.0 because SciPy==1.9.0 causes 'ValueErro: Unknown window type' because they changed name 'Hanning' -> 'Hann' causing errors in ObsPy * fixing setup procedure to avoid installing unnecessary requirements via pip * unpinning lowest scipy version due to Conda UnsatisfiedError package dependency conflicts during requirements installation * bugfixing time offset and waveform misfit naming * critical bug fix with filtering behavior for highpass and lowpass flipped from expected behavior. i.e., setting only min period used to set a highpass which is NOT what we want. This has been fixed * Remove external data gathering and I/O routines from Pyatoa (#23) * stripped away all moment tensor related functionality from the gatherer and plugins * further removed moment tensor related functionality and moved into pysep * stripped out I/O read and write functions related to SPECFEM which were redundant with respect to PySEP. replaced internal import statements with imports to pysep * stripped out all references to FDSN client in Pyatoa and all gathering that queried FDSN. This functionality will be shifted into PySEP * Removed now defunct docs related to gathering, updated changelog to reflect major changes made in this branch, removed failing tests that relied on removed functionality * update readme to remove reference of data fetchign * fixed missing comma in setup file * Update docs and install (#28) * removed setup.py and .cfg, implemented new pyproject.toml file replacing setup.py. pointed readthedocs to only requirements.txt file in docs directory. removed changelog in preference to set changelog in docs page * removed requirements.txt file * fixed missing suffixes in git dependencies of pyproject.toml file * docs added readme, moved notebooks into own directory, updated convert script. updating docs wording * updated overview page (slimmed down considerably) and bumped version number in conf * setting default filter periods to None and removing float requirement on input * pyflex requires a min period so setting to 1-100 rather than previous 10-30 * moved unused plot scripts out of repo (into simutil), removed unnecessary mgmt plot and moved into manager.plot() function * updated docs environment and main environment * update readme to match seisflows readme * removed manager and config notebooks and converted to a direct rst document added first glance to replace getting started * throws in a '*' on synthetic data gathering to deal with specfem3d_globe synthetics which suffix with 'ascii' * added data discovery rst doc page which is meant to replace the gatherer notebook and page * removed gatherer notebook and rst page * renames storage notebook * manually edited inspector rst doc file to be shorter and remove the notebook dependence. figures will be moved into the gallery * changed core_func name to misfit, for misfit quantifictaion * removed inspector notebook in favor of hand edited inspector doc page * updated naming standards page * cleaned out the scripts directory which had a lot of scripts that were unfinished or not used. ones that were important were moved into docs * bugfix inspector raypath plot checking incorrect logic * fixed bugfix * removed old image files from notebooks that are no longer required added an inspector gallery notebook and added rst to gallery page further cleaned up script repository added a load example inspector script * removed logging docs page and notebook, moved a short section into the misfit docs page * manually edited the storage rst file to be more concise and to move away from the notebook configuration. * removed storage notebook in favor of new .rst storage file * added outputs to code cells in inspector doc where relevant, changed ASDFDataSet example reading function to read only to not affect test data * added inspector figure text into gallery and removed text from inspector rst file * removing warnings from insp_gallery * renamed insp gallery notebook to avoid conversion deleting the manually edited version * condensed changelog to remove 0.3.0 changelog since we haven't even bumped to 0.2.0 removed make figures scripts directory * added github relevant files including different issue templates added contributing page modfieid from Pygmt * editing contributing document added cross-referencing into the misfit docs page * fixing typos misfit doc page * added cross-referencing to the storage docs page * finished adding cross-referencing into all docs pages of relevance * removed unnused 'read_seisflows_yaml' from Config class * major config and preprocessing reworking to allow for data-data misfit: removed unnused parameters 'start_pad', 'end_pad' from config, as well as filter corners removed seisflows_yaml and _par reading functionality from config, not necessary preprocess function now written more generally, does not take manager as input but rather takes stream and a few other arguments. manager preprocessing function changed to match * finished updating preprocessing function cleaned up logging statements, shortened and exchanged some 'info' for 'debug' statments * working data data example with some TA array data * renamed some files, cleaned up some docs text * last minute doc fixes * update changelog * fix tests which changed due to a change in default config parameters, removed some ununused test data, upated baseline images * bumping version number 0.2.0 for soft release Co-authored-by: Bryant Chow <[email protected]>
- Loading branch information
Showing
187 changed files
with
4,770 additions
and
52,947 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
name: Bug report | ||
description: Report a problem/bug to help us improve | ||
labels: bug | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
Thanks for taking the time to fill out this bug report! | ||
- type: textarea | ||
attributes: | ||
label: "Description of the problem" | ||
description: | | ||
Please be as detailed as you can when describing an issue. | ||
The more information we have, the easier it will be for us to track this down. | ||
validations: | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: "Minimal Complete Verifiable Example" | ||
description: | | ||
So that we can understand and fix the issue quickly and efficiently, please provide | ||
a minimal, self-contained copy-pastable example that demonstrates the issue. | ||
For more details, check out: | ||
- [Minimal Complete Verifiable Examples](https://stackoverflow.com/help/mcve) | ||
- [Craft Minimal Bug Reports](http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) | ||
placeholder: "PASTE CODE HERE" | ||
render: python | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: "Full error message" | ||
description: "What was the error message you got?" | ||
placeholder: "PASTE ERROR MESSAGE HERE" | ||
render: python-traceback | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: "System information" | ||
description: | | ||
Please paste the output of `python -c "import pygmt; pygmt.show_versions()"` | ||
If this command is not successful, please describe your operating system, how you installed PyGMT, how you installed GMT, and paste the full error message. | ||
placeholder: "PASTE THE OUTPUT HERE" | ||
render: bash | ||
validations: | ||
required: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
name: Bump GMT version checklist | ||
about: Checklist for bumping the minimum required GMT version. | ||
title: Bump to GMT X.Y.Z | ||
labels: maintenance | ||
assignees: '' | ||
|
||
--- | ||
|
||
:tada: [GMT X.Y.Z](https://github.com/GenericMappingTools/gmt/releases/tag/X.Y.Z) has been released! It is installable from the | ||
[conda-forge channel](https://anaconda.org/conda-forge/gmt/files) using the following command: | ||
|
||
`conda install -c conda-forge gmt=X.Y.Z` | ||
|
||
<!-- Please add specific checklist items for the tests, xfail pytest markers, and deprecated syntax that need to be updated. --> | ||
|
||
**To-Do for bumping the GMT version in CI**: | ||
|
||
- [ ] Bump the GMT version in CI (1 PR) | ||
- [ ] Update `.github/workflows/cache_data.yaml` | ||
- [ ] Update `.github/workflows/ci_docs.yml` | ||
- [ ] Update `.github/workflows/ci_tests.yaml` | ||
- [ ] Update `ci/requirements/docs.yml` | ||
- [ ] Update `environment.yml` | ||
- [ ] Fix failing tests (1 or more PRs) | ||
- [ ] Fix [xfail](https://docs.pytest.org/en/stable/skipping.html#xfail-mark-test-functions-as-expected-to-fail) pytest markers on tests that are now xpass | ||
|
||
**To-Do for bumping the minimum required GMT version**: | ||
|
||
- [ ] Bump the minimum required GMT version (1 PR) | ||
- [ ] Update `doc/install.rst` | ||
- [ ] Update `required_version` in `pygmt/clib/session.py` | ||
- [ ] Update `test_get_default` in `pygmt/tests/test_clib.py` | ||
- [ ] Update compatibility table in `README.rst` | ||
- [ ] Remove [xfail](https://docs.pytest.org/en/stable/skipping.html#xfail-mark-test-functions-as-expected-to-fail) pytest markers on tests that are now xpass | ||
- [ ] Update deprecated syntax in source code and examples based on the [GMT Changelog](https://docs.generic-mapping-tools.org/latest/changes.html) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
blank_issues_enabled: true | ||
contact_links: | ||
- name: Pyatoa | ||
url: https://github.com/adjtomo/discussions | ||
about: Please ask questions here or find answers to common problems. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: Feature request - General feature | ||
description: Request the addition of a new feature/functionality | ||
labels: ["feature request"] | ||
body: | ||
- type: textarea | ||
attributes: | ||
label: "Description of the desired feature" | ||
description: | | ||
Please be as detailed as you can in your description. | ||
If possible, include an example of how you would like to use this feature (even better if it's a code example). | ||
- type: dropdown | ||
id: help | ||
attributes: | ||
label: Are you willing to help implement and maintain this feature? | ||
description: | | ||
Every feature we add is code that we will have to maintain and keep updated. This takes a lot of effort. | ||
If you are willing to be involved in the project and help maintain your feature, it will make it easier for us to accept it. | ||
options: | ||
- "No" | ||
- "Yes" | ||
- "Maybe" | ||
validations: | ||
required: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Feature request - Wrap a new GMT module | ||
description: Request PyGMT wrapper for a GMT module | ||
title: "Wrapper for <module-name>" | ||
labels: ["feature request"] | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
Please replace `<module-name>` in the issue title and the description with the name of the requested module and add the description of the module. | ||
- type: textarea | ||
id: which-module | ||
attributes: | ||
label: Description of the desired module | ||
description: Please be as detailed as you can in your description. If possible, include an example of how you would like to use this feature (even better if it's a code example). | ||
placeholder: Implement [`<module-name>`](https://docs.generic-mapping-tools.org/latest/<module-name>.html) which `<insert description of the GMT module>`. | ||
validations: | ||
required: true | ||
- type: dropdown | ||
id: help | ||
attributes: | ||
label: Are you willing to help implement and maintain this feature? | ||
description: | | ||
Every feature we add is code that we will have to maintain and keep updated. This takes a lot of effort. | ||
If you are willing to be involved in the project and help maintain your feature, it will make it easier for us to accept it. | ||
options: | ||
- "No" | ||
- "Yes" | ||
- "Maybe" | ||
validations: | ||
required: true | ||
- type: markdown | ||
attributes: | ||
value: | | ||
Progress on wrapping the module will be tracked in the [project board](https://github.com/GenericMappingTools/pygmt/projects/9). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
--- | ||
name: PyGMT release checklist | ||
about: Checklist for a new PyGMT release. | ||
title: Release PyGMT vX.Y.Z | ||
labels: maintenance | ||
assignees: '' | ||
|
||
--- | ||
|
||
**Release**: [v0.x.x](https://github.com/GenericMappingTools/pygmt/milestones/?) | ||
**Scheduled Date**: YYYY/MM/DD | ||
**Pull request due date**: YYYY/MM/DD | ||
|
||
**Priority PRs/issues to complete prior to release** | ||
- [ ] Wrap X () | ||
- [ ] Wrap Y () | ||
|
||
**Before release**: | ||
- [ ] Run `grep --include="*.py" -r 'remove_version="vX.Y.Z"' pygmt` from the base of the repository to check if any deprecations and related tests should be removed in this version | ||
- [ ] Reserve a DOI on [Zenodo](https://zenodo.org) by clicking on "New Version" | ||
- [ ] Finish up 'Changelog entry for v0.x.x' Pull Request: | ||
- [ ] Add a new entry in `doc/_static/version_switch.js` for documentation switcher | ||
- [ ] Update `CITATION.cff` and BibTeX at https://github.com/GenericMappingTools/pygmt#citing-pygmt | ||
- [ ] Update authorship list | ||
- [ ] Update DOI (and url for BibTeX) | ||
- [ ] Update version | ||
- [ ] Update date released | ||
- [ ] Add the documentation link https://github.com/GenericMappingTools/pygmt#compatibility-with-gmtpythonnumpy-versions | ||
- [ ] Add compatibility information https://github.com/GenericMappingTools/pygmt#compatibility-with-gmtpythonnumpy-versions | ||
- [ ] Copy draft changelog from Release Drafter and edit it to look nice ([see maintainers guide for details](https://www.pygmt.org/dev/maintenance.html#updating-the-changelog)) | ||
|
||
**Release**: | ||
- [ ] At the [PyGMT release page on GitHub](https://github.com/GenericMappingTools/pygmt/releases): | ||
- [ ] Edit the draft release notes with the finalized changelog | ||
- [ ] Set the tag version and release title to vX.Y.Z | ||
- [ ] Make a release by clicking the 'Publish Release' button, this will automatically create a tag too | ||
- [ ] Manually upload the pygmt-vX.Y.Z.zip and baseline-images.zip files to https://zenodo.org/deposit, ensure that it is filed under the correct reserved DOI | ||
|
||
**After release**: | ||
- [ ] Update conda-forge [pygmt-feedstock](https://github.com/conda-forge/pygmt-feedstock) [Done automatically by conda-forge's bot, but remember to pin NEP29 versions] | ||
- [ ] Bump PyGMT version on https://github.com/GenericMappingTools/try-gmt (after conda-forge update) | ||
- [ ] Announce the release on: | ||
- [ ] GMT [forum](https://forum.generic-mapping-tools.org/c/news/) (do this announcement first! draft on https://hackmd.io/@pygmt. requires moderator status) | ||
- [ ] [ResearchGate](https://www.researchgate.net/project/PyGMT-A-Python-interface-for-the-Generic-Mapping-Tools) (after forum announcement) | ||
- [ ] [Twitter](https://twitter.com/gmt_dev) (after forum announcement) | ||
--- | ||
|
||
- [ ] Party :tada: (don't tick before all other checkboxes are ticked!) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,33 @@ | ||
## Python's Adjoint Tomography Operations Assistant | ||
# Python's Adjoint Tomography Operations Assistant | ||
|
||
[![SCOPED](https://img.shields.io/endpoint?url=https://runkit.io/wangyinz/scoped/branches/master/adjTomo)](https://github.com/SeisSCOPED/container/pkgs/container/adjtomo) | ||
[![Join the chat at https://gitter.im/pyatoa/community](https://badges.gitter.im/pyatoa/community.svg)](https://gitter.im/pyatoa/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) | ||
[![SCOPED](https://img.shields.io/endpoint?url=https://runkit.io/wangyinz/scoped/branches/master/Pyatoa)](https://github.com/SeisSCOPED/container/pkgs/container/pyatoa) | ||
[![Documentation Status](https://readthedocs.org/projects/pyatoa/badge/?version=latest)](https://pyatoa.readthedocs.io/en/latest/?badge=latest) | ||
|
||
### Misfit assessment for the modern tomographer | ||
## Misfit assessment for the modern tomographer | ||
<p align="center"> | ||
<img src="docs/images/pyatoa_logo_w_text.png" /> | ||
</p> | ||
|
||
**Pyatoa**\* is a waveform-based misfit quantification package, with additional | ||
tools for measurement aggregation, and visualizations of inversion results. | ||
It is meant to facilitate the execution and assessment of seismic waveform | ||
inversion. | ||
--- | ||
`Documentation` can be found on Read the Docs: https://pyatoa.readthedocs.io | ||
|
||
--- | ||
<p align="center"> | ||
<img src="pyatoa/docs/images/pyatoa_logo_w_text.png" /> | ||
</p> | ||
- Documentation, including install instructions, example problems and API, can | ||
be found on [Read the Docs](https://pyatoa.readthedocs.io). | ||
|
||
- Pyatoa is under current active development, and is bundled with other | ||
inversion software under the [adjTomo organization](https://github.com/adjtomo). | ||
|
||
**Pyatoa**\* is a waveform-based misfit quantification package, with additional tools for measurement aggregation, and visualizations of inversion results. It is meant to facilitate the assessment of seismic inversions. Under the hood, **Pyatoa** is built on, and provides a high-level interface for a few key Python packages: | ||
- If you find any issues, have questions, or would like to join the community, | ||
please feel free to open up a [GitHub Issue](https://github.com/adjtomo/pyatoa/issues) or [start a discussion](https://github.com/orgs/adjtomo/discussions). | ||
|
||
**[ObsPy:](https://github.com/obspy/obspy/wiki)** for seismic data handling, processing and organization | ||
**[Pyflex:](https://krischer.github.io/pyflex/)** a Python port of Flexwin, for automatic time window selection | ||
**[Pyadjoint:](http://krischer.github.io/pyadjoint/)** evaluating misfit functions and creating adjoint sources | ||
**[PyASDF:](https://seismicdata.github.io/pyasdf/)** heirarchical, self-describing storage of seismic data | ||
**[Pandas:](https://pandas.pydata.org/)** large-scale aggregation and manipulation of measurement information | ||
--- | ||
|
||
**Pyatoa** can be used in scripting, interactive Python environments, or written into larger workflow tools. Although applicable in a standalone maner, Pyatoa is designed to be used in conjunction with [SeisFlows](https://github.com/adjtomo/seisflows), an automated workflow for seismic inversions, and [SPECFEM](https://github.com/specfem), numerical solvers for seismic wave propogation. | ||
|
||
The design philosophy of **Pyatoa** is easy-to-use custom-built objects that make tomography research flexible, rapid, and repeatable. | ||
The design philosophy of **Pyatoa** is easy-to-use interface that | ||
make tomography research approachable, flexible, and repeatable. | ||
|
||
<sub> \**pronounced Py-uh-toe-uh (ˈpaɪəˈtoʊə), inspired by the famed volcano Krakatoa* </sub> | ||
|
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# Pyatoa Documentation | ||
|
||
The Pyatoa documentation is built with Sphinx and ReadTheDocs. The official | ||
documentation can be found at https://pyatoa.readthedocs.io. | ||
|
||
Docs building is automatically triggered when updates are pushed to Pyatoa. | ||
Each branch of the code may have a different documentation. The 'latest' | ||
version of the docs points to the 'devel' branch of the code. | ||
|
||
## Building Docs Locally | ||
|
||
In order to build the Docs locally, you will first need to create a separate | ||
Conda environment with a few packages, you can do this by running: | ||
|
||
``` bash | ||
conda env create --file environment.yaml | ||
conda activate pyatoa-docs | ||
``` | ||
|
||
You can then run the make command to generate the .html files. You can find your | ||
local docs in the *_build/html* directory | ||
|
||
```bash | ||
make html | ||
``` | ||
|
||
## Docs from Jupyter Notebooks | ||
|
||
Some docs pages are generated from Jupyter notebooks. Typically, these are docs | ||
which execute actual code blocks and display their output | ||
(e.g., tutorial walkthroughs). | ||
|
||
The corresponding .rst page are then converted from the Jupyter notebooks using | ||
a Python script. The *notebooks/* directory contains docs pages that are | ||
generated in this way. To generate a .rst file from a Jupyter notebook | ||
|
||
```bash | ||
cd notebooks/ | ||
python convert.py <FILENAME> # replace filename with any of the available .ipynb files | ||
``` | ||
|
||
This automatically deletes the current .rst file and replaces it with the newly generated | ||
file, converted from the notebook. Additional functions in the convert script | ||
will edit some of the rst commands to make the resulting docs page look a bit | ||
cleaner. | ||
|
||
> __NOTE:__ The notebook is **not** executed with the convert script, it only | ||
> takes the current state of the notebook and converts it to RST. If you want | ||
> to edit cell inputs or outputs you will need to install Pyatoa to the Conda | ||
> environment and execute the notebook on your own. |
File renamed without changes.
Oops, something went wrong.