Make setup() in scenario switch directory if set #180
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When running a multipoint case, the MPhys scenario class has a
run_directory
option to run each scenario in a particular directory. The purpose of this is that if a solver writes output files like residual histories, visualization files, restart files, etc. then scenarios will not overwrite each other's files.Another potential use of switching directories is specifying separate input options for separate scenarios. For example,
Having
scenario0/driver.cfg
andscenario1/driver.cfg
. A typical way this would be implemented is the Builder reading these inputs duringinitialize()
. For a serial Multipoint case, the user would handle reading the inputs separately or switching directories before calling initialize. However in parallel Multipoint cases whereinitialize()
is called within the scenario, the builder currently has no way to know which input file to use.The change makes a scenario switch directories in
setup()
, which means that calls to Builders'initialize()
will be done while in the scenario directory.