Computer Programs
NEA-1929 POSY.
last modified: 24-APR-2023 | catalog | categories | new | search |

NEA-1929 POSY.

POSY, Power system model for system costs evaluation - Will be released soon

top ]
1. NAME OR DESIGNATION OF PROGRAM

POSY. Publicly available under MIT license at https://git.oecd-nea.org/posy/posy.

top ]
2. COMPUTERS

To submit a request, click below on the link of the version you wish to order. Rules for end-users are available here.

Program name Package id Status Status date
POSY NEA-1929/01 Tested 24-APR-2023

Machines used:

Package ID Orig. computer Test computer
NEA-1929/01 Gitlab,PC Windows Linux-based PC
top ]
3. DESCRIPTION OF PROGRAM OR FUNCTION

POSY is publicly available under MIT license at https://git.oecd-nea.org/posy/posy.

 

POSY is the energy and electricity system cost model of the OECD Nuclear Energy Agency. It is designed to evaluate the system costs in energy and electricity systems with different generation mixes operating under stringent carbon constraints.

For this purpose, POSY calculates the total costs of satisfying a given hourly demand profile. Total system costs include fixed costs such as investment costs and fixed costs for operation and maintenance, and variable costs (e.g. fuel costs or variable Operation and Maintenance costs) of installed technologies, including flexibility provision in the form of voluntary and involuntary demand response, reserves (depending on specifications), as well as the revenues of interconnection.

POSY optimization is based on Mixed-Integer Linear Programming techniques (MILP). In order to allow for reasonable run times, POSY works best with advanced commercial solvers such as Gurobi CPLEX or GLPK. Using open source solvers is possible but will lead to considerably longer run times.

POSY is a capacity expansion and dispatch model with unit clustering. Long-term capacity provision and short-term unit commitment are thus optimised simultaneously. The resulting total cost minimisation corresponds, both, to the outcome of a centralised planning process aiming at welfare maximisation and to the outcome of decentralised profit maximisation in competitive markets. The adequacy constraint is formulated in terms of power at each time step, currently 8760 hours per year are modelled but other resolutions can easily be defined.

 

POSY is publicly available under MIT license at https://git.oecd-nea.org/posy/posy

 

top ]
4. METHODS

POSY is written as a library with high-level functions to be called by the user. The dataset usually consists of two or more tabular files for technological data and time series, a Julia file for the scenario hypotheses, and a Julia file where the user calls POSY using the preferred computation schemes.

The use of the desktop application Atom is recommended for POSY and Julia scripting.

In details:

  • “Technological data” contains costs and characteristics numeric values of each technology. It is formatted as an Excel file with sheets corresponding to technologies families. Each technology is a column in a sheet.

  • “Time series” contains time series such as profile of demand and variable renewable energies (VRE), spot price, Net Transfer Capacities (NTC) of each interconnection, or water intake in hydro reservoirs. It is formatted as an Excel file with sheets corresponding to families of time series.

  • “Main” file contains the links to data sources, and the computation scheme. It is a Julia file.

  • “Scenario” file (optional) contains user-defined constraints for specific scenarios. It is a Julia file.

The way the user runs the model must be defined in the “main” file.

From the NEA GitLab, users comfortable with the command line and git, can clone via “git clone”, or users can prefer to download the code via a zip file from GitLab directly. As an example, the user can run the tutorial located in the “POSY/doc/src” repository. Data directly from the templates will be used.

top ]
5. RESTRICTIONS ON THE COMPLEXITY OF THE PROBLEM

None.

top ]
6. TYPICAL RUNNING TIME

The calculation time may vary depending on the solver and the computer settings as well as the level of complexity of the studied case. The range is wide; POSY runs from a couple of minutes for the tutorial to several hours for a complex case as the modelling of a well interconnected national power system or Hydrogen production by electrolysis.

top ]
7. UNUSUAL FEATURES OF THE PROGRAM

None.

top ]
8. RELATED OR AUXILIARY PROGRAMS

The code requires an external solver which is not provided with POSY. Such solvers should be compatible with the JuMP library, please refer to the supported list of solvers here: https://jump.dev/JuMP.jl/stable/installation/#Supported-solvers. Gurobi is the preferred solver, for details on acquiring a license for it, please see their website: https://www.gurobi.com/.

 

top ]
9. STATUS
Package ID Status date Status
NEA-1929/01 24-APR-2023 Tested at NEADB
top ]
10. REFERENCES
  • D. A. Tejada-Arango, G. Morales-España, S. Wogrin “Power-Based Generation Expansion Planning for Flexibility Requirements” (2019)

  • G. Morales-España, D. A. Tejada-Arango, “Modelling the Hidden Flexibility of Clustered Unit Commitment” (2018)

  • F. N. Al Farsi, M. H. Albadi, N. Hosseinzadeh, A. H. Al Badi, “Economic Dispatch in Power Systems A comparison between vertically integrated and libralized markets”, Proceedings of the 8th IEEE GCC Conference and Exhibition, Muscat, Oman (2015)

  • B. Palmintier, “Flexibility in Generation Planning: Identifying Key Operating Constraints” (2014)

  • B. Palmintier, M. Webster, “Impact of Unit Commitment Constraints on Generation Expansion Planning with Renewables”, IEEE (2011)

NEA-1929/01, included references:
Further documentation available at https://posy.io.oecd-nea.org/posy
top ]
11. HARDWARE REQUIREMENTS

The use of the Gurobi solver requires a maximum of 8 cores in the computer.

top ]
12. PROGRAMMING LANGUAGE(S) USED
Package ID Computer language
NEA-1929/01 Julia
top ]
13. SOFTWARE REQUIREMENTS

POSY runs on Windows. It has also been tested to run on Ubuntu.

It should be possible to run on any operating system that supports the Julia programming language.

top ]
14. OTHER PROGRAMMING OR OPERATING INFORMATION OR RESTRICTIONS

POSY source files are in Julia.

Input data (technological data and time series) are Excel files, while scenario and main files are in Julia. POSY provides an output file in Excel.

top ]
15. NAME AND ESTABLISHMENT OF AUTHORS

Mr Guillaume KRIVTCHIK

 

Nuclear Energy Agency (NEA)

Nuclear Technology Development and Economics Division (NTE)

46, quai Alphonse Le Gallo

92100 Boulogne-Billancourt

FRANCE

 

Contact: programs (at) oecd-nea.org above Nuclear Energy Agency (NEA)

top ]
16. MATERIAL AVAILABLE
NEA-1929/01
/doc/      Tutorial
/src/      POSY source files
/test/     Other POSY modules
README.md Detailed readme file
Further documentation available at https://posy.io.oecd-nea.org/posy
top ]
17. CATEGORIES
  • D. Depletion, Fuel Management, Cost Analysis, and Power Plant Economics

Keywords: economic analysis, energy and electricity system modelling, least cost optimisation, low carbon energy systems, system cost analysis.