DDPM Solar Radiation model

A deep learning model for solar radiation nowcasting using modified MCVD model, a kind of DDPM model for video generation. The model predicts clearsky index and converts it to solar radiation for up to 6 or 36 time steps ahead.


Below is an example of DDPM generation process for 1-hour solar radiation prediction (6 time steps). The total iteration is 1000 steps, and every 50 steps are shown in the gif.

Solar Prediction Example

Overview

This repository contains two trained models (1hr & 6hr) for solar radiation forecasting:

  • 1hr DDPM Model: Predicts solar radiation up to 1 hour ahead (6 time steps)
  • 6hr DDPM Model: Predicts solar radiation up to 6 hours ahead (36 time steps).

The model uses multiple input sources:

  • Himawari satellite data: Clearsky index calculated from Himawari satellite data
  • WRF Prediction: Clearsky index from WRF's solar irradiation prediction
  • Topography: Static topographical features

Installation

  1. Clone the repository & install Git LFS:
git lfs install
git clone <repository-url>
cd Diffusion_SolRad
git lfs pull
git lfs ls-files # confirm whether models weights & sample data are downloaded
  1. Install dependencies:
pip install -r requirements.txt

Requirements

  • Python 3.x
  • PyTorch 2.4.0
  • NumPy 1.26.4
  • einops 0.8.0

Usage

Basic Inference

Run solar radiation prediction using the pre-trained models:

python inference.py --pred-hr [1hr/6hr] --pred-mode [DDPM/DDIM] --basetime 202504131100

Command Line Arguments

  • pred-mode: Choose between DDPM or DDIM sampling methods (default: DDPM)
  • pred-hr: Choose between 1hr or 6hr prediction models (default: 1hr)
  • --basetime: Timestamp for input data in format YYYYMMDDHHMM (default: 202504131100)

Example

# DDIM sampling method for 1-hour prediction
python inference.py --pred-hr 1hr --pred-mode DDIM --basetime 202507151200

Sample Data

The repository includes sample data files:

  • sample_202504131100.npz
  • sample_202504161200.npz
  • sample_202507151200.npz

Model Weights

Pre-trained weights are available for both models:

  • model_weights/ft06_01hr/weights.ckpt
  • model_weights/ft36_06hr/weights.ckpt

License

This project is released under the MIT License.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support