https://github.com/oscarmtr/metrov
Interactive viewer for tropospheric meteorological soundings
https://github.com/oscarmtr/metrov
climate data-analysis meteorology skew-t soundings temperature tropospheric web
Last synced: 4 months ago
JSON representation
Interactive viewer for tropospheric meteorological soundings
- Host: GitHub
- URL: https://github.com/oscarmtr/metrov
- Owner: oscarmtr
- License: agpl-3.0
- Created: 2026-01-19T15:50:47.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-22T12:46:24.000Z (4 months ago)
- Last Synced: 2026-02-22T18:17:42.796Z (4 months ago)
- Topics: climate, data-analysis, meteorology, skew-t, soundings, temperature, tropospheric, web
- Language: Python
- Homepage: https://metrovgit.streamlit.app/
- Size: 158 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MeTroV
Interactive web application for visualizing atmospheric soundings (radiosondes) using data from **IGRA (NOAA)** and **University of Wyoming (UWYO)**.
The app allows users to search stations by city or airport name, select date and time, and generate both **static (MetPy)** and **interactive (Plotly)** Skew-T diagrams, along with key thermodynamic indices commonly used in meteorology.
---
## Features
- Global radiosonde station catalog with city/airport-based search
- Multiple data sources:
- **IGRA** (Integrated Global Radiosonde Archive – NOAA)
- **UWYO** (University of Wyoming Weather Web)
- Automatic fallback between sources
- Automatic detection of available synoptic hours
- Skew-T Log-P diagrams:
- Static plots using **MetPy**
- Interactive plots using **Plotly**
- Advanced Mode Panel:
- **Hodograph** visualization with Bunkers storm motion
- **Kinematic parameters** (0-1km/0-3km/0-6km Shear, SRH)
- **Advanced thermodynamic indices** (SBCAPE, MUCAPE, MLCAPE, TT, K-Index)
- **Composite indices** (Significant Tornado Parameter, Supercell Composite)
- Thermodynamic diagnostics:
- LCL (Lifted Condensation Level)
- CCL (Convective Condensation Level)
- LFC (Level of Free Convection)
- EL (Equilibrium Level)
- CAPE and CIN
- Direct links to the original data source used for each sounding
- Change the web app workflow to a local workflow or scripts
---
## 📂 Project Structure
```text
MeTroV/
│
├── data/
│ ├── igra_countries.csv # Auto-updated catalog
│ └── igra_stations_active.csv # Station catalog (auto-generated)
│
├── scripts/
│ └── build_igra_station_list.py # Script to generate station catalog
│
├── src/
│ ├── app.py # Streamlit application
│ ├── interpretation_text.py # Graphic interpretation
│ ├── stations.py # Station search and automatic list updates
│ ├── sounding.py # Sounding script
│ ├── sounding_plotly.py # Interactive Skew-T (Plotly)
│ └── sounding_sources.py # Data source definitions
│
├── .gitignore # Git exclusion rules
├── LICENSE # GNU AGPLv3 License
├── requirements.txt # Python dependencies
└── README.md # Project documentation
```
---
## ▶️ Run locally (Web App or Python Script)
1. Clone the repository:
```bash
git clone https://github.com/oscarmtr/MeTroV.git
cd MeTroV
```
2. Install dependencies:
```bash
conda create --name metrov_env python=3.13 -y
conda install -n metrov_env --file requirements.txt -c conda-forge -y
```
3. Launch the app:
3.1 App local
```bash
conda run -n metrov_env streamlit run src/app.py
```
3.2 Script
```bash
conda run -n metrov_env python src/sounding.py
```
---
## 📄 License
This project is licensed under a **Dual License** model:
### 💻 Source Code
The source code (software logic, scripts, Python files) is licensed under the **GNU Affero General Public License v3.0 (AGPLv3)**.
> See [LICENSE](LICENSE) for details.
### 📊 Content & Data Visualization
The generated content, visualizations, and website presentation are licensed under **[Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)](https://creativecommons.org/licenses/by-nc-sa/4.0/)**.
**Summary**:
- You are free to view, share, and adapt the visualizations for non-commercial purposes with attribution.
- If you modify the *software code*, especially if you run it as a service, you must share your changes under the same AGPLv3 license.
---
## 📚 References
- Durre, I., Yin, X., Vose, R. S., Applequist, S., Arnfield, J., Korzeniewski, B., & Hundermark, B. (2016). *Integrated Global Radiosonde Archive (IGRA), Version 2*. NOAA National Centers for Environmental Information.
- Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. *Computing in Science & Engineering*, *9*(3), 90–95.
- May, R. M., Goebbert, K. H., Thielen, J. E., Leeman, J. R., Camron, M. D., Bruick, Z., Bruning, E. C., Manser, R. P., Arms, S. C., & Marsh, P. T. (2022). MetPy: A Meteorological Python Library for Data Analysis and Visualization. *Bulletin of the American Meteorological Society*, *103*(10), E2273–E2284.
- Plotly Technologies Inc. (2024). *Plotly.PY* [Computer software]. Retrieved from
- Streamlit Inc. (n.d.). *Streamlit* [Computer software]. Retrieved from
- The pandas development team. (2020). *pandas-dev/pandas: Pandas* [Computer software]. Zenodo.
- University of Wyoming, Department of Atmospheric Science. (n.d.). *Wyoming Weather Web*. Retrieved January 19, 2026, from