Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nrc-cnrc/metrolopy
Tools for uncertainty propagation and measurement unit conversion — Outils pour la propagation des incertitudes et la conversion d'unités de mesure
https://github.com/nrc-cnrc/metrolopy
curve-fitting error-propagation ipython jupyter metrology monte-carlo-simulation python3 uncertainties uncertainty uncertainty-analysis uncertainty-propagation uncertainty-visualisation unit-conversion unit-converter
Last synced: 24 days ago
JSON representation
Tools for uncertainty propagation and measurement unit conversion — Outils pour la propagation des incertitudes et la conversion d'unités de mesure
- Host: GitHub
- URL: https://github.com/nrc-cnrc/metrolopy
- Owner: nrc-cnrc
- License: gpl-3.0
- Created: 2019-03-26T12:41:27.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-05-24T14:09:44.000Z (over 2 years ago)
- Last Synced: 2024-10-12T11:21:50.849Z (24 days ago)
- Topics: curve-fitting, error-propagation, ipython, jupyter, metrology, monte-carlo-simulation, python3, uncertainties, uncertainty, uncertainty-analysis, uncertainty-propagation, uncertainty-visualisation, unit-conversion, unit-converter
- Language: Python
- Homepage: https://nrc-cnrc.github.io/MetroloPy
- Size: 9.8 MB
- Stars: 33
- Watchers: 8
- Forks: 6
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MetroloPy
tools for dealing with physical quantities: uncertainty propagation and unit conversion
---
MetroloPy is a pure python package and requires Python 3.5 or later and the SciPy stack (NumPy, SciPy and Pandas). It looks best in a Jupyter Notebook.
Install MetroloPy with `pip install metrolopy` or
`conda install -c conda-forge metrolopy`.Physical quantities can then be represented in Python as `gummy` objects with an uncertainty and (or) a unit:
>>> import metrolopy as uc
>>> a = uc.gummy(1.2345,u=0.0234,unit='cm')
>>> a
1.234(23) cm>>> b = uc.gummy(3.034,u=0.174,unit='mm')
>>> f = uc.gummy(uc.UniformDist(center=0.9345,half_width=0.096),unit='N')
>>> p = f/(a*b)
>>> p
2.50(21) N/cm2>>> p.unit = 'kPa'
>>> p.uunit = '%'
>>> p
25.0 kPa ± 8.5%MetroloPy can do much more including Monte-Carlo uncertainty propagation, generating uncertainty budget tables, and curve fitting. It can also handle expanded uncertainties, degrees of freedom, correlated quantities, and complex valued quantities. See:
* [a tutorial](https://nrc-cnrc.github.io/MetroloPy/_build/html/_static/tutorial.html) (or download the tutorial as Jupyter notebook)
* [the documentation](https://nrc-cnrc.github.io/MetroloPy/)
* [the issues page on GitHub](https://github.com/nrc-cnrc/Metrolopy/issues)
* [a list of the units built into MetroloPy](https://nrc-cnrc.github.io/MetroloPy/_static/units.html)
* [a list of the physical constants built into MetroloPy](https://nrc-cnrc.github.io/MetroloPy/_static/constants.html)## new in version 0.6.0
* A constant library has been added with physical constants that can be accessed
by name or alias with the `constant` function. The `search_constants` function
with no argument gives a listing of all built-in constants. Each constant
definition includes any correlations with other constants.* The `Quantity` class has been added to represent a general numerical value
multiplied by a unit and the `unit` function has been added to retrieve
`Unit` instances from the unit library by name or alias. `Unit` instances
can now be multiplied and divided by other `Unit` instances to produce
composite units, can be multiplied and divided by numbers to produce
`Quantity` instances or multiply or divide `Quantity` instances. The
`gummy` class is now a subclass of `Quantity` with a `nummy` value rather
than a subclass of `nummy`. A `QuantityArray` class has been introduced
to represent an array of values all with the same unit. Multiplying a `Unit`
instance by a list, tuple, or numpy array produces a `QuantityArray` instance.* The `immy` class has been introduced as an `ummy` valued counterpart of the
`jummy` class for representing complex values with uncertainties. `immy`
and `jummy` values can now be displayed in a polar representation in addition
to a cartesian representation. `immy` and `jummy` .r and .phi properties
have been added to access the magnitude and argument of the values as a
complement to the .real and .imag properties.