Logo Lanfrica

anesevol/African-Climate-Trend-Analysis

Domain:

climate

Record type:

project
Creator:
ane
Host:
# African Climate Trend Analysis (Week 0) This repository is a starter implementation for the **10 Academy Week 0 challenge**: - Task 1: Git + Environment + CI - Task 2: Country-level profiling, cleaning, and EDA - Task 3: Cross-country comparison and vulnerability framing - Bonus: Streamlit dashboard starter ## Project Structure ```text . ├── .vscode/ │ └── settings.json ├── .github/ │ └── workflows/ │ └── ci.yml ├── app/ │ ├── __init__.py │ ├── main.py │ └── utils.py ├── notebooks/ │ ├── __init__.py │ ├── README.md │ ├── ethiopia_eda.ipynb │ └── compare_countries.ipynb ├── scripts/ │ ├── __init__.py │ ├── README.md │ ├── run_country_eda.py │ └── run_compare.py ├── src/ │ ├── __init__.py │ ├── compare.py │ ├── data_utils.py │ └── eda.py ├── tests/ │ └── __init__.py ├── dashboard_screenshots/ │ └── .gitkeep ├── .gitignore ├── requirements.txt └── README.md ``` ## Environment Setup ### 1) Create and activate virtual environment ```bash python -m venv .venv source .venv/bin/activate ``` ### 2) Install dependencies ```bash pip install --upgrade pip pip install -r requirements.txt ``` ## Branching and Conventional Commits Recommended branch flow: - `setup-task` for Task 1 - `eda-ethiopia`, `eda-kenya`, `eda-sudan`, `eda-tanzania`, `eda-nigeria` for Task 2 - `compare-countries` for Task 3 - `dashboard-dev` for Streamlit bonus Conventional commit examples: - `init: add project scaffold` - `chore: configure python environment and dependencies` - `ci: add github actions workflow` - `feat: add country-level eda pipeline` - `feat: add cross-country comparison analysis` - `feat: basic streamlit ui` ## Data Policy - Place raw files under `data/` locally. - `data/` and `*.csv` are ignored by Git. - **Do not commit climate CSV files to GitHub**. ## Data Legend Alignment Implementation is aligned to `data/Data Legend.txt`: - Expected schema: `YEAR`, `DOY`, `T2M`, `T2M_MAX`, `T2M_MIN`, `T2M_RANGE`, `PRECTOTCORR`, `RH2M`, …