Skip to content

Latest commit

Β 

History

History
238 lines (153 loc) Β· 4.15 KB

File metadata and controls

238 lines (153 loc) Β· 4.15 KB

🌍 PyClimaExplorer

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.


πŸš€ Project Setup

Follow these steps to run the project locally.

1️⃣ Clone the Repository

git clone https://github.com/HarryOhm33/Hack_It_Out.git
cd Hack_It_Out

2️⃣ Create a Virtual Environment

python -m venv venv

Activate the environment.

Windows:

venv\Scripts\activate

Mac / Linux:

source venv/bin/activate

3️⃣ Install Dependencies

Install the required Python libraries.

pip install -r requirements.txt

Main libraries used:

  • Streamlit
  • Xarray
  • Pandas
  • NumPy
  • Plotly
  • PyDeck

4️⃣ Run the Application

Start the Streamlit server.

streamlit run app.py

The app will open in your browser automatically:

http://localhost:8501

🌐 Live Application

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.


πŸ“‚ Required Dataset Format

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.


⏱ Temporal Resolution

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)

🌎 Required Spatial Dimensions

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]

🌑 Supported Climate Variables

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 Dataset Structure

Example NetCDF dataset:

Dimensions:
time: 8760
lat: 181
lon: 360

Variables:
temperature(time, lat, lon)
humidity(time, lat, lon)
precipitation(time, lat, lon)

🌐 Recommended Data Sources

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.


πŸ“Š Key Features

  • 🌍 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

πŸ›  Technology Stack

Frontend / Interface Streamlit

Data Processing Python, Xarray, Pandas, NumPy

Visualization Plotly, Plotly Geo

Dataset Format NetCDF (.nc)


πŸ“œ License

This project is open-source and available under the MIT License.


πŸ‘¨β€πŸ’» Authors

Developed as part of a climate data visualization project.

Team: PyClimaExplorer