Skip to content

Datasets & Models

Dataset

The available datasets are listed in the data folder, with metadata provided in data/metadata.xlsx.

Simple initialization example: Run this in Python. On macOS, start Python with python3 if python is not available.

import pynnlf

pynnlf.init("example_project")

In this example, only the sample dataset (ds0) is included by default. Additional datasets are downloaded only if you enable downloads.

To download all datasets, use:

import pynnlf

pynnlf.init(
    "example_project",
    download_data=True,
    all_data=True,
)

To download a specific subset of datasets:

import pynnlf

pynnlf.init(
    "example_project",
    download_data=True,
    datasets=["ds14", "ds15"],
)

The download is typically fast because the dataset files are relatively small.

Below are some of the datasets currently included in the library.

Ausgrid Solar Home Datasets

This dataset has been widely used in net load forecasting research since 2016. It includes data from 300 solar-equipped households within the Ausgrid network in Sydney. The original source is here.

Dataset Name Description
ds1_ashd.csv Ausgrid Solar Home Dataset, aggregate of 300 household data in Ausgrid network
ds4_ashd_with_weather.csv ds1 enhanced with temperature, relative humidity, and wind speed data
ds13_ashd_with_cloud_solcast.csv ds4 further enriched with cloud data from Solcast
ds19_ashd_148hh.csv ASHD aggregate of the 148 households nearest to Sydney Airport, selected by postcode-centroid distance
ds20_ashd_148hh_with_weather.csv ds19 enhanced with Sydney Airport temperature, relative humidity, and wind speed data
ds21_ashd_148hh_with_weather_cloud_solcast.csv ds20 further enriched with Sydney Airport Solcast cloud opacity data

Australian Centre for Advanced Photovoltaics (ACAP), Energy Data Platform (ACAP-EDP) Datasets

These datasets were compiled by UNSW Sydney from the Australian Centre for Advanced Photovoltaics (ACAP), Energy Data Platform (ACAP-EDP), which gathers household monitoring data from Solar Analytics and Wattwatchers. Sensitive information such as customer addresses, names, and NMIs has been removed. Only aggregated load profiles are distributed; the single-household samples (ds25-ds27) are not shared publicly at the data owner's request. We acknowledge the Australian Centre for Advanced Photovoltaics (ACAP), Energy Data Platform (ACAP-EDP) for the household net load data compiled from Solar Analytics and Wattwatchers.

Dataset Name Description
ds10_acap-edp_cluster2_30min.csv ACAP-EDP dataset for Cluster 2 (148 households) with 30-minute resolution
ds11_acap-edp_cluster2_30min_with_weather.csv ds10 enhanced with weather data including temperature, humidity, etc.
ds28-ds36 ACAP-EDP aggregation datasets Publication datasets for ACAP-EDP aggregation-level experiments at 10, 100, and synthetic-bootstrap 1000 households, with 3 samples per level and Sydney Airport weather variables. These are generated by publication/journal_article_1/notebooks/03_acap_edp_aggregation_level from 139 valid per-household ACAP-EDP checkpoints; household series are forward-filled before aggregation. The same notebooks also produce the single-household samples ds25-ds27, which are not distributed.

Solar Analytics CICCADA BESS Datasets

These datasets were generated for the publication workflow from Solar Analytics CICCADA BESS data. The 100-household variants are retained for exploration because 56 of the 100 selected households contain meaningful negative reconstructed underlying-load intervals. The 44-household variants keep only households with no intervals below the -0.05 kW meaningful-negative threshold.

Dataset Name Description
ds16_sa_bess_underlying_load_30min.csv Exploratory 100-household aggregate underlying load
ds17_sa_bess_net_load_with_pv_30min.csv Exploratory 100-household aggregate net load with PV
ds18_sa_bess_net_load_with_pv_battery_30min.csv Exploratory 100-household aggregate net load with PV and battery
ds22_sa_bess_44hh_pos_underlying_load_30min.csv Clean 44-household aggregate underlying load
ds23_sa_bess_44hh_pos_net_load_with_pv_30min.csv Clean 44-household aggregate net load with PV
ds24_sa_bess_44hh_pos_net_load_with_pv_battery_30min.csv Clean 44-household aggregate net load with PV and battery

Ausgrid Zone Substation (ZS) Datasets - Mascot

Unlike the previous household-focused datasets, this dataset covers a zone substation, which includes residential, commercial and industrial (C&I), and major customers. The original source is here.

Dataset Name Description
ds14_ausgrid_zs_mascot.csv Zone Substation data for Mascot
ds15_ausgrid_zs_mascot_30min_with_weather.csv ds14 enhanced with weather data at 30-minute resolution

International Datasets

Two aggregate datasets from outside Australia, built by the notebooks in publication/journal_article_1/notebooks/00_data_exploration_and_processing/02_process_international_datasets/ with the same recipe as the ASHD datasets: sum the sites, convert energy to average power, attach weather under the same column names, and validate a regular index with no missing values.

Dataset Name Description
ds37_sundance_hourly.csv UMass Smart* SunDance release: hourly net load for calendar 2015, summed over the 87 of 100 North American solar sites that are hourly, complete and residential in scale. Sites in several time zones are summed on their local standard clock, so the aggregate is synthetic rather than a physical feeder.
ds38_sundance_hourly_with_weather.csv ds37 enhanced with the site-mean temperature, relative humidity and wind speed from the weather files shipped with the release
ds39_fluvius_pv_30min.csv Fluvius digital-meter release: half-hourly net load (offtake minus injection) for calendar 2024, summed over the 300 residential meters with solar panels and neither a heat pump nor an electric vehicle, on Central European Time
ds40_fluvius_pv_30min_with_weather.csv ds39 enhanced with Brussels-Uccle temperature, relative humidity and wind speed from the Open-Meteo historical weather API

SunDance is released under CC BY 4.0 by the UMass Trace Repository; cite Chen, D. and Irwin, D. (2017), SunDance: Black-box Behind-the-Meter Solar Disaggregation, ACM e-Energy '17. The Fluvius data (dataset 1_50, last updated by Fluvius on 2025-09-29) are reused under the Fluvius open data licence, which permits redistribution and commercial use provided Fluvius and the date of the last update are named. Open-Meteo data are CC BY 4.0.

Model

Forecasting Models Overview

Model ID Model Name Short Description
m1_naive Naive Forecast equals the last observed value
m2_snaive Seasonal Naive Forecast equals the value from the same season in the previous cycle

Statistical Models

Model ID Model Name Short Description
m3_ets ETS Exponential smoothing model with error, trend, and seasonality components
m4_arima ARIMA Autoregressive Integrated Moving Average model for time series forecasting
m5_sarima SARIMA Seasonal ARIMA model with seasonal components
m6_lr Linear Regression Predicts future values using a linear combination of input features

Machine Learning Models

Model ID Model Name Short Description
m7_ann ANN Basic Artificial Neural Network with one hidden layer
m8_dnn Deep Neural Network ANN with more than one hidden layer
m9_rt Regression Tree Decision tree model for regression tasks
m10_rf Random Forest Ensemble of regression trees for improved accuracy and robustness
m11_svr Support Vector Regression Uses support vectors to perform regression with margin of tolerance
m12_rnn Recurrent Neural Network Neural network with feedback loops for sequential data
m13_lstm Long Short-Term Memory RNN variant designed to capture long-term dependencies
m14_gru Gated Recurrent Unit Simplified LSTM with fewer parameters
m15_transformer Transformer Attention-based model for sequence modeling without recurrence
m16_prophet Prophet Time series model developed by Facebook for business forecasting
m17_xgb XGBoost Gradient boosting framework optimized for speed and performance
m18_nbeats N-BEATS Deep learning model for univariate time series forecasting
m19_nhits N-HiTS Multi-rate MLP stack with backcast residuals (Challu et al., 2023)
m20_patchtst PatchTST Transformer encoder over patches of the lookback window (Nie et al., 2023)

Hyperparameter

The list of available models and their hyperparameters can be seen in models/hyperparameters.yaml. The values currently available are the hyperparameter values mostly used in academic literature, but not necessarily the optimum value.

Data Provenance

The datasets in data/ are derived from the following sources, all cleared for public release:

Source Used for
Ausgrid Solar Home Dataset (ASHD) ds1, ds4, ds12, ds13, ds19–ds21
Australian Centre for Advanced Photovoltaics (ACAP), Energy Data Platform (ACAP-EDP) ds2, ds3, ds5–ds11, ds28–ds36
Ausgrid zone substation, Mascot ds14, ds15
Solar Analytics CICCADA battery energy storage system (BESS) cohort South Australian BESS datasets
Solcast and the Australian Bureau of Meteorology (BOM) weather and cloud variables in the Australian _with_weather variants
UMass Smart* SunDance release (CC BY 4.0) ds37, ds38
Fluvius Open Data (Fluvius open data licence) ds39, ds40
Open-Meteo historical weather API (CC BY 4.0) weather variables in ds40

Downloading datasets

A new workspace ships with the ds0 sample only. To add more:

import pynnlf

pynnlf.init("my_project", download_data=True, all_data=True)   # everything
pynnlf.init("my_project", download_data=True, datasets=["ds15"])  # a specific set

Source data for the publication notebooks

The unaggregated source files these datasets are built from are not distributed with the repository: they are large, and the raw feeds are not ours to redistribute. The data preparation notebooks under publication/journal_article_1/notebooks/ therefore read from a local directory instead.

Set PYNNLF_RAW_DATA_DIR to the directory holding your source data folders before running them:

$env:PYNNLF_RAW_DATA_DIR = "D:\pynnlf_source_data"

Those notebooks expect the 1. raw, 2. processed and 3. cleaned folders beneath that root. The international datasets read 1. raw/SunDance/SunDance_data_release/ (the unpacked SunDance archive), 1. raw/Fluvius/ (the Fluvius Deel_1 ZIP and legend workbook) and 1. raw/Open-Meteo/ (fetched by the notebook when absent). A notebook that needs the variable raises an error naming it if it is unset.