Add scan_indices to Simulations #441
Open
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.
I think it would be useful for us to represent the n-dimensional index of a Simulation in the n-dimensional hypercube of Simulations within a SimulationCampaign. For example:
For each Simulation
where the values in the scan_indices dictionary are the indices in the scan_parameters dictionary of the SimulationCampaign:
i.e.
This is required, for example, for us to generate a bbp-workflow campaign summary file as input to blueetl, on the fly. The proposed
scan_indiceswould allow us to do this during or after staging a campaign (after staging is sufficient for now) irrespective of the layout of the directories that the campaign is staged into.It also means we don't have infer the locations of individual coordinates within the hypercube, which is:
In future this might enable other uses, also, such as representing the hypercube of simulations visually
Good to know your thoughts. I'm sure there are other alternatives, but this seems the simplest to me. It would be difficult to do for existing simulation campaigns (especially those where 1 and 2 apply) - so would we leave the values in those columns empty for those rows, for example?