Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Map ESDL to a Julia data structure (assets data, flows data, and graph) #89

Closed
Tracked by #88
lsoucasse opened this issue Sep 20, 2023 · 6 comments
Closed
Tracked by #88
Assignees
Labels
Type: addition Add something that doesn't exist Zone: data & import Interfacing between database and Julia

Comments

@lsoucasse
Copy link

lsoucasse commented Sep 20, 2023

Go through the ESDL file and map ports to connections to create a graph in Julia.

The esdl ports link to a hash that later must be scanned to find the right connection.

Also, obtain the assets and flows data


Removed the following because this will happen before GML+CSV are created, i.e., before Julia is involved.
Possible implementation

@lsoucasse lsoucasse mentioned this issue Sep 20, 2023
8 tasks
@lsoucasse lsoucasse changed the title convert ESDL to GML Map ESDL to a graph datastructure Sep 20, 2023
@lsoucasse lsoucasse changed the title Map ESDL to a graph datastructure Map ESDL to a graph data structure Sep 20, 2023
@lsoucasse lsoucasse added Type: addition Add something that doesn't exist Zone: pre-processing labels Sep 20, 2023
@clizbe clizbe added Zone: data & import Interfacing between database and Julia and removed Zone: pre-processing labels Sep 21, 2023
@datejada datejada changed the title Map ESDL to a graph data structure Map ESDL to a Julia data structure (assets data, flows data, and graph) Nov 1, 2023
@datejada
Copy link
Member

datejada commented Nov 1, 2023

@Alfa-R

@sjvrijn
Copy link
Contributor

sjvrijn commented Nov 15, 2023

@lsoucasse #226 has an initial implementation to take an ESDL file and process it into a directed flow graph.
There are some tests for correctly reading instances/assets, but to test the graph construction, I'd prefer to visually build a few graphs rather than trying to edit an existing ESDL file into something manageable and correct.

At least it should save some of the leg work and provide an example of how to work with the XML package if anything else is needed.

@clizbe
Copy link
Member

clizbe commented Nov 22, 2023

Should it now be like this?
ESDL > JSON > Julia data structure

@clizbe clizbe mentioned this issue Nov 23, 2023
20 tasks
@abelsiqueira
Copy link
Member

Just to disrupt this thread a bit, it has been announced in the JuliaCon Local Eindhoven that a package for dealing with XSD will be made available. There is no timeline yet, since it has been developed inside ASML, and they need approval to make it public.

If I understand it correctly, this tool should enable doing with Julia what it is being done with Python (i.e., create structures and read the data directly into these structures), though I am not sure if XSD is enough or not.

The XSD package does NOT cover the full XSD specification yet, though, so we might still need to do some work to make ESDL work with it.

We should check again in a few weeks.

@Lokkij
Copy link

Lokkij commented Dec 4, 2023

That's great news! XSD support should be sufficient to properly handle ESDL. I don't want to delay the input handling for the project too much, though - if we think XSD support is going to take a long time, it's probably worth it to make a temporary (JSON-based?) implementation so we can make progress.

@suvayu
Copy link
Member

suvayu commented Jan 17, 2024

Close in favour of TulipaEnergy/TulipaIO.jl#1

@suvayu suvayu closed this as completed Jan 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: addition Add something that doesn't exist Zone: data & import Interfacing between database and Julia
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants