Skip to content

Vadere model connector#145

Merged
quaquel merged 18 commits intoquaquel:masterfrom
floristevito:vadere_model_connector
Jul 6, 2022
Merged

Vadere model connector#145
quaquel merged 18 commits intoquaquel:masterfrom
floristevito:vadere_model_connector

Conversation

@floristevito
Copy link
Copy Markdown
Contributor

As previously discussed, I implemented a connector to Vadere, a microscopic pedestrian and crowd dynamics simulation framework. The connector is tested on Linux (Ubuntu 21 and 22). 

On a high level, the connector is based on the following steps:

  • Updating the JSON based Vadere scenario files according to passed variables and values.
  • Calling the Vadere console instance with subprocess, and setting up a Vadere run.
  • Writing the model output data to files, loading and structuring the data, and deleting the files afterwards.

I have also included a demo Vadere model and Python notebook file, covering the basics of using the connector.

@coveralls
Copy link
Copy Markdown

Coverage Status

Coverage remained the same at 80.04% when pulling 0151324 on floristevito:vadere_model_connector into 1b5175d on quaquel:master.

@EwoutH
Copy link
Copy Markdown
Collaborator

EwoutH commented Jun 13, 2022

Thanks a lot for this effort!

I think some tests in test/test_connectors/ would be useful, since these get detected automatically by testing software and can be tested in the CI.

Don't know if @cnvanderwal is in the loop, but it looks like something either she's supervising or would be interested in!

@floristevito
Copy link
Copy Markdown
Contributor Author

Thank you!

Natalie is indeed in the loop, she is my (first) supervisor in my EPA graduation project, of which this connector is part of. I additionally discussed the basics for the implementation already with Jan some time back.

The reason that I did not include tests is because the Vadere console executable is needed for a (test) Vadere run, a bit like using Netlogo on Linux. This executable can be build from source, or downloaded directly, by the end user. However, this makes automatic testing a bit more difficult at this moment. I did try to build in some limited errors/warning, and this could potentially be extended upon in the future.

@EwoutH EwoutH added the feature label Jul 5, 2022
@quaquel
Copy link
Copy Markdown
Owner

quaquel commented Jul 6, 2022

Merging this request.

However, we need to have a discussion on how to manage connectors like this. Adding a connector to the workbench implies the need to maintain this connector.

@quaquel quaquel merged commit f37cb26 into quaquel:master Jul 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants