nismod/smif

Parent issue for variability support

willu47 opened this issue · 1 comments

Goal

We want to propagate an ensemble of e.g. weather scenarios through a system-of-systems model to assess the resilience of the system-of-systems

Ideally, this could be available to the user at the command-line, with the subcommand smif prepare and arguments [modelrun_template] [scenario_name] [variant range], or perhaps some useful helpers for specifying a range of scenario variant names like --start weather_001 --end weather_100

Related goal

We want to perform a global sensitivity analysis, and have generated a sample of input data we wish to propagate through the system-of-systems to assess sensitivity of one or more model outputs to the inputs.

Core functionality

  • Write a script which generates one scenario variant for each replicate in the ensemble #362
  • Write a script which generates one model run for each scenario variant in the ensemble #363
  • Perform the batch model run #179
  • Obtain and collate results (extension of #350)
  • Add command line argument (#364)

Alternatively, the steps could be:

  • Add the ensemble as a dimension within a smif scenario
  • Autogenerate a batch of model runs, one for each ensemble realisation
  • perform batch model run
  • obtain and collate results

Issues #362 , #363 and #364 have been addressed within branch variability.
Scripts addressing issues #362 and #363 can be found in

  • src/smif/sample_project/write_scenario_variants.py (#362)

  • src/smif/sample_project/write_variant_model_runs_from_template.py (#363)

Currently those scripts are merely drafts for two functions with the same names in cli/__init__.py, which the smif prepare command actually invoke (see comment in #364)

Note - For the purpose of testing, I slightly modified the energy_central model run definition, adding the weather_at_home scenario.