An open API service indexing awesome lists of open source software.

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

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