Output and other changes

Various misc changes

  • Output to a random directory by default. You can set a user-defined output dir with -o. -o none will disable output entirely.
  • Include the sim_config.yaml in the output dir
  • Configure Pydantic to include docstrings as help descriptions in the CLI
  • Cleaner CLI parsing error output
  • Add ability to modify SystemConfig
    • SystemConfig now has a base field which can make it "inherit" from another SystemConfig file. So you can create a new SystemConfig with a few tweaks without having to copy the whole thing.
    • You can also override this via the CLI using --system.base frontier --system.cooling.fmu-path path/to/my.fmu
    • You can override in --partitions as well, though its a little more awkward to do in the CLI as a list. You have to use the JSON form, e.g. python main.py show -x summit -x '{"base": "frontier", "cooling": {"fmu_path": "path/to/my.fmu"}}'
  • Use separate config models for run and run-parts so that the help messages won't show irrelevant args
    • I set "system" in the legacy_args_dict for both subclasses so that existing code still works

Merge request reports

Loading