A website that analyzes, organizes, and visualizes historical weather data for Japan.
This project processes weather data from Japanese governmental sources and presents it through an interactive web interface. The data includes temperature, precipitation, sunshine duration, and Wet Bulb Globe Temperature (WBGT) for approximately 1,300 locations across Japan.
graph TD
A[JMA CSV Files<br/>Climate normals data<br/>~1,300 locations] --> C[/data-processing<br/>Python + DuckDB]
B[MOE CSV Files<br/>WBGT data<br/>~840 locations] --> C
C --> D[/data/processed<br/>JSON Files]
D --> E[/web<br/>Vike SSG<br/>TypeScript + React]
E --> F[Static Website]
.
├── data/ # Weather data files
│ ├── raw/ # Source CSV files from JMA and MOE (git-ignored)
│ └── processed/ # Generated JSON files
├── data-processing/ # Python scripts for data processing
└── web/ # Web application (Vike + React)
- data-processing/: Python-based data pipeline that downloads and processes weather data
- web/: React web application that visualizes the processed data
- JMA (Japan Meteorological Agency): Climate normals (2020 baseline) for temperature, precipitation, and sunshine duration
- MOE (Ministry of the Environment): WBGT (Wet Bulb Globe Temperature) data for heatstroke prevention
Process weather data from CSV to JSON format:
cd data-processing
uv sync
uv run download.py # Download source data
uv run main.py # Process dataSee data-processing/README.md for details.
Run the website locally:
cd web
npm install
npm run devSee web/README.md for details.