flexibility_under_low_observability

Study case for the paper "Exploring Operational Flexibility of Active Distribution Networks with Low Observability"

https://github.com/tu-delft-ai-energy-lab/flexibility_under_low_observability

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.1%) to scientific vocabulary

Keywords

distribution-networks distribution-system flexibility monte-carlo power-system-simulation power-systems
Last synced: 7 months ago · JSON representation ·

Repository

Study case for the paper "Exploring Operational Flexibility of Active Distribution Networks with Low Observability"

Basic Info
  • Host: GitHub
  • Owner: TU-Delft-AI-Energy-Lab
  • License: cc-by-4.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 19.5 MB
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Topics
distribution-networks distribution-system flexibility monte-carlo power-system-simulation power-systems
Created over 3 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License Citation

README.md

Study Case Flexibility with Low Observability

This code runs power flow-based simulations on the PandaPower CIGRE MV with PV and WT DER for flexibility estimation.

Citation:

This repository contains code for the paper:

Demetris Chrysostomou, Jose L.R. Torres, Jochen L. Cremer, "Exploring Operational Flexibility of Active Distribution Networks with Low Observability" to appear at IEEE PowerTech 2023, Belgrade, Serbia

Algorithm:

The algorithm structure is:

Folders:

  • scenarios: json fies which are used to initialize the simulation settings and expected outputs.
  • plots: figures generated using the settings specified in scenarios
  • csv_results: results generated from the power flow-based simulations if specified in the scenario
  • code: python files reading the json file, performing the specified simulations and reporting the specified results

Code:

  • main: the main python file which should run to perform the scenario specified in the json file
  • data_sampler: python file used to sample flexibility shifts
  • json reader: python file parsing through the json file, testing if the information should be sufficient and saving the information
  • monte_carlo: python file performing the power flow-based simulations
  • plotting: python file plotting the results or requested outputs
  • scenario_setup: python file setting up the scenario using the information of the json reader
  • utils: functions useful to other python files

Scenarios:

  • USS1: Json file performing the power flow based simulations for the USS1
  • USS2: Json file performing the power flow based simulations for the USS2
  • TSS1: Json file performing the power flow based simulations for the TSS1
  • TSS2: Json file performing the power flow based simulations for the TSS2
  • TSS2: Json file performing the power flow based simulations for the TSS3
  • Unaltered: Json file performing the power flow based simulations for the unaltered network
  • PlotConvexHullCombination: Json file plotting the areas and their convex hulls from the results of the previous json files saved in the csvresults folder

Publication study case table information:

Table I

Each time a scenario is run, a comparison between the unaltered and altered model is printed in the output, e.g. for USS2:

By running all scenario json files the information for Table I is obtained.

Table II

To replicate Table II: Run the main.py using the "PlotConvexHulls" json file. Using this json file, the algorithm reads all csv_files specified, computes their convex hulls, prints the Table II on the output window, and plots the convex hulls. The printed table is:

To generate the csv files, run the main.py file 6 times, with inputs each of the json files: - TSS1, TSS2, TSS3, USS1, USS2, and Unaltered_Net

Plots

To generate Fig. 4 run the main.py file with PlotConvexHulls as the input json file. This, will generate all flexibility areas in individual figures. Running the PlotConvexHull_Combined would create a single figure with all scenario flexibility areas

Run Scenario

To run scenarios and execute the code: 1. Open the terminal from the StudyCaseFlexLowObservability directory 2. Type: python code/main.py {scenario_name}, where {scenario name} is the name of the json file to be parsed

Create Scenario

To create a new scenario, a json file needs to be created with entries: - name: a string which will be used in all output files - scenario settings: a dictionary with all scenario information, including:

  • network: the PandaPower network used (currently only CIGRE MV with DER PV and WT is supported)
  • no_samples: number of samples for the power flow-based simulation iterations, integer
  • distribution: distribution for the sample generation, currently supported:
    • 'NormalLimitsOriented', 'Normal', and 'Uniform'
  • keep_mp: boolean whether DG power output can be reduced or only their power factor can be shifted
  • maxcurrper: maximum loading percentage allowed, float or int, e.g.100
  • maxvoltpu: maximum per unit voltage allowed, float, e.g.1.05
  • minvoltpu: minimum per unit voltage allowed, float, e.g.0.95
  • MonteCarlosimulation: boolean whether power flow-based simulations will be run, or only the existing csv files will be used,
  • FSPs: Which types of FSPs will be used, options:
    • "All" (for both DG and Loads)
    • 'DG only' (for only DG FSPs)
    • 'Load only' (for only Load FSPs)
  • FSPWTindices: list of indices of flexible wind turbines, e.g [1,3,4]
    • If the list has a single element of -1, then all wind turbines are assumed FSPs
  • FSPPVindices: list of indices of flexible solar photovoltaics, e.g [1,3,4]
    • If the list has a single element of -1, then all solar photovoltaics are assumed FSPs
  • FSPLoadindices: list of indices of flexible loads, e.g [1,3,4]
    • If the list has a single element of -1, then all loads are assumed FSPs
  • observablelinesindices: list of indices of observable lines, e.g [1,3,4]
    • If the list has a single element of -1, then all lines are assumed observable
  • observablebusesindices: list of indices of observable buses, e.g [1,3,4]
    • If the list has a single element of -1, then all buses are assumed observable
  • scenario_type: a dictionary for the network altering scenario to be used. Options:
    • name: string. Options are: "TSS","USS","Unaltered Model"
    • no.: integer. Scenario number, as shown in the publication, i.e. for USS 1, or 2, for TSS 1, 2, or 3
  • plot_settings: a dictionary with settings for the plot generation
    • convex_hull: boolean. If true, plots with convex hull areas will be created, and the Table II equivalent on the specified filenames will be returned on the output window. If false, plots will not include convex hull and Table II information will not be printed.
    • plot_combination: boolean. If true, a single figure will be created with all filenames' areas. If false, a figure will be created for each filename
    • multiplicity: boolean. Whether multiplicity should be plotted for each input filename (for power flow-based approaches, these plots are not sufficient as they are highly dependent on the sampling distribution)
    • filenames : list of strings with the csv filenames to be used for plots and output generation. These filenames should exist under the csv_results directory.
    • legends: list of strings with the titles for each of the filenames above
    • operatingpoints: list of the initial PQ values of each of the filenames. These values can be obtained by running each of the json files of these scenarios and saving the PCC PQ printed on the output window, e.g. <img src="plots/readmefigures/pcc_pq.png" width="800">
    • output type: string of the type of figures saved, e.g."png", "jpg", "svg"

License

Shield: CC BY 4.0

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0

Owner

  • Name: TU-Delft-AI-Energy-Lab
  • Login: TU-Delft-AI-Energy-Lab
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
title: >-
  Case Study for Exploring Operational Flexibility of Active
  Distribution Networks with Low Observability
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Demetris
    family-names: Chrysostomou
    email: D.Chrysostomou@tudelft.nl
    affiliation: 'IEPG, EEMCS, TU Delft'
    orcid: 'https://orcid.org/0000-0002-3564-4629'
  - given-names: Jose Luis
    family-names: Rueda Torres
    orcid: 'https://orcid.org/0000-0001-7288-0228'
    affiliation: 'IEPG, EEMCS, TU Delft'
    email: J.L.RuedaTorres@tudelft.nl
  - given-names: Jochen Lorenz
    orcid: 'https://orcid.org/0000-0001-9284-5083'
    family-names: Cremer
    affiliation: 'IEPG, EEMCS, TU Delft'
    email: J.L.Cremer@tudelft.nl
repository-code: >-
  https://github.com/TU-Delft-AI-Energy-Lab/Flexibility_Under_Low_Observability
abstract: |2-
    This repository contains the code for the study case for the paper:
    Demetris Chrysostomou, Jose L.R. Torres, Jochen L. Cremer,
    "Exploring Operational Flexibility of Active Distribution Networks with Low Observability" to appear at
    IEEE PowerTech 2023, Belgrade, Serbia
keywords:
  - Distribution networks
  - Distribution network flexibility
  - Flexibility
  - Power grid observability
  - Distribution network observability
  - Monte Carlo sampling
license: CC-BY-4.0

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 8
  • Total Committers: 2
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.125
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Demetris Chrysostomou 5****h 7
Demetris Chrysostomou d****o@t****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: 24 days
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 24 days
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • akhtar3100 (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels