A 154-bus Nordic Distribution grid (NOD) used for publication. Grid data taken from a real distribution grid in Norway.
The NOD154 is a medium-voltage distribution grid model derived from a real Norwegian distribution network. It consists of 154 buses at the 23 kV level, supplied through a single 132/23 kV transformer connected to the external grid at bus B0.
| Component | Count | Description |
|---|---|---|
| Buses | 154 | 1 at 132 kV (B0), 153 at 23 kV (B1–B153) |
| Lines | 152 | All at 23 kV |
| Transformer | 1 | 132/23 kV, 40 MVA, with on-load tap changer (OLTC) |
| Loads | 79 | Active power loads (0.05–2.0 MW range) |
| Synchronous machines | 5 | SM1 (3.3 MVA), SM2 (0.1 MVA), SM3 (8.5 MVA), SM4 (5.7 MVA), SM5 (2.0 MVA) |
| Solar PV units | 23 | Rated from 0.05 to 2.0 MVA |
The grid has a radial topology with a single main feeder and multiple lateral branches. Distributed generation includes both synchronous machines and solar PV installations spread across the network.
The grid data is provided in grid_data/grid_data.xlsx (see also grid_data/original_grid_data.xlsx for the unmodified source) and contains the following sheets:
- busbars — Bus indices, names, and nominal voltages.
- lines — Line parameters including impedance (R, X), capacitance, current limits, and connectivity.
- loads — Load bus assignments with nominal active and reactive power.
- gens — Synchronous generators with ratings, voltage setpoints, and slack bus assignment.
- static gens — Static generators (solar PV) with rated power and bus assignments.
- trafos — Transformer parameters including voltage levels, impedance, and tap changer settings.
The folder opf_experiment_data/ publishes the training and validation CSVs used for multi-period OPF experiments on NOD154 (e.g. droop-based ORPD): per-bus load and generation for quarter-hour steps, aligned with the grid model. It includes:
training/—train_n_1.csv,train_n_2.csv,train_n_4.csv(1, 2, and 4 training days).validation/—validation_day91.csv…validation_day100.csvplus optional*_factors.csvaggregate files.voltage_reference_statistics.csv— Per-bus voltage statistics for droop references and limits.
See opf_experiment_data/README.md for schema, day indexing, and how training vs. validation days are defined.
NOD154/
├── figures/ # Grid diagrams and visualizations
│ ├── grid_drawing.png
│ └── grid_drawing.pdf
├── grid_data/ # Raw grid model data
│ ├── grid_data.xlsx
├── opf_experiment_data/ # Published OPF training/validation time-series (CSV)
│ ├── README.md
│ ├── training/
│ ├── validation/
│ └── voltage_reference_statistics.csv
├── operating_points/ # Operating point data (load/generation scenarios)
├── test_results/ # Power flow results (CSV per scenario)
├── LICENSE
└── README.md
Four power flow scenarios are defined by combining two load levels and two generation levels. Loads are scaled uniformly from their rated apparent power (s_base_mva), and generators are scaled from their rated capacity (S_rated_mva). All synchronous machines (SM1–SM5) are modelled as PQ buses with Q = 0. Solar PV units are static generators (PQ) with Q = 0.
| Scenario | Load factor | Hydro (SM1–SM5) | Solar PV |
|---|---|---|---|
| Low load, low gen | 0.1 | P = 0.2 × S_rated | P = 0, Q = 0 |
| Low load, high gen | 0.1 | P = 0.9 × S_rated | P = 0.9 × S_rated |
| High load, low gen | 0.8 | P = 0.2 × S_rated | P = 0, Q = 0 |
| High load, high gen | 0.8 | P = 0.9 × S_rated | P = 0.9 × S_rated |
The slack bus (B0, external grid connection at 132 kV) balances the system.
Power flow results for each scenario are stored as CSV files in test_results/ (bus results and branch results per scenario).
| Scenario | P_gen (MW) | P_load (MW) | Losses (MW) | V_min (pu) | V_max (pu) |
|---|---|---|---|---|---|
| Low load, low gen | 1.90 | 1.81 | 0.09 (4.8%) | 1.000 (B0) | 1.034 (B103) |
| Low load, high gen | 3.69 | 1.81 | 1.88 | 1.000 (B0) | 1.166 (B99) |
| High load, low gen | 16.81 | 14.48 | 2.32 (16%) | 0.828 (B84) | 1.000 (B0) |
| High load, high gen | 14.86 | 14.48 | 0.38 (2.6%) | 1.000 (B0) | 1.048 (B103) |
Key observations:
- High load, high gen is the most balanced operating point, with local generation covering most of the demand and losses at only 2.6%.
- Low load, high gen produces significant overvoltage at the feeder endpoints (V_max = 1.17 pu at B99) as excess generation flows back to the external grid through the radial feeders.
- High load, low gen causes large voltage drops (V_min = 0.83 pu at B84) since the slack bus must supply the bulk of the demand through long, high-impedance radial feeders.
This grid model is intended for scientific research and power systems engineers studying voltage-constrained distribution grids with high penetration of distributed energy resources (DER). The data can be imported into any power flow tool that accepts bus/branch/generator data in tabular form.
See LICENSE for details.
