sogno-platform / dpsim-api Goto Github PK
View Code? Open in Web Editor NEWREST API to run dynamic power system simulations using DPsim
License: Apache License 2.0
REST API to run dynamic power system simulations using DPsim
License: Apache License 2.0
Basically, we would like to replicate the previous dpsim-service API but replace analysis with simulation.
The goal is to implement this python example of dpsim.
We would like to have a static version of the OpenAPI spec on a GitHub branch that we can then render using redoc for the SOGNO documentation.
VILLASctrl can already manage kubernetes resources: https://git.rwth-aachen.de/acs/public/villas/controller
We should try to understand what parts of VILLASctrl can be reused.
In order to control the simulator (dpsim), we need to send AMQP messages in the JSON format defined here:
https://villas.fein-aachen.org/doc/controller-protocol.html
To begin we need to be able to start and stop a simulation.
Perhaps this will be later expanded to communicate with dpsim during the run.
Currently the load profile data for a simulation request is sent by using multipart/form-data for the /simulation endpoint post.
This is not consistent with using sogno/file-service for the model data and makes the swagger ui more complicated to implement.
We should move to using json for the /simuation endpoint with a file-service id for the load profile data.
This will mean that the form parameters in the swagger UI will be listed correctly instead of being shown as "application/octet-stream"
Add new parameters to the Simulation form:
domain: DomainType
solver: SolverType
timestep: u64
finaltime: u64
The simulation status is currently recorded as a boolean "ready" in the file object. We should instead have cluster level logging enabled so that for each simulation id we can log the simulation's progress and see where it is stuck or has failed.
It would be good to have an OpenAPI description of the DPsim API so that users can easily write or generate a client. okapi could be used for this feature.
This is connected to sogno-platform/dpsim-worker#6
It is currently not possible to change the url of any related resource (rabbitmq, redis, fileservice) leading to possible collisions with other services, this should be changed in the future. Also the password for rabbitmq is hardcoded to pikas default which is not a longterm solution. Redis in the meanwhile has no authentication set up at all. Both are not available from outside the k8s cluster so this is not a big issue but might become one if user what to use existing resources.
Currently the /simulations endpoint returns a dummy simulation.
Implement the returning the array of existing endpoints.
As returning all the simulations will be lots of data, just return a summary for each simulation.
The openapi.json file is updated, but the redoc pages are not.
We need to start working with keycloak to authenticate users.
Minimum implementation:
Network files should be stored in sogno file server and the simulation request needs to include the fileID.
The load profile data attribute should not be ignored when starting a Simulation.
Status should be updated at least to the following states:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.