cimsi 0.8.2__tar.gz → 0.8.2.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/.gitlab-ci.yml +3 -5
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/CONTRIBUTING.md +1 -26
- {cimsi-0.8.2/cimsi.egg-info → cimsi-0.8.2.dev1}/PKG-INFO +1 -1
- {cimsi-0.8.2 → cimsi-0.8.2.dev1/cimsi.egg-info}/PKG-INFO +1 -1
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/cimsi.egg-info/SOURCES.txt +0 -6
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/developing_configurations.rst +2 -23
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/imsi_tracking.rst +0 -1
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/usage.rst +19 -10
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/_version.py +3 -3
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/cli/core_cli.py +14 -22
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/cli/entry.py +0 -1
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/config_manager.py +11 -27
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/experiment.py +0 -1
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/model.py +0 -1
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/sequencer_interface/maestro_cap.py +4 -4
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/disk_tools/disk_tools_cli.py +1 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/user_interface/ui_manager.py +49 -53
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/user_interface/ui_utils.py +0 -29
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/deploy_imsi_env.sh +11 -17
- cimsi-0.8.2/.gitlab/issue_templates/bug.md +0 -50
- cimsi-0.8.2/.gitlab/issue_templates/documentation.md +0 -26
- cimsi-0.8.2/.gitlab/issue_templates/enhancement.md +0 -48
- cimsi-0.8.2/.gitlab/issue_templates/feature.md +0 -48
- cimsi-0.8.2/tests/test_override/test_apply_options_overrides.py +0 -97
- cimsi-0.8.2/tests/test_override/test_parse_override_cli.py +0 -56
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/.editorconfig +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/.gitignore +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/.gitlab/merge_request_templates/imsi_mr.md +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/.readthedocs.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/LICENSE +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/MANIFEST.in +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/Makefile +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/README.md +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/cimsi.egg-info/dependency_links.txt +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/cimsi.egg-info/entry_points.txt +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/cimsi.egg-info/requires.txt +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/cimsi.egg-info/top_level.txt +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/config/imsi-user-config.json +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/Makefile +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/_static/assets/favicon.ico +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/_static/assets/logo/logo_imsi_wordmark-400px-transparent.png +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/_static/custom.css +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/_static/imsi_configuration_hierarchy.png +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/_static/imsi_owl.png +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/_static/maestro_status.png +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/_static/setup-menu.gif +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/conf.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/config_breaking_changes.rst +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/design.md +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/developing_imsi.rst +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/ensemble.rst +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/imsi.rst +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/imsi_simple_shell_sequencer.rst +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/index.rst +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/installation.rst +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/make.bat +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/modules.rst +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/docs/requirements.txt +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/environment.yml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/cli/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/cli/cli_snapshot_state.sh +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/cli/core_tracking.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/cli/lazy.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/cli/post_install.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/cli/sectioned_group.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/.gitignore +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/databases.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/compiler.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/components.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/machine.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/post_processing.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/sequencing.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/setup_params.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/types.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/schema/utilities.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/config_manager/tests.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/imsi.site.rc +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/scheduler_interface/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/scheduler_interface/scheduler_tools.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/scheduler_interface/schedulers.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/sequencer_interface/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/sequencer_interface/iss_cap.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/sequencer_interface/maestro_status.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/sequencer_interface/sequencers.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/config_hooks_collection.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/config_hooks_collection_config.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/config_hooks_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/parse_dbs_example.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/shell_comp_environment.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/shell_config_parameters.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/shell_diag_parameters.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/shell_inputs_outputs.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/shell_interface_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/shell_interface_utilities.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/shell_interface/shell_timing_vars.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/disk_tools/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/disk_tools/disk_tools.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/README.md +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/all_supported_exp.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/config/example_table.csv +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/config/example_table.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/config.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/config.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/ensemble_cli.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/ensemble_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/table_utils/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/table_utils/data_model.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/table_utils/table_model.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/ensemble/table_utils/table_utils.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/list/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/list/list_cli.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/list/list_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/menu/menu_cli.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/menu/menu_helpers.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/simple_sequencer/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/simple_sequencer/iss.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/simple_sequencer/iss_cli.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/simple_sequencer/iss_globals.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/time_manager/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/time_manager/cftime_utils.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/time_manager/chunk_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/time_manager/time_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/time_manager/timer_cli.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/tools/validate/validate_cli.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/user_interface/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/user_interface/setup_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/utils/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/utils/dict_tools.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/utils/general.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/utils/git_tools.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/utils/multiple_inheritance_test.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/utils/nml_tools.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/imsi/utils/repo_query_status.sh +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/logo.png +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/pyproject.toml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/setup.cfg +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/.env.test +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/README.md +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/conftest.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_cli/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_cli/test_build.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_cli/test_core.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_cli/test_entry.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_disk_tools/__init__.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_disk_tools/imsi_configuration_imsi-test.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_disk_tools/test_clean.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_cli.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_comprehensive/config.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_comprehensive/config_csv.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_comprehensive/config_txt.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_comprehensive/config_yaml.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_comprehensive/example.csv +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_comprehensive/example.txt +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_comprehensive/example.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_comprehensive/test_run_comprehensive.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_config.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/config.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/config_table.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/config_table_identical_keypaths.yaml +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_broadcasted_config.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_config.csv +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_config.txt +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_config_alias.csv +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_config_alias.txt +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_config_alias_nested.csv +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_config_alias_nested.txt +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_config_alias_nested_conflict.csv +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_config_alias_nested_conflict.txt +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_config_unsupported_file_type.db +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_csv_table_vars.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_ensemble_level_vars.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_member_level_vars.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_table_utils.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_text_table_vars.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_unique_runids.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_yaml_table_vars.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_table_utils/test_yaml_vars.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_ensemble/test_utils.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_list/test_list_cli.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_list/test_list_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_schema/test_compiler.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_schema/test_components.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_schema/test_experiment.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_schema/test_machine.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_schema/test_model.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_schema/test_postproc.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_schema/test_sequencing.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_schema/test_setup_params.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/clean_exp_workspace.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop/clean_loop_files.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop/clean_loop_files.+2.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop/model_run.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop/model_run.+2.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop.+2.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop.+3.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/agcm_diag.+1.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/clean_loop_files.+1.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/ocean_diag.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+1.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/runtime_diagnostics.+1.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop.+1.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/netcdf_concat.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop/clean_loop_files.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop.+2.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/wrap_up_loop.+1.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/wrap_up_loop.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/multi_indexer.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/clean_exp_workspace.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/netcdf_concat.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+1.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+10.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+11.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+2.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+3.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+4.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+5.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+6.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+7.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+8.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+9.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm.end +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/clean_exp_workspace.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model/model_loop/clean_loop_files.+1.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model/model_loop/model_run.+0.submit +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model/model_loop/model_run.+1.abort.stop +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model/model_loop.+1.abort.stop +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model/model_loop.abort.stop +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model.abort.stop +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/diagnostics_loop.+1.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/diagnostics_loop.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/netcdf_concat.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/rebuild_loop.+1.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/rebuild_loop.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/wrap_up_loop.+1.waiting +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/wrap_up_loop.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc.begin +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm.abort.stop +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_status/test_status.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_time_manager/dont_test_chunk_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_time_manager/dont_test_test_time_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/tests/test_user_interface/test_setup_manager.py +0 -0
- {cimsi-0.8.2 → cimsi-0.8.2.dev1}/uv.lock +0 -0
|
@@ -21,9 +21,7 @@ before_script:
|
|
|
21
21
|
- mkdir -p "${CI_JOB_RUN_DIR}"
|
|
22
22
|
- git clone "${CI_REPOSITORY_URL}" "${CI_JOB_RUN_DIR}"
|
|
23
23
|
- cd "${CI_JOB_RUN_DIR}"
|
|
24
|
-
|
|
25
|
-
# if not, the SHA of this commit will be used
|
|
26
|
-
- git checkout "${CI_COMMIT_TAG:-$CI_COMMIT_SHA}"
|
|
24
|
+
- git checkout "${CI_COMMIT_SHA}"
|
|
27
25
|
|
|
28
26
|
|
|
29
27
|
after_script:
|
|
@@ -125,9 +123,10 @@ deploy:
|
|
|
125
123
|
script: |
|
|
126
124
|
# make the deploy location
|
|
127
125
|
mkdir -p ${IMSI_DEPLOY_PATH}/latest
|
|
126
|
+
cd ${IMSI_DEPLOY_PATH}
|
|
128
127
|
|
|
129
128
|
# pass Python version, tag, and deploy path as arguments
|
|
130
|
-
source tests/deploy_imsi_env.sh "${IMSI_DEPLOYED_PYTHON_VER}" "${CI_COMMIT_TAG}" "${IMSI_DEPLOY_PATH}" "${CANESM_REF_REPO}"
|
|
129
|
+
source ${CI_JOB_RUN_DIR}/tests/deploy_imsi_env.sh "${IMSI_DEPLOYED_PYTHON_VER}" "${CI_COMMIT_TAG}" "${IMSI_DEPLOY_PATH}" "${CANESM_REF_REPO}"
|
|
131
130
|
rules:
|
|
132
131
|
# Only run these rules on gitlab.science.gc.ca
|
|
133
132
|
- if: '$CI_SERVER_HOST != "gitlab.science.gc.ca"'
|
|
@@ -146,7 +145,6 @@ publish:
|
|
|
146
145
|
when: never
|
|
147
146
|
|
|
148
147
|
- if: $CI_COMMIT_TAG
|
|
149
|
-
allow_failure: true
|
|
150
148
|
|
|
151
149
|
|
|
152
150
|
cleanup:
|
|
@@ -77,29 +77,4 @@ Integration Reviewers will:
|
|
|
77
77
|
|
|
78
78
|
- [ ] The change is compatible with CCCma systems and operational pipelines.
|
|
79
79
|
- [ ] Integration dependencies and environments are respected.
|
|
80
|
-
- [ ] Broader model interactions have been considered.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
## Creating an Issue
|
|
84
|
-
|
|
85
|
-
**Before you open an Issue**, search the issue tracker for similar entries. If you find an existing Issue is already open, upvote it or add context there is needed.
|
|
86
|
-
|
|
87
|
-
### Opening an Issue
|
|
88
|
-
|
|
89
|
-
- Open an Issue for bugs, requests, or documentation.
|
|
90
|
-
- Use the appropriate Issue template.
|
|
91
|
-
- Use the template to describe the Issue.
|
|
92
|
-
- Do not open an Issue for general disussion or support.
|
|
93
|
-
|
|
94
|
-
### Types of Issues
|
|
95
|
-
|
|
96
|
-
All Issues must be opened as one of the following types:
|
|
97
|
-
|
|
98
|
-
| Label | Description |
|
|
99
|
-
|:-- | :-- |
|
|
100
|
-
| **bug** | Something is broken. |
|
|
101
|
-
| **enhancement** | Improvement to an existing feature. |
|
|
102
|
-
| **feature** | New additions or functionality. |
|
|
103
|
-
| **docs** | Standalone changes or additions to documentation. |
|
|
104
|
-
|
|
105
|
-
The Issue template you use will be pre-populated with one of these labels. **For Contributors, do not** add other labels to the Issue.
|
|
80
|
+
- [ ] Broader model interactions have been considered.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cimsi
|
|
3
|
-
Version: 0.8.2
|
|
3
|
+
Version: 0.8.2.dev1
|
|
4
4
|
Summary: Integrated Modelling System Infrastructure (IMSI) is a comprehensive software project used to download, configure, build and run the suite of models in the CCCma Integrated Modelling System.
|
|
5
5
|
Author: CCCma Technical Development Team
|
|
6
6
|
License: OGL-Canada-2.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cimsi
|
|
3
|
-
Version: 0.8.2
|
|
3
|
+
Version: 0.8.2.dev1
|
|
4
4
|
Summary: Integrated Modelling System Infrastructure (IMSI) is a comprehensive software project used to download, configure, build and run the suite of models in the CCCma Integrated Modelling System.
|
|
5
5
|
Author: CCCma Technical Development Team
|
|
6
6
|
License: OGL-Canada-2.0
|
|
@@ -11,10 +11,6 @@ environment.yml
|
|
|
11
11
|
logo.png
|
|
12
12
|
pyproject.toml
|
|
13
13
|
uv.lock
|
|
14
|
-
.gitlab/issue_templates/bug.md
|
|
15
|
-
.gitlab/issue_templates/documentation.md
|
|
16
|
-
.gitlab/issue_templates/enhancement.md
|
|
17
|
-
.gitlab/issue_templates/feature.md
|
|
18
14
|
.gitlab/merge_request_templates/imsi_mr.md
|
|
19
15
|
cimsi.egg-info/PKG-INFO
|
|
20
16
|
cimsi.egg-info/SOURCES.txt
|
|
@@ -182,8 +178,6 @@ tests/test_ensemble/test_table_utils/test_yaml_table_vars.py
|
|
|
182
178
|
tests/test_ensemble/test_table_utils/test_yaml_vars.py
|
|
183
179
|
tests/test_list/test_list_cli.py
|
|
184
180
|
tests/test_list/test_list_manager.py
|
|
185
|
-
tests/test_override/test_apply_options_overrides.py
|
|
186
|
-
tests/test_override/test_parse_override_cli.py
|
|
187
181
|
tests/test_schema/test_compiler.py
|
|
188
182
|
tests/test_schema/test_components.py
|
|
189
183
|
tests/test_schema/test_experiment.py
|
|
@@ -87,7 +87,6 @@ interconnected nature between:
|
|
|
87
87
|
- models & experiments, which dictate:
|
|
88
88
|
- what jobs you want to run
|
|
89
89
|
- how many simulated years you might want
|
|
90
|
-
- the explicit `flow` that you might want to use and configure
|
|
91
90
|
- machines, which dictates:
|
|
92
91
|
- what sequencers are available
|
|
93
92
|
- what resource configurations are allowed (i.e. how many days can be simulated in the allowable wall-clock?)
|
|
@@ -179,7 +178,7 @@ To define what jobs will run and with what resources, ``imsi`` relies on the
|
|
|
179
178
|
key path.
|
|
180
179
|
|
|
181
180
|
Specifically, ``imsi`` will look for ``sequencing:sequencing_flow:FLOW_NAME``, where
|
|
182
|
-
the flow name is determined by one of
|
|
181
|
+
the flow name is determined by one of two methods:
|
|
183
182
|
|
|
184
183
|
1. **automatically via the** ``machine`` **and sequencer specific configuration**
|
|
185
184
|
|
|
@@ -191,27 +190,7 @@ the flow name is determined by one of three methods:
|
|
|
191
190
|
4. extracts the `non-machine specific` ``FLOW_NAME`` from ``sequencing:sequencers:SEQUENCER_NAME:baseflows:model_type``
|
|
192
191
|
5. appends ``default_sequencing_suffix`` to the `non-machine specific` ``FLOW_NAME`` such that ``FLOW_NAME=${FLOW_NAME}-${default_sequencing_suffix}``
|
|
193
192
|
|
|
194
|
-
2. **from the**
|
|
195
|
-
|
|
196
|
-
This is an extension of the above automatic method, but allows users to explicitly
|
|
197
|
-
define what `non-machine specific` flow they want to use for this experiment/model. The machine specific suffixing
|
|
198
|
-
still occurs as per the automatic method. For example, if a user wanted to use the
|
|
199
|
-
``basic`` flow for a ``ESM`` model type on a machine with a ``-maestro`` suffix, they would
|
|
200
|
-
add the following to their experiment/model configuration:
|
|
201
|
-
|
|
202
|
-
.. code-block:: yaml
|
|
203
|
-
models:
|
|
204
|
-
some_canesm_model:
|
|
205
|
-
flow: basic
|
|
206
|
-
|
|
207
|
-
and to their sequencing flow configuration, ``imsi`` would look for
|
|
208
|
-
``sequencing:sequencing_flow:canesm_split_job_flow-basic-hallN``.
|
|
209
|
-
|
|
210
|
-
If the user does not provide a ``flow: FLOW_NAME`` entry in the experiment/model configuration,
|
|
211
|
-
``imsi`` will fall back to the automatic method described in (1) above. If ``flow`` is specified under
|
|
212
|
-
both ``model`` and ``experiment``, the experiment definition takes precedence.
|
|
213
|
-
|
|
214
|
-
3. **from the** ``--flow`` **argument to** ``imsi setup``
|
|
193
|
+
2. **from the** ``--flow`` **argument to** ``imsi setup``
|
|
215
194
|
|
|
216
195
|
With this in mind, modifications/development of sequencer flows can be achieved via:
|
|
217
196
|
|
|
@@ -257,30 +257,34 @@ on the workflow.
|
|
|
257
257
|
>> imsi set -s model=model-x -s exp=exp-y
|
|
258
258
|
|
|
259
259
|
|
|
260
|
-
4\. Apply blocks of pre-defined modifications using ``imsi
|
|
260
|
+
4\. Apply blocks of pre-defined modifications using ``imsi set --options``
|
|
261
261
|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
262
262
|
|
|
263
|
+
.. warning::
|
|
264
|
+
|
|
265
|
+
imsi |version|: this command is a WIP and there may be unexpected behaviour.
|
|
263
266
|
|
|
264
267
|
+------------------+------------------------------------------------------------------+
|
|
265
268
|
| **Command** | .. code-block:: bash |
|
|
266
269
|
| | |
|
|
267
|
-
| | >> imsi
|
|
270
|
+
| | >> imsi set --options <option_block>=<option_key> |
|
|
268
271
|
| | |
|
|
269
272
|
+------------------+------------------------------------------------------------------+
|
|
270
273
|
| **Steps** | Run the command above. The options are defined in the imsi |
|
|
271
|
-
| | Configuration Files for the source, nominally in
|
|
272
|
-
| |
|
|
274
|
+
| | Configuration Files for the source, nominally in |
|
|
275
|
+
| | ``model_options.yaml``. |
|
|
273
276
|
+------------------+------------------------------------------------------------------+
|
|
274
277
|
| **Purpose** | Apply pre-defined sets of modifications to the run |
|
|
275
|
-
| | configuration. The
|
|
276
|
-
| |
|
|
277
|
-
| |
|
|
278
|
-
|
|
278
|
+
| | configuration. The ``option_block`` and contents can be generally|
|
|
279
|
+
| | thought of as common modifications to configuration that are not |
|
|
280
|
+
| | otherwise captured in the structured imsi Configuration Files. |
|
|
281
|
+
+------------------+------------------------------------------------------------------+
|
|
282
|
+
| **Caveats** | **This command is currently under development** |
|
|
279
283
|
+------------------+------------------------------------------------------------------+
|
|
280
284
|
|
|
281
|
-
**What does** ``imsi
|
|
285
|
+
**What does** ``imsi set -o`` **do?**
|
|
282
286
|
|
|
283
|
-
In simple terms, ``imsi
|
|
287
|
+
In simple terms, ``imsi set -o`` is analogous to manually modifying the Resolved
|
|
284
288
|
Configuration File and running ``imsi config``.
|
|
285
289
|
|
|
286
290
|
.. warning::
|
|
@@ -348,6 +352,11 @@ Any further modifications to the upstream Configuration File for ``exp-B``
|
|
|
348
352
|
can be applied by using ``imsi reload`` for simplicity thereafter.
|
|
349
353
|
|
|
350
354
|
|
|
355
|
+
.. warning::
|
|
356
|
+
|
|
357
|
+
``imsi set --options`` is a WIP.
|
|
358
|
+
|
|
359
|
+
|
|
351
360
|
Validating imsi configuration files with ``imsi validate``
|
|
352
361
|
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
353
362
|
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.8.2'
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 8, 2)
|
|
31
|
+
__version__ = version = '0.8.2.dev1'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 8, 2, 'dev1')
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g904569cbb'
|
|
@@ -300,38 +300,30 @@ def reload(ctx):
|
|
|
300
300
|
help="""A key-value pair for a setup parameter and it's value.
|
|
301
301
|
[Example: exp=exp_y]"""
|
|
302
302
|
)
|
|
303
|
-
@click.pass_context
|
|
304
|
-
@log_cli
|
|
305
|
-
def set(ctx, selections):
|
|
306
|
-
import imsi.user_interface.ui_manager as uim
|
|
307
|
-
|
|
308
|
-
force_dirs(Path("src"))
|
|
309
|
-
uim.validate_version_reqs()
|
|
310
|
-
# tmp disabling parm_file -> None
|
|
311
|
-
uim.set_selections(None, selections, force=ctx.obj["FORCE"])
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
@click.command(
|
|
315
|
-
short_help="Override settings.",
|
|
316
|
-
help="Override configuration options from imsi-config."
|
|
317
|
-
)
|
|
318
303
|
@click.option(
|
|
319
|
-
"-o",
|
|
320
|
-
|
|
304
|
+
"-o",
|
|
305
|
+
"--options",
|
|
306
|
+
metavar="OPTION_BLOCK=VALUE",
|
|
321
307
|
multiple=True,
|
|
322
|
-
help="
|
|
308
|
+
help="""A key-value pair for an option block and it's value, as
|
|
309
|
+
stored in the *_options.yaml files of the imsi Configuration Files.
|
|
310
|
+
[Example: block_a=option_1]""",
|
|
323
311
|
)
|
|
324
312
|
@click.pass_context
|
|
325
313
|
@log_cli
|
|
326
|
-
def
|
|
314
|
+
def set(ctx, selections, options):
|
|
327
315
|
import imsi.user_interface.ui_manager as uim
|
|
328
316
|
|
|
329
317
|
force_dirs(Path("src"))
|
|
330
318
|
uim.validate_version_reqs()
|
|
331
|
-
if
|
|
332
|
-
|
|
319
|
+
if any([selections, options]):
|
|
320
|
+
# tmp disabling parm_file -> None
|
|
321
|
+
uim.set_selections(None, selections, options, force=ctx.obj["FORCE"])
|
|
333
322
|
else:
|
|
334
|
-
click.echo(
|
|
323
|
+
click.echo(
|
|
324
|
+
"Error: Must provide at least one --selections or --options",
|
|
325
|
+
err=True,
|
|
326
|
+
)
|
|
335
327
|
|
|
336
328
|
|
|
337
329
|
@click.command(
|
|
@@ -73,7 +73,6 @@ cli.add_lazy_command("imsi.cli.core_cli.status")
|
|
|
73
73
|
cli.add_lazy_command("imsi.cli.core_cli.reload")
|
|
74
74
|
cli.add_lazy_command("imsi.cli.core_cli.set")
|
|
75
75
|
cli.add_lazy_command("imsi.cli.core_cli.get_src", name='get-src')
|
|
76
|
-
cli.add_lazy_command("imsi.cli.core_cli.override")
|
|
77
76
|
cli.add_lazy_command("imsi.tools.disk_tools.disk_tools_cli.clean")
|
|
78
77
|
cli.add_lazy_command("imsi.tools.list.list_cli.list")
|
|
79
78
|
cli.add_lazy_command("imsi.tools.menu.menu_cli.setup_menu", name="setup-menu")
|
|
@@ -90,8 +90,6 @@ class SequencingFactory:
|
|
|
90
90
|
def create_from_database(
|
|
91
91
|
db: ConfigDatabase,
|
|
92
92
|
machine: Machine,
|
|
93
|
-
experiment: Experiment,
|
|
94
|
-
model: Model,
|
|
95
93
|
sequencer_name: str,
|
|
96
94
|
flow_name: str = None,
|
|
97
95
|
model_type: str = None,
|
|
@@ -118,10 +116,8 @@ class SequencingFactory:
|
|
|
118
116
|
model_type,
|
|
119
117
|
sequencer_name,
|
|
120
118
|
sequencing_config["sequencer"].get("baseflows"),
|
|
121
|
-
|
|
119
|
+
flows=sequencing_configs["sequencing_flow"],
|
|
122
120
|
machine=machine,
|
|
123
|
-
experiment=experiment,
|
|
124
|
-
model=model
|
|
125
121
|
)
|
|
126
122
|
|
|
127
123
|
sequencing_config["sequencing_flow"] = SequencingFactory.set_flow_config(
|
|
@@ -164,10 +160,8 @@ class SequencingFactory:
|
|
|
164
160
|
model_type: str,
|
|
165
161
|
sequencer_name: str,
|
|
166
162
|
sequencer_baseflows: dict,
|
|
167
|
-
|
|
163
|
+
flows,
|
|
168
164
|
machine: Machine,
|
|
169
|
-
experiment: Experiment,
|
|
170
|
-
model: Model,
|
|
171
165
|
):
|
|
172
166
|
"""Get the default sequencing flow, which handles the selected model_type, and
|
|
173
167
|
also has configuration support for the selected sequencer and machine.
|
|
@@ -189,24 +183,17 @@ class SequencingFactory:
|
|
|
189
183
|
# The platform/machine specific implementation of baseflows is denoted with a suffix on baseflow
|
|
190
184
|
# This will return the first baseflow/machine specific flow in the list (which is constrain to be
|
|
191
185
|
# only those suppoting the specific model_type)
|
|
192
|
-
# Prefer explicit 'experiment' field, fall back to 'model'; error if neither present
|
|
193
|
-
experiment_or_model_flow = experiment.flow or model.flow
|
|
194
|
-
|
|
195
186
|
for baseflow in base_flows:
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
else:
|
|
199
|
-
machine_specific_flow = f"{baseflow}-{machine.default_sequencing_suffix}"
|
|
200
|
-
if machine_specific_flow in machine_specific_flows:
|
|
187
|
+
machine_specific_flow = f"{baseflow}-{machine.default_sequencing_suffix}" # convention for the naming
|
|
188
|
+
if machine_specific_flow in flows:
|
|
201
189
|
return machine_specific_flow
|
|
202
|
-
|
|
203
190
|
supported_base_flows = ", ".join(base_flows)
|
|
204
191
|
raise KeyError(
|
|
205
|
-
f"Could not determine a default sequencing flow for sequencer
|
|
206
|
-
f"on machine
|
|
207
|
-
f"for
|
|
208
|
-
f"
|
|
209
|
-
"
|
|
192
|
+
f"Could not determine a default sequencing flow for sequencer: {sequencer_name} "
|
|
193
|
+
f"on machine: {machine.name}/{machine.default_sequencing_suffix} that supports model_type: {model_type}. "
|
|
194
|
+
f"Support baseflows found for {model_type} are: {supported_base_flows}. "
|
|
195
|
+
f"Machine specific version(s) for {machine.default_sequencing_suffix} are "
|
|
196
|
+
"not implemented but required."
|
|
210
197
|
)
|
|
211
198
|
|
|
212
199
|
@staticmethod
|
|
@@ -427,7 +414,7 @@ class ConfigManager:
|
|
|
427
414
|
setup_params = self.create_SetupParams(setup_params, machine) # improvable
|
|
428
415
|
utilities = self.create_utilities()
|
|
429
416
|
(SEQ_N, FLOW_N), sequencing = self.create_sequencing(
|
|
430
|
-
machine,
|
|
417
|
+
machine, setup_params.sequencer_name, flow_name, experiment
|
|
431
418
|
)
|
|
432
419
|
POST_N, postproc = self.create_postproc(model, experiment, postproc_profile)
|
|
433
420
|
|
|
@@ -496,16 +483,13 @@ class ConfigManager:
|
|
|
496
483
|
def create_sequencing(
|
|
497
484
|
self,
|
|
498
485
|
machine: Machine,
|
|
499
|
-
experiment: Experiment,
|
|
500
|
-
model: Model,
|
|
501
486
|
sequencer_name: str,
|
|
502
487
|
flow_name: str,
|
|
488
|
+
experiment: Experiment,
|
|
503
489
|
) -> Sequencing:
|
|
504
490
|
return SequencingFactory.create_from_database(
|
|
505
491
|
self.db,
|
|
506
492
|
machine=machine,
|
|
507
|
-
experiment=experiment,
|
|
508
|
-
model=model,
|
|
509
493
|
sequencer_name=sequencer_name,
|
|
510
494
|
flow_name=flow_name,
|
|
511
495
|
model_type=experiment.model_type,
|
|
@@ -25,7 +25,6 @@ class Experiment(BaseModel):
|
|
|
25
25
|
parent_branch_time: str
|
|
26
26
|
inherits_from: Optional[str] = None
|
|
27
27
|
supported_models: List[str]
|
|
28
|
-
flow: Optional[str] = None # overrides flow specified in model
|
|
29
28
|
|
|
30
29
|
def validate_model_name(self, model_name: str):
|
|
31
30
|
if model_name not in self.supported_models:
|
|
@@ -133,7 +133,7 @@ class MaestroSequencerInterface(Sequencer):
|
|
|
133
133
|
maestro_dst = maestro_config['SEQ_EXP_HOME'] # destination for setup
|
|
134
134
|
modules_provided = exp_flow['flow_definitions'].keys() # ie folder names
|
|
135
135
|
|
|
136
|
-
setup_maestro_from_src(maestro_src, maestro_dst, modules_provided, runid=runid)
|
|
136
|
+
setup_maestro_from_src(maestro_src, maestro_dst, modules_provided, runid=runid, force=force)
|
|
137
137
|
|
|
138
138
|
def config(self, configuration: Configuration, **kwargs):
|
|
139
139
|
"""Configure maestro experiment."""
|
|
@@ -467,7 +467,7 @@ def config_hub(seq_exp_home, experiment):
|
|
|
467
467
|
try:
|
|
468
468
|
proc = subprocess.run(cmd, cwd=seq_exp_home, env=maestro_env, capture_output=True)
|
|
469
469
|
proc.check_returncode()
|
|
470
|
-
except subprocess.CalledProcessError:
|
|
470
|
+
except subprocess.CalledProcessError as e:
|
|
471
471
|
raise Exception("Failed call: '{cmd}': {err}".format(cmd=' '.join(proc.args), err=proc.stderr))
|
|
472
472
|
|
|
473
473
|
def copy_default_main_config(src: str, dst: str):
|
|
@@ -505,7 +505,7 @@ def init_maestro_module_folders(path: str, entry_module: str = 'module', modules
|
|
|
505
505
|
if modules is None:
|
|
506
506
|
modules = [entry_module]
|
|
507
507
|
|
|
508
|
-
if entry_module
|
|
508
|
+
if not entry_module in modules:
|
|
509
509
|
raise ValueError('entry_module must match one of modules provided')
|
|
510
510
|
|
|
511
511
|
for m in modules:
|
|
@@ -1134,7 +1134,7 @@ def validate_maestro_exp(seq_exp_home: str):
|
|
|
1134
1134
|
try:
|
|
1135
1135
|
proc = subprocess.run(cmd, cwd=seq_exp_home, env=maestro_env, capture_output=True)
|
|
1136
1136
|
proc.check_returncode()
|
|
1137
|
-
except subprocess.CalledProcessError:
|
|
1137
|
+
except subprocess.CalledProcessError as e:
|
|
1138
1138
|
stdout = proc.stdout.decode().strip()
|
|
1139
1139
|
stderr = proc.stderr.decode().strip()
|
|
1140
1140
|
if not stderr.startswith(err_startswith):
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import copy
|
|
3
|
+
import glob
|
|
3
4
|
from omegaconf import OmegaConf
|
|
4
5
|
from pathlib import Path
|
|
5
6
|
import subprocess
|
|
6
7
|
import shlex
|
|
7
8
|
import shutil
|
|
8
9
|
from typing import Dict
|
|
9
|
-
from pydantic import BaseModel, field_validator
|
|
10
|
-
from typing import Iterable
|
|
11
10
|
|
|
12
11
|
from imsi.config_manager import config_manager as cm
|
|
13
12
|
from imsi.sequencer_interface.sequencers import create_sequencer
|
|
14
13
|
from imsi.shell_interface import shell_interface_manager
|
|
15
14
|
from imsi.shell_interface.config_hooks_manager import call_hooks
|
|
16
15
|
from imsi.utils.dict_tools import parse_vars, update, load_json
|
|
17
|
-
from imsi.user_interface.ui_utils import save_setup_configuration, load_run_config
|
|
16
|
+
from imsi.user_interface.ui_utils import save_setup_configuration, load_run_config
|
|
17
|
+
from imsi.sequencer_interface.sequencers import create_sequencer
|
|
18
18
|
from imsi.utils.general import is_broken_symlink, _return_with_message
|
|
19
19
|
from imsi.utils.git_tools import is_repo_clean
|
|
20
20
|
from imsi import __version__
|
|
@@ -53,7 +53,6 @@ def validate_version_reqs(source_config_path: Path = Path("src/imsi-config"), ve
|
|
|
53
53
|
See https://imsi.readthedocs.io/en/main/config_breaking_changes.html for more information"""
|
|
54
54
|
)
|
|
55
55
|
|
|
56
|
-
|
|
57
56
|
def create_imsi_configuration(
|
|
58
57
|
imsi_config_path: str, setup_params: Dict
|
|
59
58
|
) -> (cm.Configuration, cm.ConfigDatabase):
|
|
@@ -138,55 +137,7 @@ def update_config_from_state(force=False):
|
|
|
138
137
|
)
|
|
139
138
|
build_run_config_on_disk(state_configuration, db, force=force)
|
|
140
139
|
|
|
141
|
-
|
|
142
|
-
class Override(BaseModel):
|
|
143
|
-
options: str
|
|
144
|
-
|
|
145
|
-
@field_validator("options")
|
|
146
|
-
def validate_options(cls, v):
|
|
147
|
-
if "/" not in v:
|
|
148
|
-
raise ValueError("Option must be in the format <group>/<option>")
|
|
149
|
-
return v
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
def parse_override_options(options: Iterable[str]) -> list[dict]:
|
|
153
|
-
return [Override(options=o).model_dump() for o in options]
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
def parse_override(options: Iterable[str], force=False):
|
|
157
|
-
"""Parse and apply command-line option overrides to the current IMSI run configuration.
|
|
158
|
-
|
|
159
|
-
Parameters:
|
|
160
|
-
- options: An iterable of option identifier strings. Each string must contain
|
|
161
|
-
a '/' separating the group and option name (e.g. "group/option" or
|
|
162
|
-
"group/option=value").
|
|
163
|
-
- force: If True, forces rebuilding of on-disk run artifacts
|
|
164
|
-
and other actions performed by build_run_config_on_disk even if not strictly
|
|
165
|
-
necessary. Defaults to False.
|
|
166
|
-
"""
|
|
167
|
-
|
|
168
|
-
# get existing simulation config
|
|
169
|
-
configuration = load_run_config()
|
|
170
|
-
db = cm.database_factory(configuration.get_unique_key_value("imsi_config_path"))
|
|
171
|
-
|
|
172
|
-
print(f"Overriding configuration with: {options}")
|
|
173
|
-
options_list = parse_override_options(options)
|
|
174
|
-
|
|
175
|
-
configuration_with_overrides = apply_options_overrides(
|
|
176
|
-
config_dictionary=configuration.model_dump(), options=options_list
|
|
177
|
-
)
|
|
178
|
-
new_configuration = cm.Configuration(**configuration_with_overrides)
|
|
179
|
-
|
|
180
|
-
# Update the saved configuration file accordingly
|
|
181
|
-
# (including triggering rebuilding of /sequencer folder too, running
|
|
182
|
-
# hooks, etc):
|
|
183
|
-
build_run_config_on_disk(new_configuration, db, force=force)
|
|
184
|
-
|
|
185
|
-
# Update the saved configuration file accordingly
|
|
186
|
-
save_setup_configuration(new_configuration, save_config=True)
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
def set_selections(parm_file=None, selections=None, force=False):
|
|
140
|
+
def set_selections(parm_file=None, selections=None, options=None, force=False):
|
|
190
141
|
"""Parse key=value pairs of selection given on the command line
|
|
191
142
|
Try to apply these to the imsi selections for the sim.
|
|
192
143
|
"""
|
|
@@ -229,6 +180,14 @@ def set_selections(parm_file=None, selections=None, force=False):
|
|
|
229
180
|
# Create a new simulation that we imbue with these properties
|
|
230
181
|
new_configuration = config_manager.create_configuration(**updated_setup_params.model_dump())
|
|
231
182
|
|
|
183
|
+
if options:
|
|
184
|
+
print(f"set options: {options}")
|
|
185
|
+
options_config = db.get_config("model_options")
|
|
186
|
+
selected_option_names = parse_vars(options)
|
|
187
|
+
new_configuration = apply_options(
|
|
188
|
+
options_config, configuration, selected_option_names
|
|
189
|
+
)
|
|
190
|
+
|
|
232
191
|
# Update the saved configuration file accordingly
|
|
233
192
|
# (including triggering rebuilding of /sequencer folder too, running
|
|
234
193
|
# hooks, etc):
|
|
@@ -237,6 +196,43 @@ def set_selections(parm_file=None, selections=None, force=False):
|
|
|
237
196
|
# Update the saved configuration file accordingly
|
|
238
197
|
save_setup_configuration(new_configuration, save_config=True)
|
|
239
198
|
|
|
199
|
+
def apply_options(
|
|
200
|
+
options_config: Dict, configuration: cm.Configuration, selected_option_names: Dict
|
|
201
|
+
) -> cm.Configuration:
|
|
202
|
+
"""
|
|
203
|
+
Take a set of options or 'patches' and apply them to the simulation configuration and
|
|
204
|
+
return an updated configuration.
|
|
205
|
+
|
|
206
|
+
Input:
|
|
207
|
+
------
|
|
208
|
+
selected_options : dict
|
|
209
|
+
k-v pairs of option name and selection
|
|
210
|
+
"""
|
|
211
|
+
# Check first the option is valid
|
|
212
|
+
for option, selection in selected_option_names.items():
|
|
213
|
+
if option in options_config.keys():
|
|
214
|
+
if selection in options_config[option].keys():
|
|
215
|
+
for target_config, target_values in options_config[option][
|
|
216
|
+
selection
|
|
217
|
+
].items():
|
|
218
|
+
# Add to list of applied options
|
|
219
|
+
# self.options[option] = selection
|
|
220
|
+
# Set the options in the simulations internal state
|
|
221
|
+
new_config_dict = configuration.model_dump()
|
|
222
|
+
update(new_config_dict[target_config], target_values)
|
|
223
|
+
print(f"Updated {option} with {selection}")
|
|
224
|
+
else:
|
|
225
|
+
raise ValueError(
|
|
226
|
+
f"\n**ERROR**: there is no valid selection {selection} under the option named {option}. "
|
|
227
|
+
+ f"Available selections are {list(options_config[option]['options'].keys())}"
|
|
228
|
+
)
|
|
229
|
+
else:
|
|
230
|
+
raise ValueError(
|
|
231
|
+
f"\n**ERROR**: there is no option named {option}. Available options are {list(options_config.keys())}"
|
|
232
|
+
)
|
|
233
|
+
return cm.Configuration(**new_config_dict)
|
|
234
|
+
|
|
235
|
+
|
|
240
236
|
def compile_model_execs(args, force=False):
|
|
241
237
|
"""
|
|
242
238
|
Builds all component executables by calling an upstream script from the
|
|
@@ -3,9 +3,6 @@ import shutil
|
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
import warnings
|
|
5
5
|
|
|
6
|
-
import yaml
|
|
7
|
-
|
|
8
|
-
from imsi.utils.dict_tools import update
|
|
9
6
|
from imsi.config_manager.config_manager import Configuration, ConfigManager
|
|
10
7
|
|
|
11
8
|
|
|
@@ -57,32 +54,6 @@ def _get_config_filename(serialized=False) -> str:
|
|
|
57
54
|
return guessed
|
|
58
55
|
|
|
59
56
|
|
|
60
|
-
def apply_options_overrides(config_dictionary: dict, options: list) -> dict:
|
|
61
|
-
"""Merge YAML option files into config_dictionary.
|
|
62
|
-
|
|
63
|
-
Each item in options must be a single-key dict mapping a subdirectory name to
|
|
64
|
-
a filename (without suffix). Example: [{"some_dir": "option_name"}, ...].
|
|
65
|
-
|
|
66
|
-
If any loaded YAML defines keys whose full key-paths overlap with existing
|
|
67
|
-
keys in config_dictionary, a warning is emitted listing the overlapping paths.
|
|
68
|
-
"""
|
|
69
|
-
options_root = Path(config_dictionary["setup_params"]["work_dir"]) / "src" / "imsi-config"
|
|
70
|
-
|
|
71
|
-
for option in options:
|
|
72
|
-
parent_dir, filename = next(iter(option.items()))
|
|
73
|
-
option_file = (options_root / parent_dir / filename).with_suffix(".yaml")
|
|
74
|
-
|
|
75
|
-
if not option_file.exists():
|
|
76
|
-
raise FileNotFoundError(f"Option file not found: {option_file}")
|
|
77
|
-
|
|
78
|
-
with option_file.open() as stream:
|
|
79
|
-
cfg = yaml.safe_load(stream) or {}
|
|
80
|
-
|
|
81
|
-
config_dictionary = update(config_dictionary, cfg)
|
|
82
|
-
|
|
83
|
-
return config_dictionary
|
|
84
|
-
|
|
85
|
-
|
|
86
57
|
def load_run_config(serialized=True):
|
|
87
58
|
# relative to cwd/pwd
|
|
88
59
|
config_file = _get_config_filename(serialized=serialized)
|