Giter VIP home page Giter VIP logo

ses-fortiss / smartgridcosimulation Goto Github PK

View Code? Open in Web Editor NEW
17.0 5.0 9.0 56.19 MB

Co-Simulation Framework for Smart Energy System Modelling and Analysis. Currently used and developed for MEMAP - a platform for energy system planning, optimisation and control.

License: Apache License 2.0

HTML 0.12% JavaScript 0.60% Java 98.80% CSS 0.04% Batchfile 0.01% Shell 0.01% Processing 0.07% C++ 0.29% Solidity 0.08%
energy-management-systems memap smart-energy-platform

smartgridcosimulation's People

Contributors

apsara-ms avatar bytschkow avatar daniagudelos avatar dependabot[bot] avatar freieslebenzdb avatar highvight avatar janaxelmayer avatar johburger avatar lenaheidemann avatar thomaslicklederer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

smartgridcosimulation's Issues

Allow user to leave consumption file field unspecified

Currently the user can leave the consumption file unspecified ONLY if they don't attempt change the text field.

Verification works in the following way:

  1. A valid path is selected
  2. An invalid path is selected or no path is specified -> Display error and replace field by previously valid specified field.

Once a valid path is selected, the user can not leave the field unspecified. The user should be allowed to select a valid path or no path at all (in this case memap uses default files)

Error in ExampleLoader

Example loader request a file from resources. New implementation tries to read the file from source (actual path in the machine).

Separate resources directory from results directory

Justification: With current configuration there is not a clear separation of project inputs and outputs. Results are versioned because they are generated in the resources file (bad practice).

Current configuration:

res/ contains the following:

  • default consumption files
  • directory "results" with results csvs
  • directory "opcconfig" with option configuration files

Ideally, only the resources that the project use should be in the "resource" directory. Therefore, "opcconfig" and "results" should be moved to another directory.

Suggestion for directory structure:

  • Source code:
    memapServer/src/main/java/linprogMPC

  • Resources directory:
    memapServer/src/main/java/resources

  • Configuration and results directory:
    ~/output/opcconfig
    ~/output/results

Created in the execution directory.

This is the current configuration of memapBasis and memapGui

Update GUI Style

  • Make button icons update (Now there is disparity in their design)

  • Update MEMAP logo

  • Update color scheme accordingly

Real Live Modus

When in live mode, Memap is actually using the logic of the planning tool and runs a 7 day simulation.

This should be changed to a real live mode, which runs indefinitely.

Integrate memapServer in memapGui

I created a template for the GuiController in memapServer.

I did not find the time to integrate the Controller in memapGui unfortunately. There is still some work to be done, but this should pinpoint in the right direction,

Clean up Opc-Ua helpers

There is BasicClient, MemapClient, OpcUaClient and ReadClient in the helperOPCua package at the moment. I think we are only using BasicClient, but the other clients are way more sophisticated.

This should be cleaned up anyways.

Add SOC parameter to GUI

State of charge should be a parameter of Storage objects with verified values between 0 and 1

Implement variable/fixed price functionality

Currently, the energy prices are not user input.

With the new implementation, the user should be able to give a path to a custom file (with variable or fixed prices) or one value, to be used as a fixed price.

Implement variable/fixed price functionality

Currently, the energy prices are read from hardcoded CSV files.

With the new implementation, they should be able to receive a path to a custom file (with variable or fixed prices) or one value, to be used as a fixed price.

memapGui: Add paths to building JSONs in parameterConfig.json

Currently the parameterConfig.json looks like this:

{"length":96,"steps":24,"days":1,"weather":true,"price":true,"memapON":false,"optCriteria":"cost","runInServer":true}

Would make life easier for the simulation if we could add the paths to all building.jsons:

{"length":96,"steps":24,"days":1,"weather":true,"price":true,"memapON":false,"optCriteria":"cost","runInServer":true, "buildings":["PathToBuilding1.json", "PathToBuilding2.json",...]}

Repaint error in some panels

Some of the panels are being continuously repainted. That causes an effect of blinking in children components. This problem obstructs #23

Specific cases:

  • ParameterPanel
  • pl_ems_detail
  • demandPanel
  • storagePanel
  • volatilePanel
  • controllablePanel
  • couplerPanel

Allow in-window parameter customization

Currently: Control panel appears as an emerging window.

Goal: Allow in-window parameter customization.

  • Add file selection fields for weather conditions and price conditions.

Show a different number of result items for each building

Current behavior: There is a fixed number of results shown for all buildings. These fixed number depends on the number of results of the first building.

Wanted: Show all results from all buildings, regardless of the number of items corresponding to each one of them.

Error when consumption files are not specified.

When consumption files are not specified in the GUI the program outputs the error: "Error reading or parsing thrown at ConsumptionProfiles", which is not the expected behavior.

The default consumptionFile should be used instead.

Change the path format in the parameterConfigFile.json

The set of building paths should be accessible by a name:
{ (...) "buildings":["PathToBuilding1.json", "PathToBuilding2.json",...]}
Currently, each path has a name configured and the name is the same for all of them.

Clean up code

Remove unused imports and variables.
Solve warning messages.

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.