Pyra: Automated EM27/SUN Greenhouse Gas Measurement Software
Source Code: https://github.com/tum-esm/pyra
Documentation: https://pyra.esm.ei.tum.de/docs (this website)
Contributor Guide: https://pyra.esm.ei.tum.de/docs/contributor-guide/becoming-a-contributor
What is Pyra?
Pyra (name based on Python and Ra) is a software that automates the operation of EM27/SUN measurement setups. Operating EM27/SUN devices requires a lot of human interaction. Pyra makes it possible to operate these devices 24/7 autonomously.
Pyra has enabled us, the Professorship of Environmental Sensing and Modeling at the Technical University of Munich to collect continuous data from 5 stations around the city of Munich since 2019 using MUCCnet. Versions 1 to 3 of Pyra have been experimental tools improved internally since 2016. The goal of version 4 is to make Pyra even more stable, easy to understand and extend, and usable by the whole EM27/SUN community.
The software is licensed under GPLv3 and is open-sourced on GitHub: https://github.com/tum-esm/pyra. Pyra has been published in the Journal of Open Source Software (JOSS): https://doi.org/10.21105/joss.05131.
About This Documentation
This documentation page serves as a guide for both users and developers. By user, we mean people operating Pyra on their EM27/SUN stations. By developers, we target people working on the Pyra 4 codebase itself.
For users:
- Overview of what Pyra 4 does
- How to set it up
- Overview of how to use it
- How starting and stopping measurements via CLI or UI works
- How the upload works
- What the TUM PLC and Helios
- Answers to frequently asked euestions
For developers:
- High level view of the architecture
- Interfaces between program parts
- Interfaces to external programs
- How to manually run the parts of Pyra
- How the repository is organized
- How testing and continuous integration is set up
For contributors:
- How to become a contributor
- Our code of conduct
- API reference of Core/UI/CLI (👈 see sidebar)
The contact section contains author and contact information and ways to report bugs and suggest new features.
Pyra 4 is not built to be imported as a library but rather to be run as a standalone program. The desired way to interact with Pyra 4 programmatically is via the CLI.
If you want to extend Pyra 4 itself, the developer guide serves as a high-level introduction to the codebase structure. All code is statically typed, and all functions contain doc strings.
Citing Pyra
Whenever using data generated by Pyra, please make sure to cite the following two papers. With the first one (MUCCnet), we developed the versions 1 to 3 of Pyra internally. With the second one (Pyra), we turned Pyra into a reusable open-source software.
APA Style:
Dietrich, F., Chen, J., Voggenreiter, B., Aigner, P., Nachtigall, N., and Reger, B.: MUCCnet: Munich Urban Carbon Column network, Atmos. Meas. Tech., 14, 1111–1126, https://doi.org/10.5194/amt-14-1111-2021, 2021.
Aigner, P., Makowski, M., Luther, A., Dietrich, F., & Chen, J. (2023). Pyra: Automated EM27/SUN Greenhouse Gas Measurement Software. Journal of Open Source Software, 8(84), 5131. https://doi.org/10.21105/joss.05131
BibTex:
@article{Dietrich2021,
author = {Dietrich, F. and Chen, J. and Voggenreiter, B. and Aigner, P. and Nachtigall, N. and Reger, B.},
title = {MUCCnet: Munich Urban Carbon Column network},
journal = {Atmospheric Measurement Techniques},
volume = {14},
year = {2021},
number = {2},
pages = {1111--1126},
url = {https://amt.copernicus.org/articles/14/1111/2021/},
doi = {10.5194/amt-14-1111-2021}
}
@article{Aigner2023,
doi = {10.21105/joss.05131},
url = {https://doi.org/10.21105/joss.05131},
year = {2023},
publisher = {The Open Journal},
volume = {8},
number = {84},
pages = {5131},
author = {Patrick Aigner and Moritz Makowski and Andreas Luther and Florian Dietrich and Jia Chen},
title = {Pyra: Automated EM27/SUN Greenhouse Gas Measurement Software},
journal = {Journal of Open Source Software}
}