PyClimaExplorer is an interactive climate data visualization platform built with Streamlit. It transforms complex NetCDF climate datasets into interactive maps, time-series trends, and comparison insights.
The platform enables researchers, students, and the public to explore climate patterns easily through an intuitive dashboard.
Follow these steps to run the project locally.
git clone https://github.com/HarryOhm33/Hack_It_Out.git
cd Hack_It_Outpython -m venv venvActivate the environment.
Windows:
venv\Scripts\activateMac / Linux:
source venv/bin/activateInstall the required Python libraries.
pip install -r requirements.txtMain libraries used:
- Streamlit
- Xarray
- Pandas
- NumPy
- Plotly
- PyDeck
Start the Streamlit server.
streamlit run app.pyThe app will open in your browser automatically:
http://localhost:8501
The deployed version of PyClimaExplorer is available here:
https://pyclima-remarkable.streamlit.app
This version allows users to upload climate datasets and explore them interactively without installing anything.
PyClimaExplorer works with NetCDF (.nc) climate datasets that contain spatiotemporal climate data.
The platform is designed to analyze hourly climate datasets covering multiple months or years, with several environmental variables such as temperature, humidity, and precipitation.
The dataset should ideally contain hourly observations.
Example:
time: hourly data
example: 2020-01-01 00:00
2020-01-01 01:00
2020-01-01 02:00
...
Datasets spanning multiple months or years provide better visualization and comparison.
Example:
time dimension length: 8760
(1 year of hourly data)
The dataset must contain geographical coordinates.
latitude
longitude
Typical structure:
variable[time][latitude][longitude]
Example:
temperature[time][lat][lon]
humidity[time][lat][lon]
precipitation[time][lat][lon]
The dataset should include multiple climate variables for meaningful analysis.
Examples:
• Surface Temperature • Humidity • Precipitation / Rainfall • Wind Speed • Atmospheric Pressure • Cloud Cover • Sea Surface Temperature
The dashboard automatically detects variables and allows users to select them for visualization.
Example NetCDF dataset:
Dimensions:
time: 8760
lat: 181
lon: 360
Variables:
temperature(time, lat, lon)
humidity(time, lat, lon)
precipitation(time, lat, lon)
You can download compatible hourly climate datasets from:
ERA5 Reanalysis Dataset https://cds.climate.copernicus.eu/
NOAA Climate Data https://www.noaa.gov/
NASA EarthData https://earthdata.nasa.gov/
ERA5 datasets are recommended because they provide hourly global climate data with many variables.
- 🌍 Global spatial heatmap visualization
- 📈 Time-series climate trend analysis
- 🆚 Comparison mode for different time periods
- 📚 Dataset explorer for inspecting variables
- 🎬 Story mode for guided climate analysis
- 🌐 3D globe visualization
Frontend / Interface Streamlit
Data Processing Python, Xarray, Pandas, NumPy
Visualization Plotly, Plotly Geo
Dataset Format NetCDF (.nc)
This project is open-source and available under the MIT License.
Developed as part of a climate data visualization project.
Team: PyClimaExplorer