Welcome to gMeterPy’s documentation!¶
gMeterPy¶
Gravity (small g) measurement data processing framework written in Python.
The goal of the gMeterPy is to create an open source software to process raw data from all types of gravimeters.
The project is in the early planning and development stage.
About¶
gMeterPy is an open source and free Python library for processing measurement data from gravimeters, which are used for gravity field surveys in geodesy, geophysics and other branches of Earth and planetary sciences. The main intention is to go as deep as possible in processing raw data from scratch, as well as to support all types of instruments, corrections, common file formats and processing procedures.
Install¶
You will need Python 3.5 or greater.
To install gMeterPy
simply use pip
as usual:
pip install https://github.com/opengrav/gmeterpy/archive/master.zip
Or clone the git repository locally and run:
git clone https://github.com/opengrav/gmeterpy.git
cd gmeterpy
pip install .
Contributing¶
There are many ways you can contribute! Please read CONTRIBUTING.rst to see how you can help and give feedback.
Please note also that gMeterPy is released with a Code of Conduct (see CODE_OF_CONDUCT.md). By participating in this project you agree that you will follow all its terms.
License¶
This project is licensed under the MIT license. Please see LICENSE.txt for details.
Installing¶
Installing from PyPI¶
gMeterPy
can be installed via pip
from PyPI:
pip install gmeterpy
However, this is not the best option, given that the package is under active development.
Installing the latest development version¶
To install gMeterPy
from GitHub simply use pip
as usual:
pip install https://github.com/opengrav/gmeterpy/archive/master.zip
Or clone the git repository locally and run pip
:
git clone https://github.com/opengrav/gmeterpy.git
cd gmeterpy
pip install .
User guide¶
Units (gmeterpy.units)¶
The unit aware calculations is one of the main goals of the gMeterPy. We are using astropy.units sub-package for this. To use units you need to import gmeterpy.units module:
>>> import gmeterpy.units as u
And now you can work with gravity acceleration SI units:
>>> gravity = 9.8 * u.m / u.s**2
>>> gravity
<Quantity 9.8 m / s2>
and convert them to more convinient CGS units:
>>> gravity.to(u.Gal)
<Quantity 980. Gal>
and even use prefixes (u – micro):
>>> gravity.to(u.uGal)
<Quantity 9.8e+08 uGal>
In addition to Astropy built-in units we introduce Eotvos unit for the gravity gradient:
>>> gradient = 0.3086 * u.mGal / u.m
>>> gradient.to(u.E)
<Quantity 3086. E>
Constants (gmeterpy.constants)¶
The gMeterPy uses astropy.constants sub-package for handling constants. We expand it for some frequently used constants in gravimetry.
Constant |
Description |
|
---|---|---|
omega |
Mean angular rotation rate of the Earth |
|
atm_sens |
Default gravity/pressure sensitivity (0.3 uGal / mbar) |
International Standard Atmosphere¶
The Standard Atmosphere (ISO 2533:1975) is used to calculate the normal pressure in the atmospheric pressure correction.
Constant |
Description |
|
---|---|---|
p0 |
Standard atmospheric pressure at sea level |
|
L |
Temperature lapse rate |
|
Tn |
Standard thermodynamic air temperature at sea level |
|
gn |
Standard acceleration of free-fall |
|
M |
Air molar mass at sea level |
|
R |
Universal gas constant |
API Reference¶
Gravity Corrections and Reductions¶
Atmospheric pressure correction. |
|
Polar motion correction. |
|
Correction due to the finite speed of light for absolute gravimeters. |
Contributing¶
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
You can contribute in many ways:
Types of Contributions¶
Report Bugs¶
Report bugs at https://github.com/opengrav/gmeterpy/issues.
If you are reporting a bug, please include:
Your operating system name and version.
Any details about your local setup that might be helpful in troubleshooting.
Detailed steps to reproduce the bug.
Fix Bugs¶
Look through the GitHub issues for bugs. Anything tagged with “bug” and “help wanted” is open to whoever wants to implement it.
Implement Features¶
Look through the GitHub issues for features. Anything tagged with “enhancement” and “help wanted” is open to whoever wants to implement it.
Write Documentation¶
gMeterPy could always use more documentation, whether as part of the official gMeterPy docs, in docstrings, or even on the web in blog posts, articles, and such.
Submit Feedback¶
The best way to send feedback is to file an issue at https://github.com/opengrav/gmeterpy/issues.
If you are proposing a feature:
Explain in detail how it would work.
Keep the scope as narrow as possible, to make it easier to implement.
Remember that this is a volunteer-driven project, and that contributions are welcome :)