Skip to content

itzRatul/project-rainfall

Repository files navigation

🌧️ PROJECT RAINFALL

Daily Rainfall Analysis, Visualization & Forecasting (2001–2024)

Python Pandas NumPy Matplotlib Scikit-Learn Status


🔹 Short Summary (CV-Friendly)

PROJECT RAINFALL is a Python-based academic data analysis project that processes long-term daily rainfall datasets, visualizes temporal patterns, and forecasts future rainfall using linear regression techniques.


📌 Abstract (Academic Description)

This project analyzes daily rainfall data collected over multiple decades (2001–2024) to identify long-term trends and seasonal patterns. Using statistical aggregation and visualization techniques, yearly and monthly rainfall characteristics are explored. A linear regression model is applied to forecast future rainfall trends, making the project suitable for introductory climate data analysis and applied machine learning studies.


📂 Dataset Information

The program supports both CSV and Excel formats.

Example datasets:

  • Srimangal_Daily_Rainfall_CHIRPS_2001_2024.csv
  • Mymensingh_Daily_Rainfall_CHIRPS_2001_2024.xlsx

Required Data Fields

The script automatically detects columns, but datasets should include:

  • Date (daily resolution)
  • Rainfall / Precipitation values (in millimeters)

⚙️ Key Features

  • Automatic CSV / Excel file loading
  • Intelligent column auto-detection
  • Data cleaning & preprocessing
  • Yearly total rainfall computation
  • Monthly average rainfall analysis
  • Trend line visualization
  • Identification of extreme rainfall years
  • Future rainfall prediction using Linear Regression
  • Option to save generated graphs

📊 Output Visualizations

  • Yearly Total Rainfall with Trend Line
  • Average Monthly Rainfall Pattern
  • Future Rainfall Forecast Plot

All images can be saved automatically in:

imageFolder/

🧠 Forecasting Methodology

  • Model: Linear Regression
  • Library: scikit-learn
  • Training data: Yearly total rainfall
  • Output: User-defined future year predictions

⚠️ Note: The forecast is statistical and does not incorporate complex climate variables.


🖥️ How to Run the Project

1️⃣ Clone Repository

git clone https://github.com/itzRatul/project-rainfall.git
cd project-rainfall

2️⃣ Install Dependencies

pip install numpy pandas matplotlib scikit-learn openpyxl

3️⃣ Execute Program

python rainfall_project.py

📋 Program Menu

1) Show dataset information
2) Plot yearly total rainfall with trend line
3) Plot average monthly rainfall pattern
4) Display highest & lowest rainfall years
5) Predict future rainfall with visualization
6) Exit

🗂️ Project Structure

project-rainfall/
│
├── rainfall_project.py
├── Srimangal_Daily_Rainfall_CHIRPS_2001_2024.csv
├── Mymensingh_Daily_Rainfall_CHIRPS_2001_2024.xlsx
├── imageFolder/
│   ├── yearly_with_trend.png
│   ├── monthly_pattern.png
│   └── forecast_5_years.png
└── README.md

🛠️ Technologies Used

  • Python
  • NumPy
  • Pandas
  • Matplotlib
  • Scikit-learn

🎓 Academic & Practical Use

  • University data analysis projects
  • Climate trend exploration
  • Introductory machine learning practice
  • Research-oriented Python programming

🚀 Future Enhancements

  • Seasonal (monsoon-based) analysis
  • Advanced forecasting models (ARIMA, LSTM)
  • Multi-location comparative studies
  • Interactive dashboard using Streamlit

👤 Author

Md. Ratul Hossen
BSc in Computer Science & Engineering
Daffodil International University


If you find this project useful, please give it a star on GitHub.

About

Python-based rainfall data analysis and forecasting project using visualization and linear regression.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages