Logo Lanfrica

YonSci/S2S-Forecast-Project

Domaine:

climate

Type de record:

software
Créateur:
Yon
Hôte:
ET-NeuralCast is an enterprise-grade Sub-seasonal to Seasonal (S2S) forecasting framework designed for Ethiopia that combines global atmospheric data with high-resolution regional precipitation history. # ET-NeuralCast: Advanced S2S Forecasting for Ethiopia -brightgreen?style=for-the-badge&logo=github-actions) **ET-NeuralCast** is an enterprise-grade Sub-seasonal to Seasonal (S2S) forecasting framework. By fusing global atmospheric planetary drivers with high-resolution regional precipitation history, the system provides high-fidelity rainfall intelligence across Ethiopia with 0.05° spatial precision. --- ## 🎯 Objectives * **Bridge the Gap**: Transition coarse global climate data (1.0°) into localized regional reality (0.05°). * **Predict Extremes**: Use anomaly-based learning to identify deviations from the norm, critical for flood and drought early warning. * **Automate Insight**: Move scientific models out of notebooks and into an autonomous daily production pipeline. --- ## 📊 1. Data Pipeline ### a) Preprocessing & Normalization The system ingests **ERA5** reanalysis and **CHIRPS** precipitation datasets. The preprocessing logic (`src/data/preprocessor.py`) performs: * **Spatial Focus**: Clipping to Ethiopia's bounding box. * **Temporal Aggregation**: Computing weekly means to align with S2S timescales. * **Lagged Predictors**: Creating temporal lags to capture atmospheric memory. * **Anomaly Extraction**: Subtracting weekly climatology (learned exclusively from the training set) to isolate significant atmospheric shifts. * **Standardization**: Applying zero-mean/unit-variance normalization using training-only statistics (`src/data/normalization.py`). ### b) Dataloader Implementation The core is a custom `S2SDataset` (`src/data/dataloader.py`) which: * Loads tabular and gridded data from NetCDF. * Applies normalization on-the-fly. * Supports specific year selection and configurable forecast lead times. * Maps samples to the typical PyTorch `[Batch, Channel, H, W]` format. ### c) Data Format * **Input Tensors**: `[batch, time, variable, lat, lon]` (e.g., past 4 weeks, 5 variables, 48x60 grid). * **Target Tensors**: `[batch, …