Updated README.md
Browse filesFilled the metadata -YAML
README.md
CHANGED
|
@@ -1,101 +1,116 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
-
|
| 10 |
-
-
|
| 11 |
-
-
|
| 12 |
-
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
-
|
| 30 |
-
-
|
| 31 |
-
-
|
| 32 |
-
- **
|
| 33 |
-
- **
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
- **
|
| 37 |
-
-
|
| 38 |
-
-
|
| 39 |
-
|
| 40 |
-
---
|
| 41 |
-
|
| 42 |
-
###
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: cc-by-nc-sa-4.0
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
metrics:
|
| 6 |
+
- r_squared
|
| 7 |
+
library_name: keras
|
| 8 |
+
tags:
|
| 9 |
+
- Climate
|
| 10 |
+
- SDL-radiation
|
| 11 |
+
- CNN
|
| 12 |
+
- BiLSTM
|
| 13 |
+
- Time-Series
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
## SDL Prediction Model
|
| 17 |
+
|
| 18 |
+
This repository contains a deep learning model for forecasting **Surface Downward Longwave Radiation (SDL)** using a hybrid **CNN-BiLSTM** architecture. The model is trained on the CLARA dataset and is designed for monthly grid-based predictions over India.
|
| 19 |
+
|
| 20 |
+
---
|
| 21 |
+
|
| 22 |
+
### Model Overview
|
| 23 |
+
|
| 24 |
+
- **Model Type:** Convolutional Neural Network + Bidirectional LSTM (CNN-BiLSTM)
|
| 25 |
+
- **Version:** 1.0 (`r2-0.8204`)
|
| 26 |
+
- **Input Shape:** 12 timesteps Γ 140 Γ 140 grid Γ 4 channels
|
| 27 |
+
- **Channels:**
|
| 28 |
+
- `sdlr_value`
|
| 29 |
+
- `year_channel`
|
| 30 |
+
- `month_sin_channel`
|
| 31 |
+
- `month_cos_channel`
|
| 32 |
+
- **Model File:** `model.keras`
|
| 33 |
+
- **Scalers:**
|
| 34 |
+
- Input: `scalers/input_scalers.pkl`
|
| 35 |
+
- Output: `scalers/y_scaler.pkl`
|
| 36 |
+
- **Metadata:**
|
| 37 |
+
- Initial sequence: `metadata/initial_X_sequence_for_forecast.npy`
|
| 38 |
+
- Model metadata: `metadata/model_metadata.json`
|
| 39 |
+
|
| 40 |
+
---
|
| 41 |
+
|
| 42 |
+
### Dataset
|
| 43 |
+
|
| 44 |
+
- **Name:** CLARA-dataset
|
| 45 |
+
- **Description:** SDL - Surface downward longwave radiation
|
| 46 |
+
- **Temporal Resolution:** Monthly
|
| 47 |
+
- **Spatial Resolution:** 0.25Β° Γ 0.25Β° grid (140 Γ 140)
|
| 48 |
+
- **Temporal Coverage:**
|
| 49 |
+
- Start: 1979-01-01
|
| 50 |
+
- End: 2025-06-01
|
| 51 |
+
- **Geographic Coverage:**
|
| 52 |
+
- Latitude: 5.0Β°N to 40.0Β°N
|
| 53 |
+
- Longitude: 65.0Β°E to 100.0Β°E
|
| 54 |
+
|
| 55 |
+
---
|
| 56 |
+
|
| 57 |
+
### Repository Structure
|
| 58 |
+
|
| 59 |
+
```
|
| 60 |
+
βββ config.json # Model and dataset configuration
|
| 61 |
+
βββ LICENSE # License (CC BY-NC-SA 4.0)
|
| 62 |
+
βββ model.keras # Trained model
|
| 63 |
+
βββ metadata/
|
| 64 |
+
β βββ initial_X_sequence_for_forecast.npy
|
| 65 |
+
β βββ model_metadata.json
|
| 66 |
+
βββ scalers/
|
| 67 |
+
β βββ input_scalers.pkl
|
| 68 |
+
β βββ y_scaler.pkl
|
| 69 |
+
```
|
| 70 |
+
|
| 71 |
+
---
|
| 72 |
+
|
| 73 |
+
### Usage
|
| 74 |
+
|
| 75 |
+
|
| 76 |
+
This repository provides the trained model and all necessary artifacts (scalers, metadata, initial input sequence) for SDL prediction, but does **not** include the inference code.
|
| 77 |
+
|
| 78 |
+
To use the model for inference:
|
| 79 |
+
|
| 80 |
+
1. **Load the Model and Artifacts:**
|
| 81 |
+
- Load `model.keras` using Keras: `tf.keras.models.load_model('model.keras')`.
|
| 82 |
+
- Load the scalers (`scalers/input_scalers.pkl`, `scalers/y_scaler.pkl`) and metadata (`metadata/model_metadata.json`) using Python's `pickle` and `json` modules.
|
| 83 |
+
- Load the initial input sequence (`metadata/initial_X_sequence_for_forecast.npy`) using NumPy.
|
| 84 |
+
|
| 85 |
+
2. **Prepare Input Data:**
|
| 86 |
+
- Prepare a 12-month sequence of input data as a 4D array: `(TIMESTEPS, height, width, n_channels)`.
|
| 87 |
+
- Use the provided scalers to normalize input features.
|
| 88 |
+
|
| 89 |
+
3. **Perform Prediction:**
|
| 90 |
+
- Pass the input sequence to the model to obtain predictions for future SDL values.
|
| 91 |
+
- For rolling forecasts, update the input sequence with each new prediction and repeat as needed.
|
| 92 |
+
- Use the output scaler to inverse-transform predictions to original units (W/mΒ²).
|
| 93 |
+
|
| 94 |
+
4. **Postprocess Results:**
|
| 95 |
+
- Map predictions to the desired grid points using the latitude and longitude grids from the metadata.
|
| 96 |
+
|
| 97 |
+
**Note:**
|
| 98 |
+
- An implementation of this model is used in the project [Solarwise](https://github.com/RakshitRabugotra/solarwise) repository.
|
| 99 |
+
|
| 100 |
+
---
|
| 101 |
+
|
| 102 |
+
### License
|
| 103 |
+
|
| 104 |
+
This project is licensed under the **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)**. See the `LICENSE` file for details or visit this [website](https://creativecommons.org/licenses/by-nc-sa/4.0/).
|
| 105 |
+
|
| 106 |
+
---
|
| 107 |
+
|
| 108 |
+
### Citation
|
| 109 |
+
|
| 110 |
+
If you use this model or code, please cite appropriately and respect the license terms.
|
| 111 |
+
|
| 112 |
+
---
|
| 113 |
+
|
| 114 |
+
### Contact
|
| 115 |
+
|
| 116 |
+
For questions or collaboration, please open an issue or contact the repository maintainer.
|