Accepted at MERCon 2026

A Controlled Visual-Backbone Benchmark for Multimodal Short-Term Solar Irradiance Forecasting

One forecasting scaffold. Eighteen visual encoders. A controlled comparison of CNNs, Transformers, and visual state-space models under strict chronological evaluation.

University of Peradeniya · Multidisciplinary AI Research Centre (MARC)

Conference12th MERCon
Dates13–14 August 2026
VenueUniversity of Moratuwa
Official conference site ↗

Abstract

What changes when only the visual encoder changes?

We isolate the visual backbone inside a fixed multimodal pipeline for 10-minute-ahead irradiance forecasting. ConvNeXt, Swin, VMamba, Spatial Mamba, and MambaVision models share identical preprocessing, temporal context, fusion, training, and evaluation. The comparison spans Folsom and a deliberately strict, low-sample NREL test split.

The results resist a simple architecture-family ranking. VMamba Small leads Folsom with 65.39 W/m² RMSE, narrowly ahead of Swin Base at 65.50 W/m². On NREL, smart persistence remains strongest at 17.48 W/m², exposing the limits of cross-regime conclusions from small chronological test sets.

Benchmark design

Change one thing. Hold the rest fixed.

The visual family and scale are the only experimental variables. Every encoder is evaluated inside the same forecasting contract.

Only varied factor Visual backbone family + scale

ConvNeXt T/S/B/L · Swin T/S/B · VMamba T/S/B · Spatial Mamba T/S/B · MambaVision T/T2/S/B/L

01
Input processing

224 × 224 resize, circular sky-dome mask, ImageNet normalization.

02
Target

10-minute-ahead clear-sky index, inverse-transformed to physical GHI units.

03
Sample construction

Matched image, 40-step weather history, future target, daylight and low-sun filtering.

04
Temporal pathway

Seven weather-history channels, single-layer LSTM, 128-D descriptor.

05
Visual interface

Four stages, fixed-form projectors, 256 channels per stage, 1024-D descriptor.

06
Fusion and head

Concatenation, layer normalization, 256-unit GELU, dropout 0.3, linear output.

07
Optimization

Huber loss, AdamW, batch size 32, 8 epochs, seed 42, cosine schedule, no early stopping.

08
Evaluation

Chronological split, smart-persistence skill, RMSE, MAE, MBE, R², parameters, FLOPs, FPS, and ERF.

Shared scaffold

Visual evidence meets weather history.

Each of the four visual stages is projected to 256 dimensions and pooled. The resulting 1024-D descriptor is fused with a 128-D LSTM state.

Architecture of the shared multimodal irradiance forecasting scaffold.
Fixed multimodal architecture used across all visual backbones.

Headline results

Scale is not a guarantee.

Lower RMSE is better. Forecast skill is measured relative to smart persistence.

Best visual · Folsom

65.39RMSE W/m²
VMamba Small · FS 19.64%

Runner-up · Folsom

65.50RMSE W/m²
Swin Base · FS 19.50%

Best overall · NREL

17.48RMSE W/m²
Smart persistence baseline

Folsom trade-off

Accuracy × throughput

Exact coordinates from the camera-ready LaTeX figure. Move over a point for its model, FPS, and RMSE.

Folsom accuracy and throughput Pareto plot Scatter plot comparing model throughput in frames per second against RMSE in watts per square metre. Higher throughput and lower RMSE are preferred.

Controlled benchmark

Camera-ready test-set results

BackboneScaleParamsGFLOPsFPSRMSEFS (%)
Smart persistenceBaseline81.370.00
Temporal-onlyBaseline0.4M0.013708.669.5114.57
ConvNeXtT28.6M18.5561.566.2518.58
ConvNeXtS50.2M35.4338.766.4918.28
ConvNeXtB88.4M62.3220.966.8517.84
ConvNeXtL197.3M138.8125.367.0317.62
SwinT28.3M18.6471.566.4518.33
SwinS49.6M35.7258.766.5218.25
SwinB87.6M62.7195.565.5019.50
VMambaT30.2M20.0222.966.9117.76
VMambaS50.1M34.8168.565.3919.64
VMambaB88.4M61.3135.966.2118.63
Spatial MambaT26.9M17.7187.568.0716.34
Spatial MambaS43.2M28.089.365.9918.89
Spatial MambaB95.7M62.239.666.3918.41
MambaVisionT32.6M18.1420.367.2617.33
MambaVisionT235.9M20.7236.366.0418.83
MambaVisionS51.1M30.3395.867.9116.54
MambaVisionB98.8M60.3256.566.4818.30
MambaVisionL229.4M140.1127.866.5618.19

Efficiency measured with batch size 4 on an NVIDIA Quadro GV100. Smart persistence RMSE: Folsom 81.37 W/m²; NREL 17.48 W/m².

Secondary metrics

Representative operating points

SiteModelRMSEMAEMBE
FolsomVMamba S65.3931.61−3.380.9456
FolsomSwin B65.5030.36−2.100.9454
FolsomConvNeXt T66.2531.462.740.9441
NRELTemporal-only21.3312.76−3.720.2501
NRELSwin T23.7616.40−4.890.0690
NRELMambaVision L28.9122.304.11−0.3775

Reproducibility

Implementation details

All reported encoders use one fixed PyTorch training and evaluation protocol. Splits are chronological; no test sample crosses a temporal boundary.

OptimizerAdamWBatch size32
Learning rate5 × 10⁻⁵Backbone LR0.1 × task LR
Weight decay0.05ScheduleCosine, minimum 10⁻⁶
Training8 epochs, seed 42Early stoppingDisabled
ObjectiveHuber loss, δ = 1.0Target10-minute clear-sky index
Image input224 × 224 masked RGBWeather input40 timesteps × 7 features
Efficiency hardwareNVIDIA Quadro GV100, 32 GBEfficiency batch4
Timing protocol10 warmup + 50 timedMetricsRMSE, nRMSE, MAE, MBE, R², FS, FPS
Folsom2016 test year
Train
385,115
Validation
47,598
Test
224,022
NREL2020 strict test year
Train
580
Validation
64
Test
313

Effective receptive field

Where does each encoder look?

Input-gradient ERF maps reveal distinct spatial support despite the shared forecast head and training protocol.

Effective receptive field visualization for ConvNeXt Tiny.
ConvNeXt Tiny
Effective receptive field visualization for Swin Base.
Swin Base
Effective receptive field visualization for VMamba Small.
VMamba Small
Effective receptive field visualization for MambaVision T2.
MambaVision T2

Citation

Cite this work

@misc{samarakoon2026controlledvisualbackbonebenchmarkmultimodal,
  title         = {A Controlled Visual-Backbone Benchmark for Multimodal Short-Term Solar Irradiance Forecasting},
  author        = {Oshadha Samarakoon and Dushan Herath and Ishara Ranmandala and Dilshara Herath and Roshan Godaliyadda and Parakrama Ekanayake and Vijitha Herath},
  year          = {2026},
  eprint        = {2607.23633},
  archivePrefix = {arXiv},
  primaryClass  = {eess.IV},
  url           = {https://arxiv.org/abs/2607.23633}
}