nismod/smif

Check that the results for a model run are complete, and if not, which are missing

willu47 opened this issue · 4 comments

Add a function to the smif.data_layer.store.Store class which:

  • given a model run name
  • checks that all results present in the available_results method match those in the model configuration for each model in the system-of-systems in the model run
  • returns a list of missing information, or summary statistics

Parent issue #350

@willu47 just checking, by smif.data_handle.store.Store you mean smif.data_layer.store.Store?

This overlaps quite a lot with #351: work on #351 implemented canonical_expected_results and canonical_available_results, which are the expected and available results with all decision iterations collapsed down to 0.

The reason for collapsing the decision iterations is that it is impossible to know (given the configuration) which output time steps will match to which decision iterations, so we simply have to ensure each time step exists in the output.

For this issue I propose a new method canonical_missing_results such that

store.canonical_missing_results('name') + store.canonical_available_results('name') == store.canonical_expected_results('name')

This is now implemented, inc cli functionality and tests. I'll open a PR.

Closed by #360