PARMESAN

PARMESAN: Meteorological Timeseries and Turbulence Analysis Backed by Symbolic Mathematics - Published in JOSS (2024)

https://gitlab.com/tue-umphy/software/parmesan

Science Score: 89.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    3 of 8 committers (37.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

analysis data gas meteorology python
Last synced: 4 months ago · JSON representation

Repository

**P**ython **A**tmospheric **R**esearch package for **ME**teorological Time**S**eries and Turbulence **AN**alysis

Basic Info
  • Host: gitlab.com
  • Owner: tue-umphy
  • License: gpl-3.0
  • Default Branch: master
Statistics
  • Stars: 3
  • Forks: 2
  • Open Issues: 7
  • Releases: 0
Topics
analysis data gas meteorology python
Created about 5 years ago

https://gitlab.com/tue-umphy/software/parmesan/blob/master/

#  PARMESAN

**P**ython **A**tmospheric **R**esearch program for **ME**teorological **S**cientific **AN**alysis

[![pipeline status](https://gitlab.com/tue-umphy/software/parmesan/badges/master/pipeline.svg)](https://gitlab.com/tue-umphy/software/parmesan/-/pipelines)
[![coverage report](https://gitlab.com/tue-umphy/software/parmesan/badges/master/coverage.svg)](https://tue-umphy.gitlab.io/software/parmesan/coverage-report/)
[![documentation](https://img.shields.io/badge/documentation-here%20on%20GitLab-brightgreen.svg)](https://tue-umphy.gitlab.io/software/parmesan)
[![Downloads](https://static.pepy.tech/badge/parmesan)](https://pepy.tech/project/parmesan)
[![JOSS paper](https://joss.theoj.org/papers/10.21105/joss.06127/status.svg)](https://doi.org/10.21105/joss.06127)

## What can `PARMESAN` do?

PARMESAN is targeted at meteorologists/scientists doing atmospheric measurements who want to analyse their obtained time series, calculate typical temperature, wind, humidity, atmospheric stability and turbulence parameters.
PARMESAN provides basic building blocks for typical meteorological calculations and can be easily expanded as equations are based on symbolic mathematics that can be recombined and repurposed.

####  Physical Calculations

-  calculating [**power spectra** of timeseries](https://tue-umphy.gitlab.io/software/parmesan/notebooks/spectrum.html)
-  calculating [**structure functions** of timeseries](https://tue-umphy.gitlab.io/software/parmesan/notebooks/structure.html)
-  calculating [**temporal cycles**](https://tue-umphy.gitlab.io/software/parmesan/api/parmesan.aggregate.html#parmesan.aggregate.temporal_cycle) (e.g. diurnal/daily cycles)
-  calculating several [**humidity** measures](https://tue-umphy.gitlab.io/software/parmesan/api/parmesan.gas.humidity.html)
-  calculating several [**temperature** measures](https://tue-umphy.gitlab.io/software/parmesan/api/parmesan.gas.temperature.html)
-  handling [**physical units** and checking **bounds**](https://tue-umphy.gitlab.io/software/parmesan/settings.html)
-  [**wind** calculations](https://tue-umphy.gitlab.io/software/parmesan/api/parmesan.wind.html) calculations
-  [**turbulence parameters**](https://tue-umphy.gitlab.io/software/parmesan/api/parmesan.turbulence.html)
-  based on reusable [SymPy](https://sympy.org) symbolic mathematics

####  Why not `metpy`?

While [`metpy`](https://unidata.github.io/MetPy) provides much functionality to handle spatial weather data, it is less focused on timeseries/turbulence analysis such as spectral analysis. See [here](https://tue-umphy.gitlab.io/software/parmesan#why-not-metpy) for a more detailed comparison.


####  Inner Workings

PARMESAN uses...

- [SymPy](https://sympy.org) to do the math. PARMESAN derives meteorological equations with it and auto-generates Python functions and documentation based on SymPy expressions.
- [pint](https://pint.readthedocs.io/) to handle physical units.
- [pint-pandas](https://github.com/hgrecco/pint-pandas) to enable handling units in [pandas](https://pandas.pydata.org/)-DataFrames.
- [numpy](https://numpy.org) and [scipy](https://scipy.org/) for the numerics
- [rich](https://rich.readthedocs.io/) for pretty terminal output like progress bars
- [matplotlib](https://matplotlib.org/) for plotting

##  Installation

Tagged versions of `PARMESAN` are available [on PyPi](https://pypi.org/project/parmesan/).
You can install the latest tagged version of `PARMESAN` via

```bash
# make sure you have pip installed
# Debian/Ubuntu:  sudo apt update && sudo apt install python3-pip
# Manjaro/Arch:  sudo pacman -Syu python-pip

# (optional) Then it's good practice to generate a virtual environment:
python3 -m venv parmesan-venv
source parmesan-venv/bin/activate

# Then install PARMESAN
python3 -m pip install -U parmesan
```

To install the latest development version of `PARMESAN` directly from GitLab, run

```bash
# make sure to have pip installed, see above
python3 -m pip install -U git+https://gitlab.com/tue-umphy/software/parmesan
```

You may also use [our workgroup Arch/Manjaro repository](https://gitlab.com/tue-umphy/workgroup-software/repository) and install the `python-parmesan` package with your favourite software installer, for example with `pacman`:

```bash
sudo pacman -Syu python-parmesan
```

##  Documentation

Documentation can be found [here on GitLab](https://tue-umphy.gitlab.io/software/parmesan).

If you have a question or a problem with PARMESAN, you may [open an issue on GitLab](https://gitlab.com/tue-umphy/software/parmesan/-/issues/new).

##  Contributing to PARMESAN

If you'd like to contribute to PARMESAN, e.g. by adding new features or fixing bugs or just to run the test suite or generate the documentation locally, read the [`CONTRIBUTING.md`-file](https://gitlab.com/tue-umphy/software/parmesan/-/blob/master/CONTRIBUTING.md).

Owner

  • Name: UMPHY
  • Login: tue-umphy
  • Kind: organization

Environmental Physics Group at the University of Tübingen, Germany :bangbang: :family: [UMPHY Group Management](https://gitlab.com/tue-umphy/ag-bange) :bangbang: <a rel="me" href="https://xn--baw-joa.social/@umphy">🐘 Follow us on Mastodon</a>

JOSS Publication

PARMESAN: Meteorological Timeseries and Turbulence Analysis Backed by Symbolic Mathematics
Published
February 09, 2024
Volume 9, Issue 94, Page 6127
Authors
Yann Georg Büchau ORCID
Eberhard Karls Universität Tübingen, Germany
Hasan Mashni
Eberhard Karls Universität Tübingen, Germany
Matteo Bramati
Eberhard Karls Universität Tübingen, Germany
Vasileios Savvakis ORCID
Eberhard Karls Universität Tübingen, Germany
Ines Schäfer
Eberhard Karls Universität Tübingen, Germany
Saskia Jung
Eberhard Karls Universität Tübingen, Germany
Gabriela Miranda-Garcia ORCID
Eberhard Karls Universität Tübingen, Germany
Daniel Hardt ORCID
Akaflieg Braunschweig e.V., Braunschweig, Germany
Jens Bange ORCID
Eberhard Karls Universität Tübingen, Germany
Editor
Martin Fleischmann ORCID
Tags
meteorlogy

Committers

Last synced: 4 months ago

All Time
  • Total Commits: 444
  • Total Committers: 8
  • Avg Commits per committer: 55.5
  • Development Distribution Score (DDS): 0.068
Past Year
  • Commits: 11
  • Committers: 1
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Yann Büchau n****n@p****e 414
vasilis-savvakis v****s@u****e 12
iw3b i****r@u****e 9
SaskiaJ s****g@u****e 4
Daniel Hardt d****l@d****e 2
3mrrrx h****i@h****m 1
GabrielaMG90 g****k@g****m 1
brama95 m****i@h****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago