GithubHelp home page GithubHelp logo

ie3-institute / simbench2psdm Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 0.0 3.32 MB

Tool to convert SimBench data sets to ie³'s power system data model

License: BSD 3-Clause "New" or "Revised" License

Scala 100.00%
simbench opendata converter powersystems

simbench2psdm's Introduction

simBench2pdsm

Build Status Codacy Badge codecov License

simbench logo

Tool to convert SimBench data sets to ie3's power system data model. SimBench has been research project of Kassel university, Fraunhofer IEE, RWTH Aachen university and TU Dortmund university, aiming at provision of realistic models of electrical distribution grids including time series. The data is availabe at https://simbench.de.

There is another conversion tool available here, that makes the models available to the well known pandapower simulation software.

simbench2psdm's People

Contributors

ckittl avatar codacy-badger avatar danielfeismann avatar dependabot[bot] avatar jo-bao avatar johanneshiry avatar sebastian-peter avatar t-ober avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

simbench2psdm's Issues

Deliver result as archives

Currently, only a folder of csv files is delivered. Add the functionality to deliver them as archives.

Map "subnet" to psdm conept of "subnet"

In PowerSystemDataModel, the subnet denotes a galvanically separated sub grid. However, in certain data sets of SimBench this seems not to be the case, e.g. "1-EHV-mixed--0-sw". In this specific example, subnet "EHV1" mixed 380 kV und 220 kV sub grids.

  • Clarify the concept of SimBench's subnet
  • Extend subnet mapping from simply mapping the field subnet, but also consider different voltage levels

Output time series meta data

Currently after conversion we do not know anything about the load profiles, as all their metadata isn't persisted.
Write out the additional data.

Update jdk version to 17

JDK should be updated from 1.8 to 17. This will also fix the incompatibility with current SonarQube.

Address extensive memory usage

Currently, there are several grid models, that consume a lot of memory:

  • 1-HVMV-mixed-all-0-no_sw
  • 1-HVMV-mixed-all-1-no_sw
  • 1-HVMV-mixed-all-2-no_sw
  • 1-HVMV-urban-all-0-no_sw
  • 1-HVMV-urban-all-1-no_sw
  • 1-HVMV-urban-all-2-no_sw
  • 1-MVLV-comm-all-0-no_sw
  • 1-MVLV-comm-all-1-no_sw
  • 1-MVLV-comm-all-2-no_sw
  • 1-MVLV-rural-all-0-no_sw
  • 1-MVLV-rural-all-1-no_sw
  • 1-MVLV-rural-all-2-no_sw
  • 1-MVLV-semiurb-all-0-no_sw
  • 1-MVLV-semiurb-all-1-no_sw
  • 1-MVLV-semiurb-all-2-no_sw
  • 1-MVLV-urban-all-0-no_sw
  • 1-MVLV-urban-all-1-no_sw
  • 1-MVLV-urban-all-2-no_sw

Try to address those cases.

Handle models parallely

By implementing a concurrent handling in Coordinator, e.g. together with kind of a worker pool or controllable amount of children.

Allow for removing of switches

Currently, switches are converted in any case.

Sometimes, a simulator might only support a bus-branch model without switches. Therefore, allow the removal of switches from target data set.

Search for memory leaks

When working on big input models or in concurrent operation, the memory is exhausted quite quickly. In order to see, if this is just a very memory consuming application or it is caused due to memory leaks: Have detailed look at it.

Wrong line type selected

... e.g. when converting "1-EHVHV-mixed-all-0-no_sw".

Within the routine, the line types get converted and result in pairs of types with similiar / equal attributes, but different rated voltages. Specifically, there are types, with the same electrical parameters, one for 220 kV rated voltage and one for 380 kV.

However, unfortunately, when converting the lines themselves, the wrong type gets select. Let there be a line between two 220 kV-nodes, then a 380 kV line type is selected, although a 220 kV type is available.

Please do research on how that error can occur and try to develop a solution.

Problems with unit comparison of "equal units"

In 78c168d when comparing values of kind:

      actual.getgM() should equalWithTolerance(
        Quantities.getQuantity(826.44628, MetricPrefix.NANO(SIEMENS))
      )

We got failing tests, even though they shouldn't.

The problem of the test failing was the unit even though it was of unit nano Siemens.
Looking into the unit actual had a noted symbol attribute while expected didn't.
I suspect that it has something to do with the StandardUnits.

In any case this comparison should work. Find out what this is about

Add argument / config parameter to convert DER processing to their corresponding asset in PSDM

At the moment, all infeed assets are converted to FixedFeedIn entities with their infeed timeseries attached. It would be nice to have to ability to convert the entities to their PSDM equivalent (e.g. pv -> pv) as configuration parameter.

This would allow using existing models to calculate infeed based on e.g. solar radiation for pv panels instead of using the pre-calculated simbench timeseries.

Write time series parallely

Time series are written in their own file, therefore, they can be treated in parallel. However, this feature is currently not supported by PowerSystemDataModel.

Implement data retreival strategy

It should be checked, if the data has to be freshly downloaded or if either a completely converted data set or at least the downloaded archives are apparent.

Faulty tests in Transformer2wTypeConverterSpec

Some of the tests of in the Transformer2wTypeConverterSpec shouldn't pass as the values the actual calculated result is compared against seems to be wrongly parameterized.

For the conductance (gM) the result (as per my pen and paper calculations and implementation of the parameter calculation for the powerfactory2psdm converter) should actually be a third of the noted 2480.5790 nS.

Why do the test pass:

We compare the difference of actual and expected result against the testing tolerance. As we miss to take the absolute value of that difference the tests conveniently still passes when the expected result is much greater than the actual result.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.