Package: opender
EPRI’s OpenDER model aims to accurately represent steady-state and dynamic behaviors of inverter-based distributed
energy resources (DERs). The model follows interconnection standards or grid-codes and is informed by the observed
behaviors of commercial products. Currently, model version 2.0 includes photovoltaic (PV) and battery energy storage
system (BESS) DER behaviors according to the capabilities and functionalities required by the IEEE standard 1547-2018.
This first-of-its-kind model can be used to run snapshot, Quasi-Static Time Series (QSTS), and a variety of dynamic
analyses to study the impacts of DERs on distribution operations and planning.This project is licensed under the terms of the BSD-3 clause license.ResourcesOpenDER is under active development. Use the following resources to get involved.EPRI OpenDER homepage (link)Model specification: IEEE 1547-2018 OpenDER Model: Version 2.0, EPRI, Palo Alto, CA: 2022. 3002025583
(link)Development ObjectiveHarmonize accurate interpretations of the IEEE Std 1547-2018 DER interconnection standard among all the stakeholders,
including utilities, distribution analysis tool developers, and original equipment manufacturers (OEMs).Build consensus through an open-to-all DER Model User’s Group (DERMUG), which will utilize EPRI developed model
specifications and codes and provide feedback for continuous improvement of the OpenDER model.Help the industry properly model the DERs that are (or to be) grid interconnected and evaluate the associated impacts
on distribution circuits accurately.Overall Block DiagramDependenciesPython >= 3.7numpypandasmatplotlibDependencies of the package are auto-installed by pip command below.Installationpip install openderExample of Using the DER ModelExample script: main.pyThis example generate DER output power in a dynamic simulation to demonstrate DER trip and enter service behavior.
The grid voltage is set to be alternating between 1 and 1.11 per unit every ~10 minutes.
DER should be observed to enter service and trip periodically.Other examples can be found in theExamplesdirectory.
Click the .ipynb files to see example scripts and execution results.Unit testsDependency: pytestExecution command: pytest path-to-package\testsChangelog2.1.3 (2023-12-05)Add a property for SoC of BESS DER using .bess_socAutomatically update the reactive capability curve if nameplate parameter is modified
(when user defined curve is not provided)2.1.2 (2023-08-23)Fixed an issue for BESS parameter initialization2.1.1 (2023-08-18)Fixed an issue on voltage source output when zero sequence voltage is presentCorrected single phase DER voltage measurement2.1.0 (2023-05-29)Updated interaction between enter service ramp and ride-through. Now DER returns to enter service ramp
after ride-throughAdded an optional charge/discharge ramp rate limit for BESS DERAdded resets for all grid-support functions when DER is tripped2.0.3 (2023-04-14)Fixed the option to update BESS DER parameter when creating the object.Fixed a bug when initializing a BESS DER during abnormal frequency condition.2.0.2 (2023-04-03)Fixed a bug abnormal operation category (NP_ABNORMAL_OP_CAT) only accepts uppercase valuesUpdated ride-through performance to better represent actual inverter’s behaviorAdded an option to update DER parameter when creating the object.2.0.1 (2023-03-21)Fixed a bug where enter service randomized enter delay does not behave as expectedFixed a bug where momentary cessation does not behave as expected2.0.0 (2023-03-20)Changed all units of nameplate rating to the base unit Watt/var/VA, from kW/kvar/kVA in Version 1.0.Added one time delay feature to represent the DER active and reactive grid support functions’ reaction time, and a first order lag for in applicable voltage measurement.Added Battery Energy Storage System (BESS) DER specific functions including State-of-Charge (SOC) calculation, and their corresponding model input parameters.Updated applicable smart inverter functions to consider BESS DER behaviors, including volt-watt, active power limit, and watt-var functions.Changed the DER operation status from ON/OFF to “Continuous Operation”, “Mandatory Operation”, “Momentary Cessation”, “Trip”, etc., to better capture the DER ride-through status, and its performance in different ride-through modes.Added DER ride-through performance module, which includes the DER performance under different ride-through modes, including Momentary Cessation, etc.Added DER model output options as current source and voltage source behind impedance.1.0.2 (2022-07-18)Improve model input validity check process1.0.1 (2022-06-17)Include parameter csv files into the PyPI release1.0.0 (2022-05-17)First releaseModel for photovoltaic (PV) DERs, including all smart inverter functions defined in IEEE Standard 1547-2018, as well as trip and enter service behaviorsOutput active and reactive power (P, Q) for power flow analysisSuitable for both steady-state, quasi-static time series (QSTS) and dynamic simulations