Renewable energy systems

Design, optimisation, and research for the energy transition — mostly the Dutch grid, mostly hourly time-series, mostly in Python on top of the open-source PyPSA stack. Independent work runs through Treehouse Energy; investment-grade BESS & grid analytics through Birdview Energy.

What I work on

Three problems, every project, in some combination:

Concrete work on treehouseenergy.nl — BESS feasibility studies, grid-congestion analyses, hourly time-series simulation, and forward curves for asset valuation.

Modelling stack

The pieces below are open-source and most of them have small upstream PRs from me — the Dutch transition is not a problem anyone solves with a closed tool.

Energy-system modelling

  • PyPSA · network & dispatch
  • PyPSA-Eur · pan-European reference
  • linopy · LP/MIP on xarray
  • HiGHS / HiPO · solver
  • atlite · weather → CF profiles
  • powerplantmatching · fleet

Weather & resource

  • ERA5 · ERA5-Land reanalysis
  • SARAH-3 solar irradiance
  • KNMI NL weather stations
  • pvlib · windpowerlib
  • Renewables.ninja · cross-checks

Grid & geo

  • OpenStreetMap · transmission topology
  • TenneT congestion & imbalance
  • JAO flow-based domain
  • geopandas · shapely · rasterio
  • networkx for topology

Markets & data

  • ENTSO-E Transparency
  • Ned.nl · NL solar & wind truth
  • EPEX SPOT day-ahead & intraday
  • CBS NL statistics
  • Vopak / industrial demand overlays

Research influences

The methodology here doesn't come from nowhere. The shortlist of researchers I lean on most for energy-system modelling:

Tom Brown

Lead architect of PyPSA and PyPSA-Eur — the framework most of my work runs on. Influential on cost-optimal pathways, sector coupling, and open European energy modelling at TU Berlin.

nworbmot.org · scholar

Stefan Pfenninger

Renewables.ninja, Calliope, and a long line of papers on how weather variability, transmission, and storage interact in high-renewables systems. The reason "your dispatch model is only as honest as its weather year" is the default assumption.

pfenninger.org · renewables.ninja

Jesse Jenkins

Princeton ZERO Lab — capacity expansion, the role of "firm clean" generation, and grid build-out as the binding constraint on the energy transition. Net Zero America and the GenX line of work have shaped how I frame transmission and storage trade-offs in NL studies.

zero-lab.princeton.edu · netzeroamerica

Iain Staffell

Co-author on much of the renewables-availability literature (with Pfenninger), and a steady stream of work on storage economics, hydrogen, and the European power system at Imperial.

imperial profile

Fabian Neumann

PyPSA-Eur core developer alongside Tom Brown — high-resolution European modelling, sector coupling, hydrogen networks. Many of the methods I rely on day-to-day were first published as PyPSA-Eur tutorials and notebooks by Fabian.

github.com/fneum

Auke Hoekstra

TU/e — EV adoption and energy-transition modelling in the Dutch context. A useful sanity check whenever a top-down NL scenario claims something the on-the-ground adoption curve would not support.

tue.nl profile

Selected pieces

Birdcurve — NL forward power curve

Hourly forward power-price curve for NL and neighbouring zones, built bottom-up from fundamentals (fuel forwards, fleet capacity, weather-driven renewables) and calibrated against the cleared forward market. The reference curve I value BESS revenue against.

NL grid power flow

PyPSA-Eur–based model of the Dutch high-voltage network, calibrated against TenneT data. Used to study congestion, curtailment risk under high-renewables scenarios, and connection-point capacity for new BESS and industrial load.

Day-ahead price formation in 2030 (MSc thesis)

Simulating day-ahead price formation in 2030 with large-scale BESS and V2G acting and competing — published with code on GitHub and on Google Scholar.

Upstream contributions

Small but load-bearing PRs to the optimisation stack — linopy, HiGHS, and PyPSA-Eur. Tools I rely on, made faster and less surprising for everyone else solving the same problems.