Do-a-thon: Julia models for Energy system optimization (best practices and next steps)



Do-a-thon: Julia models for Energy system optimization

As a discussion basis the do-a-thon will start with a 10 min input-talk that compares the data flow for a simple 3-bus generator/storage/network example in EnergyModels.jl, PowerSystems.jl/PowerSimulation.jl (refactor-branch), PSA.jl and PowerModels.jl (and probably Joulia.jl).

The comparison should be helpful for some previously proposed do-a-thons, especially about PowerDynamics.jl (@Sabine_elena, @timk) and maybe the one about the PandaPower<->PowerModels.jl bridge (@leon.thurner).

We’ll then aim at two more steps.

1. Dicuss and formulate best-practices for

  • handling electricity system parameters (input data):
    explicit types for single elements (PowerModels/PowerSystems) <-> tables with conventions for classes of generators (EnergyModels/PSA).
  • choosing the model formulation using dispatch on type hierarchies like PowerModels (DCPPowerModel/ACPPowerModel) or PowerSimulation’s (Dispatch- and
  • (conventions for storing and managing the associated jump variables and
  • retrieving and storing solution data

Hopefully, we’ll be convinced that the PowerSystems.jl/...Simulation.jl
momentum is big enough (and the memory overhead solvable enough), that in the

2. Adjoining hack-a-thon

  • We open tickets on their project for features missing for our concrete projects.
  • We start the implementation of exporters/importers to PowerSystems.jl from
    PyPSA and other interested frameworks.


  • Wiki entry about Best practices for Julia models with details about the model differences
  • Tickets on PowerSystems.jl/PowerSimulation.jl for feature “requirements” (requests).