You need to agree to the conditions to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

Notos: Multimodal Foundation Model for Wind Power Forecasting

Notos forecasts farm-level wind power from three modalities built from the same history window: the time series itself, its STFT spectrogram (CLIP ViT-B/32), and a text prompt (farm description + symbolic trend), fused by a LoRA-tuned Qwen2.5-0.5B decoder with a quantile head (21 quantiles, 0.01-0.99).

Weights Horizon (15-min steps) Lead time
weights/pred16 16 4 h
weights/pred32 32 8 h
weights/pred48 48 12 h
weights/pred64 64 16 h

All models share config.json and use 224 history steps (56 h @ 15 min).

Quick start

hf download gghans726/notos --include "inference/*" requirements.txt --local-dir notos && cd notos
pip install -r requirements.txt

python inference/run.py --pred_len 16 \
    --metadata my_site.yaml \
    --history my_history.csv \
    --output pred.csv

config.json and the selected weights/pred{N}/model.safetensors are fetched from this repo on first use if they are not present locally. The base backbones (Qwen/Qwen2.5-0.5B, openai/clip-vit-base-patch32) are fetched from the Hub; for offline use point NOTOS_LLM_PATH / NOTOS_CLIP_PATH to local copies.

Inputs

  1. History CSV: a timestamp column and a power column (auto-detected, or set --timestamp-col / --power-col). It must cover at least 224 points after resampling to 15 min; any native interval <= 30 min is resampled automatically.
  2. Site metadata YAML (template: inference/site.yaml): sampling interval, power unit (kw / mw / kwh_per_slot), rated power, optional geo / turbine description, and farm-level normalization statistics. All fields are optional; a warning is printed for every field that falls back to a default. For best accuracy, compute the statistics once from weeks-to-months of history and paste the printed block into the YAML:
python inference/calibrate.py --history long_history.csv --metadata my_site.yaml

Output

A CSV with time, predicted_power_kw (median head) and q01_kw ... q99_kw (quantile bands sorted to be monotone), all in kW.

Python API

import sys; sys.path.insert(0, 'inference')
from notos.data import build_features, load_csv
from notos.metadata import load_site
from notos.model import load, predict

model, cfg, tok = load(pred_len=32)
feat = build_features(load_csv('my_history.csv'), load_site('my_site.yaml'), tok, cfg)
df = predict(model, feat)

Data

The pre-training dataset and the test set used by Notos are available at gghans726/notos-wind-multimodal-data.

Repository layout

config.json                     shared model hyperparameters
weights/pred{16,32,48,64}/      model.safetensors
inference/run.py                CLI: history CSV + site YAML -> forecast
inference/calibrate.py          one-time farm statistics calibration
inference/site.yaml             site metadata template
inference/notos/                model and preprocessing code
requirements.txt
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for gghans726/notos

Finetuned
(856)
this model

Dataset used to train gghans726/notos