Skip to content

Public code for "Computational Imaging for Long-Term Prediction of Solar Irradiance"

Notifications You must be signed in to change notification settings

Image-Science-Lab-cmu/SkyCam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computational Imaging for Long-Term Prediction of Solar Irradiance

Livestream of Skycam ⚠️ UNDER CONSTRUCTION ⚠️

(Link Here) - We present a live snapshot of current cloud conditions updated every 30 seconds from our testbed. This site also provides associated GHI values.

Code - Getting Startetd

Simulated Non-learning (./Simulated_non_learning)

Non-learning based occlusion prediction using simulated dataset.

# This code is in MATLAB. Running this files creates plots for the hemispherical and hyperboloidal mirror.
NL_occ_pred.m

Simulated Learning (./Simulated_learning)

Learning based occlusion prediction using simulated dataset.

# Create the conda environment in python 3.11
conda create --name SkyCam python=3.11
# Activate environment
conda activate SkyCam
# Install MOMENT package
pip install momentfm
# install pip packages
pip install -r requirements.txt

# Download the data
pip install gdown
gdown 19C9jIVl-TyUyya9hPbCQU6zPKXtDYwUQ
# If you run into an inssue requesting permission, update gdown first, then re-run the above command:
pip install --upgrade --no-cache-dir gdown
# Unzip
unzip Simulated_Data.zip 

Run the associated files

# 1. Train Hyperboloidal
~/anaconda3/envs/SkyCam/bin/python3 -u ./train.py --mirror hyper

# 2. Train Hemispherical
~/anaconda3/envs/SkyCam/bin/python3 -u ./train.py --mirror sphere

# 3. Test Hyperboloidal
~/anaconda3/envs/SkyCam/bin/python3 -u ./test.py --mirror hyper

# 4. Test Hemispherical
~/anaconda3/envs/SkyCam/bin/python3 -u ./test.py --mirror sphere

Real Learning (./Real_learning)

Learning based GHI prediction using real datatset.

# Create the conda environment in python 3.11
conda create --name SkyCam python=3.11
# Activate environment
conda activate SkyCam
# install pip packages
pip install -r requirements.txt
# Install MOMENT package
pip install momentfm

# Download the data
pip install gdown
gdown 1IrUF1ZZy0FiU1dlSrYwfL1ecuOyocTQd
# If you run into an inssue requesting permission, update gdown first, then re-run the above command:
pip install --upgrade --no-cache-dir gdown
# Unzip
unzip Data.zip 

Run the associated files

# 1. Pre-Train Hyperboloidal
~/anaconda3/envs/SkyCam/bin/python3 -u ./pre-train_img.py --config ./configs/pre-train_img_para.yaml --gpu_id 0 --Half_img

# 2. Pre-Train Hemispherical
~/anaconda3/envs/SkyCam/bin/python3 -u ./pre-train_img.py --config ./configs/pre-train_img_sphere.yaml --gpu_id 0 --Half_img

# 3. Fine-Tune Hyperboloidal
~/anaconda3/envs/SkyCam/bin/python3 -u ./finetune-forecast_img.py --gpu_id 0 --forecast_horizon 60 --config ./configs/finetune-forecast_img_para.yaml --Half_img

# 4. Fine-Tune Hyperboloidal
~/anaconda3/envs/SkyCam/bin/python3 -u ./finetune-forecast_img.py --gpu_id 0 --forecast_horizon 60 --config ./configs/finetune-forecast_img_sphere.yaml --Half_img
  • After Pre-Training, the results will be saved in the './results' folder with the run name given by wandb.
  • To fine-tune using that pre-trained run, in the config file "./config/finetune-*" change the value for "pretraining_run_name" to the run name which is based on the name given by wandb.

Thanks

This project makes use of the MOMENT:

  • MOMENT a family of open-source foundation models for general-purpose time-series analysis.

Citation

If you use this project in your research please cite:

@INPROCEEDINGS{,
  author={},
  booktitle={}, 
  title={}, 
  year={},
  }

About

Public code for "Computational Imaging for Long-Term Prediction of Solar Irradiance"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published