Reproducing Results
Table of contents
In order to evaluate the database locally, the command line interface with the command ackrep is used.
A list of all commands is provided at the API page and is also shown by invoking ackrep --help.
Run existing Code
The first step after the successfull installation is to load the database:
ackrep --load-repo-to-db <path/to/ackrep_data>Now a specific problem solution/ system model can be tested (the syntax is different depending on whether you set up Docker or not):
without Docker:
Either with by specifying the path
ackrep --check problem_solutions/<your_problem_solution>/metadata.ymlor by passing the key
ackrep -c <key>.
With Docker:
Either with by specifying the path
ackrep --check-with-docker problem_solutions/<your_problem_solution>/metadata.ymlor by passing the key
ackrep -cwd <key>.
Editing Code
The existing Problems and System Models can be modified easily. Regardless of whether you are susing docker or not, changes in your ackrep_data folder will be present in both cases. But the workflow still differs a bit:
Without Docker a smooth workflow would be:
Pick out the entity you are interested in (system model/ solution/ solution with a specific method package) and find out its key (using the web interface)
Run
ackrep --prepare-script <entity_key>to create a python script (execscript.pylocated in ackrep_data) with all necessary imports.Now you can make adjustments to the imported files (parameters, plots,
plt.show(), etc.) or edit the execscript to create a new program using e.g. system models or method packages. If you want to edit the execscript, you sould make a copy and rename the edited file.Run
python execscript.pyin the ackrep_data folder to view the result. Note: Everytime you runackrep -c <key>the execscript will be overwritten!
With Docker a smooth workflow would be:
Pick out the entity you are interested in (system model/ solution/ solution with a specific method package) and find out its key (using the web interface)
Get the correct environment key for your entity (web interface) and run
ackrep --run-interactive-environment <env_key>(orackrep -rie <env_key>). This will start an environment container with an interactive cli. Invokingmcwill open the Midnight Commander.Run
ackrep --prepare-script <entity_key>from the container cli to create a python script (execscript.pylocated in ackrep_data) with all necessary imports.Note that the ackrep_data directory is shared between your machine (host) and the container, therefore you can make modifications on your host system using your favorite editor.
Make adjustments to the imported files (parameters, plots, etc.) or edit the execscript to create a new program using e.g. system models or method packages. If you want to edit the execscript, you sould make a copy and rename the edited file.
To test your script, run
python execscript.pyfrom the container cli. Onfortunately, since the container is headless, plots have to be saved and examined on the host system.
If you are having trouble, see troubleshooting.
Continue understanding the strucure of the data repo.