velocityconversion
Python implementation of mantle velocity conversion by Goes et al. (2000).
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 9 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.8%) to scientific vocabulary
Keywords
Repository
Python implementation of mantle velocity conversion by Goes et al. (2000).
Basic Info
- Host: GitHub
- Owner: cmeessen
- License: gpl-3.0
- Language: Python
- Default Branch: master
- Homepage: https://cmeessen.github.io/VelocityConversion/
- Size: 7.93 MB
Statistics
- Stars: 6
- Watchers: 2
- Forks: 9
- Open Issues: 4
- Releases: 4
Topics
Metadata Files
README.md
VelocityConversion
Introduction
This code is a python implementation of the p- and s-wave velocity to density conversion approach after Goes et al. (2000). The implementation was optimised for regular 3D grids using lookup tables instead of Newton iterations.
Goes et al. (2000) regard the expansion coefficient as temperature dependent
using the relation by Saxena and Shen (1992). In VelocityConversion, the user
can additionally choose between a constant expansion coefficient or a pressure-
and temperature dependent coefficient that was derived from Hacker and Abers
(2004).
For detailed information on the physics behind the approach have a look at the original paper by Goes et al. (2000).
Getting started
VelocityConversion requires Python 3 and numpy. Install numpy and
VelocityConversion by running
bash
pip install numpy velocityconversion
To uninstall VelocityConversion, run
bash
pip uninstall velocityconversion
Use the latest version not on PyPI
If you want to use the very latest version, or want to contribute, clone the repository to you local hard drive:
bash
git clone https://github.com/cmeessen/VelocityConversion.git
or, if you haven an SSH key associated to your account:
bash
git clone git@github.com:cmeessen/VelocityConversion.git
To check whether everything is working run the tests
bash
python test.py
If the output looks like this, everything is working fine:
``` testvpAlphaConst (main.TestVelocityConversion) ... ok testvsAlphaConst (main.TestVelocityConversion) ... ok testvsAlphaPT (main.TestVelocityConversion) ... ok testvsAlphaT (main.TestVelocityConversion) ... ok
Ran 4 tests in 1.633s
OK ```
Usage as command line tool
In order to use the code as command line tool, add the ./Examples directory
to your PATH, e.g. in your bash profile:
bash
export PATH=/path/to/VelocityConversion/Examples:$PATH
Alternatively you can move the bash script
VelocityConversion to a place that is within
your PATH. Now the bash script VelocityConversion can be executed:
``` VelocityConversion
Usage: VelocityConversion FileIn -type
[optional args]
Optional arguments:
-AlphaT
-AlphaPT
-dT
The steps to prepare a conversion are
- definition of mantle rock composition in a
*.csvfile using the mineral terminology of MinDB.csv - provide a velocity distribution on a regular 3D grid where columns are
x y z v - run
VelocityConversionspecifying the velocity type with-type Por-type S
Working examples for the usage as command line tool are provided in the script RunExamples.sh.
Usage as a Python module
VelocityConversion can also be imported as a Python module. Therefore, navigate to the folder that contains your clone of the repository (and setup.py) and execute
bash
pip install -e .
Now, the module can be imported to Python:
python
from VelocityConversion import MantleConversion
MC = MantleConversion()
A short working example for a conversion is:
python
from VelocityConversion import MantleConversion
MC = MantleConversion()
MC.LoadFile("./Examples/VsSL2013.dat")
MC.SetVelType("S")
MC.DefaultMineralogy()
MC.FillTables()
MC.CalcPT()
MC.SaveFile("./Examples/VsSL2013_out.dat")
For a more complete documentation on how to use VelocityConversion as a Python
module please visit the
documentation.
Modifying physical properties of the minerals
The database that contains the physical properties of the individual mineral
phases is stored in MinDB.csv.
Mineral parameters can be edited, or new minerals added. A new mineral phase
should then be referred to in the code or the assemblage file using the name
that was assigned in the phase column of MinDB.csv.
Contributing
Please see CONTRIBUTING.md if you want to contribute to
VelocityConversion.
Citing
If you use this code, please consider citing it as
Meeßen, Christian (2019): "VelocityConversion (v1.1.2)". Zenodo, http://doi.org/10.5281/zenodo.5897455.
or refer to CITATION.cff.
References
Berckhemer, H., W. Kampfmann, E. Aulbach, and H. Schmeling. “Shear Modulus and Q of Forsterite and Dunite near Partial Melting from Forced-Oscillation Experiments.” Physics of the Earth and Planetary Interiors, Special Issue Properties of Materials at High Pressures and High Temperatures, 29, no. 1 (July 1, 1982): 30–41. doi:10.1016/0031-9201(82)90135-2.
Goes, S., R. Govers, and P. Vacher. “Shallow Mantle Temperatures under Europe from P and S Wave Tomography.” Journal of Geophysical Research 105, no. 11 (2000): 153–11. doi:10.1029/1999jb900300.
Hacker, Bradley R., and Geoffrey A. Abers. “Subduction Factory 3: An Excel Worksheet and Macro for Calculating the Densities, Seismic Wave Speeds, and H2O Contents of Minerals and Rocks at Pressure and Temperature.” Geochemistry, Geophysics, Geosystems 5, no. 1 (January 1, 2004): Q01005. doi:10.1029/2003GC000614.
Kennett, B. L. N., E. R. Engdahl, and R. Buland. “Constraints on Seismic Velocities in the Earth from Traveltimes.” Geophysical Journal International 122, no. 1 (July 1, 1995): 108–24. doi:10.1111/j.1365-246X.1995.tb03540.x.
Saxena, Surendra K., and Guoyin Shen. “Assessed Data on Heat Capacity, Thermal Expansion, and Compressibility for Some Oxides and Silicates.” Journal of Geophysical Research: Solid Earth 97, no. B13 (Dezember 1992): 19813–25. doi:10.1029/92JB01555.
Schaeffer, A. J., and S. Lebedev. “Global Shear Speed Structure of the Upper Mantle and Transition Zone.” Geophysical Journal International 194, no. 1 (July 1, 2013): 417–49. doi:10.1093/gji/ggt095.
Sobolev, Stephan V., Hermann Zeyen, Gerald Stoll, Friederike Werling, Rainer Altherr, and Karl Fuchs. “Upper Mantle Temperatures from Teleseismic Tomography of French Massif Central Including Effects of Composition, Mineral Reactions, Anharmonicity, Anelasticity and Partial Melt.” Earth and Planetary Science Letters 139, no. 1–2 (März 1996): 147–63. doi:10.1016/0012-821X(95)00238-8.
Licence
Licence: GNU General Public Licence, Version 3, 29 June 2007
Copyright (2017): Christian Meeßen, Potsdam, Germany
VelocityConversion is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. VelocityConversion is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a cop y of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Owner
- Name: Christian Meeßen
- Login: cmeessen
- Kind: user
- Location: Germany
- Company: GFZ Potsdam
- Repositories: 19
- Profile: https://github.com/cmeessen
Citation (CITATION.cff)
cff-version: 1.2.0
title: VelocityConversion
message: 'If you use this code, please consider citing it as'
type: software
authors:
- given-names: Christian
family-names: Meeßen
email: christian.meessen@gfz-potsdam.de
affiliation: GFZ Potsdam
orcid: 'https://orcid.org/0000-0001-8151-8722'
identifiers:
- type: doi
value: 10.5281/zenodo.5897455
repository-code: 'https://github.com/cmeessen/VelocityConversion'
license: GPL-3.0-only
version: v1.1.2
date-released: '2022-01-24'
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Christian Meeßen | 1****n | 95 |
| Christian Meeßen | c****e@g****e | 4 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 3
- Total pull requests: 12
- Average time to close issues: 8 days
- Average time to close pull requests: 3 months
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 0.67
- Average comments per pull request: 0.5
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 10
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- ad1995-geek (2)
- cmeessen (1)
Pull Request Authors
- dependabot[bot] (10)
- cmeessen (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 9 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 1
- Total maintainers: 1
pypi.org: velocityconversion
Conversion of seismic velocities to temperature and density
- Homepage: https://github.com/cmeessen/VelocityConversion
- Documentation: https://velocityconversion.readthedocs.io/
- License: GNU General Public License v3 (GPLv3)
-
Latest release: 1.1.2
published about 4 years ago
Rankings
Maintainers (1)
Dependencies
- coverage * develop
- doc8 * develop
- flake8 * develop
- ipython * develop
- m2r2 * develop
- matplotlib * develop
- pep8 * develop
- pycodestyle * develop
- pydocstyle * develop
- sphinx * develop
- sphinx-rtd-theme * develop
- numpy *
- alabaster ==0.7.12 develop
- asttokens ==2.0.5 develop
- babel ==2.9.1 develop
- backcall ==0.2.0 develop
- black ==21.12b0 develop
- certifi ==2021.10.8 develop
- charset-normalizer ==2.0.10 develop
- click ==8.0.3 develop
- coverage ==6.2 develop
- cycler ==0.11.0 develop
- decorator ==5.1.1 develop
- doc8 ==0.10.1 develop
- docutils ==0.17.1 develop
- executing ==0.8.2 develop
- flake8 ==4.0.1 develop
- fonttools ==4.28.5 develop
- idna ==3.3 develop
- imagesize ==1.3.0 develop
- importlib-metadata ==4.10.1 develop
- ipython ==8.0.1 develop
- jedi ==0.18.1 develop
- jinja2 ==3.0.3 develop
- kiwisolver ==1.3.2 develop
- m2r2 ==0.3.2 develop
- markupsafe ==2.0.1 develop
- matplotlib ==3.5.1 develop
- matplotlib-inline ==0.1.3 develop
- mccabe ==0.6.1 develop
- mistune ==0.8.4 develop
- mypy-extensions ==0.4.3 develop
- numpy ==1.22.1 develop
- packaging ==21.3 develop
- parso ==0.8.3 develop
- pathspec ==0.9.0 develop
- pbr ==5.8.0 develop
- pep8 ==1.7.1 develop
- pexpect ==4.8.0 develop
- pickleshare ==0.7.5 develop
- pillow ==9.0.0 develop
- platformdirs ==2.4.1 develop
- prompt-toolkit ==3.0.24 develop
- ptyprocess ==0.7.0 develop
- pure-eval ==0.2.2 develop
- pycodestyle ==2.8.0 develop
- pydocstyle ==6.1.1 develop
- pyflakes ==2.4.0 develop
- pygments ==2.11.2 develop
- pyparsing ==3.0.7 develop
- python-dateutil ==2.8.2 develop
- pytz ==2021.3 develop
- requests ==2.27.1 develop
- restructuredtext-lint ==1.3.2 develop
- setuptools ==60.5.0 develop
- six ==1.16.0 develop
- snowballstemmer ==2.2.0 develop
- sphinx ==4.4.0 develop
- sphinx-rtd-theme ==1.0.0 develop
- sphinxcontrib-applehelp ==1.0.2 develop
- sphinxcontrib-devhelp ==1.0.2 develop
- sphinxcontrib-htmlhelp ==2.0.0 develop
- sphinxcontrib-jsmath ==1.0.1 develop
- sphinxcontrib-qthelp ==1.0.3 develop
- sphinxcontrib-serializinghtml ==1.1.5 develop
- stack-data ==0.1.4 develop
- stevedore ==3.5.0 develop
- tomli ==1.2.3 develop
- traitlets ==5.1.1 develop
- typing-extensions ==4.0.1 develop
- urllib3 ==1.26.8 develop
- wcwidth ==0.2.5 develop
- zipp ==3.7.0 develop
- numpy ==1.22.1