cimsi 0.8.2.dev1__tar.gz → 0.8.3__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.
Files changed (478) hide show
  1. cimsi-0.8.3/.gitlab/issue_templates/bug.md +50 -0
  2. cimsi-0.8.3/.gitlab/issue_templates/documentation.md +26 -0
  3. cimsi-0.8.3/.gitlab/issue_templates/enhancement.md +48 -0
  4. cimsi-0.8.3/.gitlab/issue_templates/feature.md +48 -0
  5. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/.gitlab-ci.yml +19 -8
  6. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/CONTRIBUTING.md +26 -1
  7. {cimsi-0.8.2.dev1/cimsi.egg-info → cimsi-0.8.3}/PKG-INFO +2 -1
  8. {cimsi-0.8.2.dev1 → cimsi-0.8.3/cimsi.egg-info}/PKG-INFO +2 -1
  9. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/cimsi.egg-info/SOURCES.txt +8 -0
  10. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/cimsi.egg-info/requires.txt +1 -0
  11. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/developing_configurations.rst +23 -2
  12. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/imsi_tracking.rst +1 -0
  13. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/usage.rst +10 -19
  14. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/_version.py +3 -3
  15. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/cli/core_cli.py +34 -12
  16. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/cli/entry.py +3 -0
  17. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/config_manager.py +27 -11
  18. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/experiment.py +3 -2
  19. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/model.py +1 -0
  20. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/sequencer_interface/maestro_cap.py +4 -4
  21. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/disk_tools/disk_tools.py +9 -1
  22. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/disk_tools/disk_tools_cli.py +0 -1
  23. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/ensemble_manager.py +2 -3
  24. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/table_utils/table_model.py +3 -2
  25. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/table_utils/table_utils.py +12 -4
  26. cimsi-0.8.3/imsi/tools/qswide/qswide.py +113 -0
  27. cimsi-0.8.3/imsi/tools/qswide/qswide_cli.py +29 -0
  28. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/user_interface/ui_manager.py +53 -49
  29. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/user_interface/ui_utils.py +29 -0
  30. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/utils/dict_tools.py +12 -16
  31. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/pyproject.toml +2 -1
  32. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/.env.test +1 -1
  33. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/deploy_imsi_env.sh +17 -11
  34. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_cli/test_core.py +9 -9
  35. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_disk_tools/test_clean.py +13 -0
  36. cimsi-0.8.3/tests/test_ensemble/test_comprehensive/example.csv +5 -0
  37. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_table_utils.py +4 -3
  38. cimsi-0.8.3/tests/test_override/test_apply_options_overrides.py +97 -0
  39. cimsi-0.8.3/tests/test_override/test_parse_override_cli.py +56 -0
  40. cimsi-0.8.2.dev1/tests/test_ensemble/test_comprehensive/example.csv +0 -3
  41. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/.editorconfig +0 -0
  42. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/.gitignore +0 -0
  43. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/.gitlab/merge_request_templates/imsi_mr.md +0 -0
  44. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/.readthedocs.yaml +0 -0
  45. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/LICENSE +0 -0
  46. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/MANIFEST.in +0 -0
  47. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/Makefile +0 -0
  48. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/README.md +0 -0
  49. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/cimsi.egg-info/dependency_links.txt +0 -0
  50. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/cimsi.egg-info/entry_points.txt +0 -0
  51. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/cimsi.egg-info/top_level.txt +0 -0
  52. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/config/imsi-user-config.json +0 -0
  53. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/Makefile +0 -0
  54. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/_static/assets/favicon.ico +0 -0
  55. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/_static/assets/logo/logo_imsi_wordmark-400px-transparent.png +0 -0
  56. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/_static/custom.css +0 -0
  57. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/_static/imsi_configuration_hierarchy.png +0 -0
  58. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/_static/imsi_owl.png +0 -0
  59. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/_static/maestro_status.png +0 -0
  60. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/_static/setup-menu.gif +0 -0
  61. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/conf.py +0 -0
  62. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/config_breaking_changes.rst +0 -0
  63. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/design.md +0 -0
  64. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/developing_imsi.rst +0 -0
  65. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/ensemble.rst +0 -0
  66. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/imsi.rst +0 -0
  67. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/imsi_simple_shell_sequencer.rst +0 -0
  68. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/index.rst +0 -0
  69. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/installation.rst +0 -0
  70. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/make.bat +0 -0
  71. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/modules.rst +0 -0
  72. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/docs/requirements.txt +0 -0
  73. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/environment.yml +0 -0
  74. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/__init__.py +0 -0
  75. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/cli/__init__.py +0 -0
  76. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/cli/cli_snapshot_state.sh +0 -0
  77. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/cli/core_tracking.py +0 -0
  78. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/cli/lazy.py +0 -0
  79. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/cli/post_install.py +0 -0
  80. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/cli/sectioned_group.py +0 -0
  81. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/.gitignore +0 -0
  82. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/__init__.py +0 -0
  83. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/databases.py +0 -0
  84. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/__init__.py +0 -0
  85. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/compiler.py +0 -0
  86. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/components.py +0 -0
  87. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/machine.py +0 -0
  88. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/post_processing.py +0 -0
  89. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/sequencing.py +0 -0
  90. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/setup_params.py +0 -0
  91. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/types.py +0 -0
  92. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/schema/utilities.py +0 -0
  93. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/config_manager/tests.py +0 -0
  94. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/imsi.site.rc +0 -0
  95. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/scheduler_interface/__init__.py +0 -0
  96. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/scheduler_interface/scheduler_tools.py +0 -0
  97. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/scheduler_interface/schedulers.py +0 -0
  98. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/sequencer_interface/__init__.py +0 -0
  99. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/sequencer_interface/iss_cap.py +0 -0
  100. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/sequencer_interface/maestro_status.py +0 -0
  101. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/sequencer_interface/sequencers.py +0 -0
  102. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/__init__.py +0 -0
  103. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/config_hooks_collection.py +0 -0
  104. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/config_hooks_collection_config.yaml +0 -0
  105. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/config_hooks_manager.py +0 -0
  106. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/parse_dbs_example.py +0 -0
  107. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/shell_comp_environment.py +0 -0
  108. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/shell_config_parameters.py +0 -0
  109. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/shell_diag_parameters.py +0 -0
  110. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/shell_inputs_outputs.py +0 -0
  111. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/shell_interface_manager.py +0 -0
  112. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/shell_interface_utilities.py +0 -0
  113. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/shell_interface/shell_timing_vars.py +0 -0
  114. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/__init__.py +0 -0
  115. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/disk_tools/__init__.py +0 -0
  116. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/README.md +0 -0
  117. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/__init__.py +0 -0
  118. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/all_supported_exp.yaml +0 -0
  119. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/config/example_table.csv +0 -0
  120. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/config/example_table.yaml +0 -0
  121. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/config.py +0 -0
  122. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/config.yaml +0 -0
  123. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/ensemble_cli.py +0 -0
  124. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/table_utils/__init__.py +0 -0
  125. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/ensemble/table_utils/data_model.py +0 -0
  126. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/list/__init__.py +0 -0
  127. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/list/list_cli.py +0 -0
  128. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/list/list_manager.py +0 -0
  129. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/menu/menu_cli.py +0 -0
  130. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/menu/menu_helpers.py +0 -0
  131. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/simple_sequencer/__init__.py +0 -0
  132. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/simple_sequencer/iss.py +0 -0
  133. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/simple_sequencer/iss_cli.py +0 -0
  134. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/simple_sequencer/iss_globals.py +0 -0
  135. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/time_manager/__init__.py +0 -0
  136. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/time_manager/cftime_utils.py +0 -0
  137. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/time_manager/chunk_manager.py +0 -0
  138. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/time_manager/time_manager.py +0 -0
  139. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/time_manager/timer_cli.py +0 -0
  140. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/tools/validate/validate_cli.py +0 -0
  141. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/user_interface/__init__.py +0 -0
  142. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/user_interface/setup_manager.py +0 -0
  143. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/utils/__init__.py +0 -0
  144. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/utils/general.py +0 -0
  145. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/utils/git_tools.py +0 -0
  146. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/utils/multiple_inheritance_test.py +0 -0
  147. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/utils/nml_tools.py +0 -0
  148. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/imsi/utils/repo_query_status.sh +0 -0
  149. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/logo.png +0 -0
  150. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/setup.cfg +0 -0
  151. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/README.md +0 -0
  152. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/__init__.py +0 -0
  153. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/conftest.py +0 -0
  154. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_cli/__init__.py +0 -0
  155. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_cli/test_build.py +0 -0
  156. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_cli/test_entry.py +0 -0
  157. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_disk_tools/__init__.py +0 -0
  158. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_disk_tools/imsi_configuration_imsi-test.yaml +0 -0
  159. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_cli.py +0 -0
  160. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_comprehensive/config.yaml +0 -0
  161. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_comprehensive/config_csv.yaml +0 -0
  162. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_comprehensive/config_txt.yaml +0 -0
  163. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_comprehensive/config_yaml.yaml +0 -0
  164. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_comprehensive/example.txt +0 -0
  165. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_comprehensive/example.yaml +0 -0
  166. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_comprehensive/test_run_comprehensive.py +0 -0
  167. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_config.py +0 -0
  168. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/config.yaml +0 -0
  169. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/config_table.yaml +0 -0
  170. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/config_table_identical_keypaths.yaml +0 -0
  171. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_broadcasted_config.py +0 -0
  172. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_config.csv +0 -0
  173. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_config.txt +0 -0
  174. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_config_alias.csv +0 -0
  175. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_config_alias.txt +0 -0
  176. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_config_alias_nested.csv +0 -0
  177. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_config_alias_nested.txt +0 -0
  178. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_config_alias_nested_conflict.csv +0 -0
  179. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_config_alias_nested_conflict.txt +0 -0
  180. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_config_unsupported_file_type.db +0 -0
  181. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_csv_table_vars.py +0 -0
  182. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_ensemble_level_vars.py +0 -0
  183. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_member_level_vars.py +0 -0
  184. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_text_table_vars.py +0 -0
  185. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_unique_runids.py +0 -0
  186. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_yaml_table_vars.py +0 -0
  187. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_table_utils/test_yaml_vars.py +0 -0
  188. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_ensemble/test_utils.py +0 -0
  189. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_list/test_list_cli.py +0 -0
  190. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_list/test_list_manager.py +0 -0
  191. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_schema/test_compiler.py +0 -0
  192. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_schema/test_components.py +0 -0
  193. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_schema/test_experiment.py +0 -0
  194. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_schema/test_machine.py +0 -0
  195. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_schema/test_model.py +0 -0
  196. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_schema/test_postproc.py +0 -0
  197. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_schema/test_sequencing.py +0 -0
  198. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_schema/test_setup_params.py +0 -0
  199. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/clean_exp_workspace.waiting +0 -0
  200. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop/clean_loop_files.+1.end +0 -0
  201. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop/clean_loop_files.+2.waiting +0 -0
  202. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop/model_run.+1.end +0 -0
  203. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop/model_run.+2.begin +0 -0
  204. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop.+1.end +0 -0
  205. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop.+2.begin +0 -0
  206. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop.+3.begin +0 -0
  207. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model/model_loop.begin +0 -0
  208. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/model.begin +0 -0
  209. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/agcm_diag.+1.begin +0 -0
  210. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/clean_loop_files.+1.waiting +0 -0
  211. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/ocean_diag.+1.end +0 -0
  212. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+1.begin +0 -0
  213. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+1.end +0 -0
  214. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop/runtime_diagnostics.+1.begin +0 -0
  215. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop.+1.begin +0 -0
  216. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/diagnostics_loop.begin +0 -0
  217. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/netcdf_concat.waiting +0 -0
  218. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop/clean_loop_files.+1.end +0 -0
  219. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+1.end +0 -0
  220. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+1.end +0 -0
  221. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop.+1.end +0 -0
  222. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop.+2.waiting +0 -0
  223. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/rebuild_loop.begin +0 -0
  224. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/wrap_up_loop.+1.waiting +0 -0
  225. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc/wrap_up_loop.begin +0 -0
  226. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm/postproc.begin +0 -0
  227. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/canesm.begin +0 -0
  228. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_begin/sequencer/sequencing/status/12345678910123/multi_indexer.py +0 -0
  229. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/clean_exp_workspace.end +0 -0
  230. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+1.end +0 -0
  231. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+10.end +0 -0
  232. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+11.end +0 -0
  233. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+2.end +0 -0
  234. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+3.end +0 -0
  235. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+4.end +0 -0
  236. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+5.end +0 -0
  237. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+6.end +0 -0
  238. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+7.end +0 -0
  239. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+8.end +0 -0
  240. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/clean_loop_files.+9.end +0 -0
  241. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+1.end +0 -0
  242. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+10.end +0 -0
  243. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+11.end +0 -0
  244. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+2.end +0 -0
  245. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+3.end +0 -0
  246. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+4.end +0 -0
  247. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+5.end +0 -0
  248. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+6.end +0 -0
  249. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+7.end +0 -0
  250. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+8.end +0 -0
  251. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop/model_run.+9.end +0 -0
  252. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+1.end +0 -0
  253. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+10.end +0 -0
  254. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+11.end +0 -0
  255. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+2.end +0 -0
  256. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+3.end +0 -0
  257. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+4.end +0 -0
  258. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+5.end +0 -0
  259. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+6.end +0 -0
  260. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+7.end +0 -0
  261. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+8.end +0 -0
  262. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.+9.end +0 -0
  263. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model/model_loop.end +0 -0
  264. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/model.end +0 -0
  265. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+1.end +0 -0
  266. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+10.end +0 -0
  267. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+11.end +0 -0
  268. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+2.end +0 -0
  269. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+3.end +0 -0
  270. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+4.end +0 -0
  271. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+5.end +0 -0
  272. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+6.end +0 -0
  273. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+7.end +0 -0
  274. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+8.end +0 -0
  275. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/agcm_diag.+9.end +0 -0
  276. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+1.end +0 -0
  277. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+10.end +0 -0
  278. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+11.end +0 -0
  279. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+2.end +0 -0
  280. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+3.end +0 -0
  281. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+4.end +0 -0
  282. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+5.end +0 -0
  283. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+6.end +0 -0
  284. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+7.end +0 -0
  285. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+8.end +0 -0
  286. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/clean_loop_files.+9.end +0 -0
  287. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+1.end +0 -0
  288. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+10.end +0 -0
  289. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+11.end +0 -0
  290. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+2.end +0 -0
  291. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+3.end +0 -0
  292. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+4.end +0 -0
  293. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+5.end +0 -0
  294. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+6.end +0 -0
  295. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+7.end +0 -0
  296. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+8.end +0 -0
  297. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/ocean_diag.+9.end +0 -0
  298. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+1.end +0 -0
  299. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+10.end +0 -0
  300. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+11.end +0 -0
  301. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+2.end +0 -0
  302. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+3.end +0 -0
  303. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+4.end +0 -0
  304. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+5.end +0 -0
  305. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+6.end +0 -0
  306. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+7.end +0 -0
  307. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+8.end +0 -0
  308. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/agcm_runtime_diag.+9.end +0 -0
  309. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+1.end +0 -0
  310. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+10.end +0 -0
  311. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+11.end +0 -0
  312. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+2.end +0 -0
  313. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+3.end +0 -0
  314. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+4.end +0 -0
  315. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+5.end +0 -0
  316. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+6.end +0 -0
  317. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+7.end +0 -0
  318. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+8.end +0 -0
  319. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics/ocean_runtime_diag.+9.end +0 -0
  320. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+1.end +0 -0
  321. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+10.end +0 -0
  322. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+11.end +0 -0
  323. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+2.end +0 -0
  324. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+3.end +0 -0
  325. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+4.end +0 -0
  326. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+5.end +0 -0
  327. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+6.end +0 -0
  328. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+7.end +0 -0
  329. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+8.end +0 -0
  330. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/runtime_diagnostics.+9.end +0 -0
  331. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+1.end +0 -0
  332. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+10.end +0 -0
  333. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+11.end +0 -0
  334. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+2.end +0 -0
  335. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+3.end +0 -0
  336. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+4.end +0 -0
  337. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+5.end +0 -0
  338. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+6.end +0 -0
  339. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+7.end +0 -0
  340. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+8.end +0 -0
  341. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop/split_agcm_files.+9.end +0 -0
  342. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+1.end +0 -0
  343. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+10.end +0 -0
  344. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+11.end +0 -0
  345. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+2.end +0 -0
  346. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+3.end +0 -0
  347. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+4.end +0 -0
  348. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+5.end +0 -0
  349. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+6.end +0 -0
  350. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+7.end +0 -0
  351. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+8.end +0 -0
  352. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.+9.end +0 -0
  353. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/diagnostics_loop.end +0 -0
  354. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/netcdf_concat.end +0 -0
  355. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+1.end +0 -0
  356. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+10.end +0 -0
  357. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+11.end +0 -0
  358. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+2.end +0 -0
  359. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+3.end +0 -0
  360. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+4.end +0 -0
  361. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+5.end +0 -0
  362. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+6.end +0 -0
  363. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+7.end +0 -0
  364. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+8.end +0 -0
  365. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/clean_loop_files.+9.end +0 -0
  366. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+1.end +0 -0
  367. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+10.end +0 -0
  368. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+11.end +0 -0
  369. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+2.end +0 -0
  370. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+3.end +0 -0
  371. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+4.end +0 -0
  372. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+5.end +0 -0
  373. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+6.end +0 -0
  374. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+7.end +0 -0
  375. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+8.end +0 -0
  376. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_agcm_tiles.+9.end +0 -0
  377. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+1.end +0 -0
  378. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+10.end +0 -0
  379. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+11.end +0 -0
  380. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+2.end +0 -0
  381. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+3.end +0 -0
  382. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+4.end +0 -0
  383. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+5.end +0 -0
  384. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+6.end +0 -0
  385. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+7.end +0 -0
  386. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+8.end +0 -0
  387. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop/rebuild_ocean_tiles.+9.end +0 -0
  388. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+1.end +0 -0
  389. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+10.end +0 -0
  390. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+11.end +0 -0
  391. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+2.end +0 -0
  392. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+3.end +0 -0
  393. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+4.end +0 -0
  394. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+5.end +0 -0
  395. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+6.end +0 -0
  396. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+7.end +0 -0
  397. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+8.end +0 -0
  398. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.+9.end +0 -0
  399. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/rebuild_loop.end +0 -0
  400. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+1.end +0 -0
  401. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+10.end +0 -0
  402. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+11.end +0 -0
  403. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+2.end +0 -0
  404. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+3.end +0 -0
  405. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+4.end +0 -0
  406. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+5.end +0 -0
  407. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+6.end +0 -0
  408. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+7.end +0 -0
  409. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+8.end +0 -0
  410. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/archive_data.+9.end +0 -0
  411. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+1.end +0 -0
  412. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+10.end +0 -0
  413. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+11.end +0 -0
  414. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+2.end +0 -0
  415. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+3.end +0 -0
  416. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+4.end +0 -0
  417. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+5.end +0 -0
  418. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+6.end +0 -0
  419. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+7.end +0 -0
  420. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+8.end +0 -0
  421. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_loop_files.+9.end +0 -0
  422. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+1.end +0 -0
  423. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+10.end +0 -0
  424. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+11.end +0 -0
  425. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+2.end +0 -0
  426. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+3.end +0 -0
  427. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+4.end +0 -0
  428. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+5.end +0 -0
  429. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+6.end +0 -0
  430. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+7.end +0 -0
  431. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+8.end +0 -0
  432. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/clean_run_files.+9.end +0 -0
  433. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+1.end +0 -0
  434. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+10.end +0 -0
  435. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+11.end +0 -0
  436. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+2.end +0 -0
  437. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+3.end +0 -0
  438. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+4.end +0 -0
  439. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+5.end +0 -0
  440. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+6.end +0 -0
  441. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+7.end +0 -0
  442. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+8.end +0 -0
  443. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop/netcdf_conv.+9.end +0 -0
  444. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+1.end +0 -0
  445. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+10.end +0 -0
  446. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+11.end +0 -0
  447. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+2.end +0 -0
  448. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+3.end +0 -0
  449. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+4.end +0 -0
  450. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+5.end +0 -0
  451. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+6.end +0 -0
  452. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+7.end +0 -0
  453. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+8.end +0 -0
  454. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.+9.end +0 -0
  455. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc/wrap_up_loop.end +0 -0
  456. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm/postproc.end +0 -0
  457. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_end/sequencer/sequencing/status/20250224220900/canesm.end +0 -0
  458. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/clean_exp_workspace.waiting +0 -0
  459. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model/model_loop/clean_loop_files.+1.waiting +0 -0
  460. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model/model_loop/model_run.+0.submit +0 -0
  461. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model/model_loop/model_run.+1.abort.stop +0 -0
  462. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model/model_loop.+1.abort.stop +0 -0
  463. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model/model_loop.abort.stop +0 -0
  464. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/model.abort.stop +0 -0
  465. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/diagnostics_loop.+1.waiting +0 -0
  466. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/diagnostics_loop.begin +0 -0
  467. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/netcdf_concat.waiting +0 -0
  468. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/rebuild_loop.+1.waiting +0 -0
  469. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/rebuild_loop.begin +0 -0
  470. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/wrap_up_loop.+1.waiting +0 -0
  471. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc/wrap_up_loop.begin +0 -0
  472. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm/postproc.begin +0 -0
  473. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/mock_stop/sequencer/sequencing/status/20250222000900/canesm.abort.stop +0 -0
  474. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_status/test_status.py +0 -0
  475. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_time_manager/dont_test_chunk_manager.py +0 -0
  476. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_time_manager/dont_test_test_time_manager.py +0 -0
  477. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/tests/test_user_interface/test_setup_manager.py +0 -0
  478. {cimsi-0.8.2.dev1 → cimsi-0.8.3}/uv.lock +0 -0
@@ -0,0 +1,50 @@
1
+ <!--
2
+ ** Please read **
3
+
4
+ * Do not report bugs that are specific to your model repository source here.
5
+
6
+ * Before opening a new issue, make sure to search for keywords in the issues
7
+ list and verify the issue you're about to submit isn't a duplicate:
8
+
9
+ - internal: https://gitlab.science.gc.ca/CanESM/imsi/-/issues
10
+ - external: https://gitlab.com/cccma/imsi/-/issues
11
+ -->
12
+
13
+ ## Summary
14
+
15
+ <!-- Provide a short summary of the bug encountered. -->
16
+
17
+ ### Current `bug` behaviour
18
+
19
+ <!-- Describe what actually happens. -->
20
+
21
+ ### Expected `correct` behaviour
22
+
23
+ <!-- Describe what you should see instead. -->
24
+
25
+ ### Steps to reproduce
26
+
27
+ <!-- Describe how to reproduce the issue - use a numbered list. -->
28
+
29
+ 1.
30
+ 2.
31
+
32
+ <!-- Where appropriate:
33
+ - Add link to a branch with this error or other supporting pages.
34
+ - Add relevant screenshots, logs, code, or output.
35
+ -->
36
+
37
+ <!-- v OPTIONAL, uncomment title v -->
38
+ <!-- ## Possible fixes -->
39
+
40
+ <!--
41
+ Provide a link to the line of code that might be responsible for the problem; and/or suggest a fix.
42
+ -->
43
+
44
+ ## Environment
45
+
46
+ <!-- Include the version of imsi you used (run `which imsi`). -->
47
+ **imsi version**:
48
+
49
+ <!-- Leave this label, do not add others -->
50
+ /label ~"bug"
@@ -0,0 +1,26 @@
1
+ <!--
2
+ ** Please read **
3
+
4
+ * Use this issue template for suggesting new or updates to existing documentation.
5
+ Note: changes to documentation as part of feature development should be included
6
+ in those relevant issues.
7
+
8
+ * Do not report documentation updates that are specific to your model repository source here.
9
+ -->
10
+
11
+ ## Summary
12
+
13
+ <!-- Provide a short summary of the documentation request here. -->
14
+
15
+ ## Details
16
+
17
+ <!-- Provide more details, such as:
18
+ - Describe the content that's erroneous or missing.
19
+ - Provide link to file path or url that is affected.
20
+ - Suggest cross-references that should be included in the content.
21
+ - Suggest specific wording, graphics, or other helpful content.
22
+ -->
23
+
24
+
25
+ <!-- Leave this label, do not add others -->
26
+ /label ~"docs"
@@ -0,0 +1,48 @@
1
+ <!--
2
+ ** Please read **
3
+
4
+ * Do not request enhancements that are specific to your model repository source here.
5
+
6
+ * Before opening a new issue, make sure to search for keywords in the issues
7
+ list and verify the issue you're about to submit isn't a duplicate:
8
+
9
+ - internal: https://gitlab.science.gc.ca/CanESM/imsi/-/issues
10
+ - external: https://gitlab.com/cccma/imsi/-/issues
11
+ -->
12
+
13
+ ## Summary
14
+
15
+ <!-- Provide a short summary of the enhancement request here.
16
+ - This should summarize the main idea and use-case of the feature.
17
+ - Add links to related issues
18
+ -->
19
+
20
+ ### Problem to solve
21
+
22
+ <!-- Describe what this feature enhacement is trying to solve. -->
23
+
24
+ ### Proposal
25
+
26
+ <!-- Describe the feature in detail and how it will work. -->
27
+
28
+ <!-- Where appropriate:
29
+ - Add relevant diagrams, mock-ups of interfaces, expected output, etc.
30
+ - List potential risk factors, if known.
31
+ -->
32
+
33
+ ### Importance
34
+
35
+ <!-- Describe why this feature is important
36
+ e.g., how this impacts workflow, how this may improve software functionality, why users might want to use it.
37
+ -->
38
+
39
+ <!-- v OPTIONAL, uncomment title v -->
40
+ <!-- ## Implementation Plan -->
41
+
42
+ <!--
43
+ Provide an outline of where in the imsi code base this feature
44
+ might live, which classes it may interact with, etc.
45
+ -->
46
+
47
+ <!-- Leave this label, do not add others -->
48
+ /label ~"enhancement"
@@ -0,0 +1,48 @@
1
+ <!--
2
+ ** Please read **
3
+
4
+ * Do not request features that are specific to your model repository source here.
5
+
6
+ * Before opening a new issue, make sure to search for keywords in the issues
7
+ list and verify the issue you're about to submit isn't a duplicate:
8
+
9
+ - internal: https://gitlab.science.gc.ca/CanESM/imsi/-/issues
10
+ - external: https://gitlab.com/cccma/imsi/-/issues
11
+ -->
12
+
13
+ ## Summary
14
+
15
+ <!-- Provide a short summary of the feature request here.
16
+ - This should summarize the main idea and use-case of the feature.
17
+ - Add links to related issues
18
+ -->
19
+
20
+ ### Problem to solve
21
+
22
+ <!-- Describe what this new feature is trying to solve. -->
23
+
24
+ ### Proposal
25
+
26
+ <!-- Describe the feature in detail and how it will work. -->
27
+
28
+ <!-- Where appropriate:
29
+ - Add relevant diagrams, mock-ups of interfaces, expected output, etc.
30
+ - List potential risk factors, if known.
31
+ -->
32
+
33
+ ### Importance
34
+
35
+ <!-- Describe why this feature is important
36
+ e.g., how this impacts workflow, how this may improve software functionality, why users might want to use it.
37
+ -->
38
+
39
+ <!-- v OPTIONAL, uncomment title v -->
40
+ <!-- ## Implementation Plan -->
41
+
42
+ <!--
43
+ Provide an outline of where in the imsi code base this feature
44
+ might live, which classes it may interact with, etc.
45
+ -->
46
+
47
+ <!-- Leave this label, do not add others -->
48
+ /label ~"feature"
@@ -16,13 +16,24 @@ variables:
16
16
  UV_BINARY: "/home/scrd102/.local/bin/uv"
17
17
  CANESM_REF_REPO: "/home/scrd102/cccma_libs/canesm/" # change once we have CD for CanE
18
18
 
19
+
19
20
  before_script:
20
- # clone to the CI_JOB_RUN_DIR
21
- - mkdir -p "${CI_JOB_RUN_DIR}"
22
- - git clone "${CI_REPOSITORY_URL}" "${CI_JOB_RUN_DIR}"
23
- - cd "${CI_JOB_RUN_DIR}"
24
- - git checkout "${CI_COMMIT_SHA}"
25
-
21
+ - mkdir -p "$CI_JOB_RUN_DIR"
22
+ - |
23
+ if [[ -n "$CI_MERGE_REQUEST_SOURCE_PROJECT_URL" ]]; then
24
+ echo "Cloning fork with CI job token"
25
+ AUTH_URL=$(echo "$CI_MERGE_REQUEST_SOURCE_PROJECT_URL" \
26
+ | sed "s#https://#https://gitlab-ci-token:${CI_JOB_TOKEN}@#")
27
+ git clone "$AUTH_URL" "$CI_JOB_RUN_DIR"
28
+ else
29
+ git clone "$CI_REPOSITORY_URL" "$CI_JOB_RUN_DIR"
30
+ fi
31
+
32
+ - cd "$CI_JOB_RUN_DIR"
33
+ - git fetch --tags origin
34
+ - git fetch origin "$CI_COMMIT_REF_NAME"
35
+ - git checkout "${CI_COMMIT_TAG:-$CI_COMMIT_SHA}"
36
+
26
37
 
27
38
  after_script:
28
39
  # this only cleans up the single job
@@ -123,10 +134,9 @@ deploy:
123
134
  script: |
124
135
  # make the deploy location
125
136
  mkdir -p ${IMSI_DEPLOY_PATH}/latest
126
- cd ${IMSI_DEPLOY_PATH}
127
137
 
128
138
  # pass Python version, tag, and deploy path as arguments
129
- source ${CI_JOB_RUN_DIR}/tests/deploy_imsi_env.sh "${IMSI_DEPLOYED_PYTHON_VER}" "${CI_COMMIT_TAG}" "${IMSI_DEPLOY_PATH}" "${CANESM_REF_REPO}"
139
+ source tests/deploy_imsi_env.sh "${IMSI_DEPLOYED_PYTHON_VER}" "${CI_COMMIT_TAG}" "${IMSI_DEPLOY_PATH}" "${CANESM_REF_REPO}"
130
140
  rules:
131
141
  # Only run these rules on gitlab.science.gc.ca
132
142
  - if: '$CI_SERVER_HOST != "gitlab.science.gc.ca"'
@@ -145,6 +155,7 @@ publish:
145
155
  when: never
146
156
 
147
157
  - if: $CI_COMMIT_TAG
158
+ allow_failure: true
148
159
 
149
160
 
150
161
  cleanup:
@@ -77,4 +77,29 @@ 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.
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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cimsi
3
- Version: 0.8.2.dev1
3
+ Version: 0.8.3
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
@@ -24,6 +24,7 @@ Requires-Dist: rich
24
24
  Requires-Dist: pyarrow
25
25
  Requires-Dist: python-dotenv
26
26
  Requires-Dist: questionary
27
+ Requires-Dist: paramiko
27
28
  Provides-Extra: tests
28
29
  Requires-Dist: coverage; extra == "tests"
29
30
  Requires-Dist: pytest; extra == "tests"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cimsi
3
- Version: 0.8.2.dev1
3
+ Version: 0.8.3
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
@@ -24,6 +24,7 @@ Requires-Dist: rich
24
24
  Requires-Dist: pyarrow
25
25
  Requires-Dist: python-dotenv
26
26
  Requires-Dist: questionary
27
+ Requires-Dist: paramiko
27
28
  Provides-Extra: tests
28
29
  Requires-Dist: coverage; extra == "tests"
29
30
  Requires-Dist: pytest; extra == "tests"
@@ -11,6 +11,10 @@ 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
14
18
  .gitlab/merge_request_templates/imsi_mr.md
15
19
  cimsi.egg-info/PKG-INFO
16
20
  cimsi.egg-info/SOURCES.txt
@@ -111,6 +115,8 @@ imsi/tools/list/list_cli.py
111
115
  imsi/tools/list/list_manager.py
112
116
  imsi/tools/menu/menu_cli.py
113
117
  imsi/tools/menu/menu_helpers.py
118
+ imsi/tools/qswide/qswide.py
119
+ imsi/tools/qswide/qswide_cli.py
114
120
  imsi/tools/simple_sequencer/__init__.py
115
121
  imsi/tools/simple_sequencer/iss.py
116
122
  imsi/tools/simple_sequencer/iss_cli.py
@@ -178,6 +184,8 @@ tests/test_ensemble/test_table_utils/test_yaml_table_vars.py
178
184
  tests/test_ensemble/test_table_utils/test_yaml_vars.py
179
185
  tests/test_list/test_list_cli.py
180
186
  tests/test_list/test_list_manager.py
187
+ tests/test_override/test_apply_options_overrides.py
188
+ tests/test_override/test_parse_override_cli.py
181
189
  tests/test_schema/test_compiler.py
182
190
  tests/test_schema/test_components.py
183
191
  tests/test_schema/test_experiment.py
@@ -11,6 +11,7 @@ rich
11
11
  pyarrow
12
12
  python-dotenv
13
13
  questionary
14
+ paramiko
14
15
 
15
16
  [docs]
16
17
  sphinxcontrib-programoutput
@@ -87,6 +87,7 @@ 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
90
91
  - machines, which dictates:
91
92
  - what sequencers are available
92
93
  - what resource configurations are allowed (i.e. how many days can be simulated in the allowable wall-clock?)
@@ -178,7 +179,7 @@ To define what jobs will run and with what resources, ``imsi`` relies on the
178
179
  key path.
179
180
 
180
181
  Specifically, ``imsi`` will look for ``sequencing:sequencing_flow:FLOW_NAME``, where
181
- the flow name is determined by one of two methods:
182
+ the flow name is determined by one of three methods:
182
183
 
183
184
  1. **automatically via the** ``machine`` **and sequencer specific configuration**
184
185
 
@@ -190,7 +191,27 @@ the flow name is determined by one of two methods:
190
191
  4. extracts the `non-machine specific` ``FLOW_NAME`` from ``sequencing:sequencers:SEQUENCER_NAME:baseflows:model_type``
191
192
  5. appends ``default_sequencing_suffix`` to the `non-machine specific` ``FLOW_NAME`` such that ``FLOW_NAME=${FLOW_NAME}-${default_sequencing_suffix}``
192
193
 
193
- 2. **from the** ``--flow`` **argument to** ``imsi setup``
194
+ 2. **from the** ``flow: FLOW_NAME`` **entry in the experiment/model configuration**
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``
194
215
 
195
216
  With this in mind, modifications/development of sequencer flows can be achieved via:
196
217
 
@@ -79,6 +79,7 @@ By default, ``imsi`` only logs the above information for certain ``cli`` command
79
79
 
80
80
  * ``imsi config``
81
81
  * ``imsi reload``
82
+ * ``imsi override``
82
83
  * ``imsi set``
83
84
  * ``imsi build```
84
85
  * ``imsi submit``
@@ -257,34 +257,30 @@ 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 set --options``
260
+ 4\. Apply blocks of pre-defined modifications using ``imsi override --option``
261
261
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
262
262
 
263
- .. warning::
264
-
265
- imsi |version|: this command is a WIP and there may be unexpected behaviour.
266
263
 
267
264
  +------------------+------------------------------------------------------------------+
268
265
  | **Command** | .. code-block:: bash |
269
266
  | | |
270
- | | >> imsi set --options <option_block>=<option_key> |
267
+ | | >> imsi override --option <option_block>/<option_file> |
271
268
  | | |
272
269
  +------------------+------------------------------------------------------------------+
273
270
  | **Steps** | Run the command above. The options are defined in the imsi |
274
- | | Configuration Files for the source, nominally in |
275
- | | ``model_options.yaml``. |
271
+ | | Configuration Files for the source, nominally in YAML files |
272
+ | | under ``imsi-config/options/<option_block>/<option_file>``. |
276
273
  +------------------+------------------------------------------------------------------+
277
274
  | **Purpose** | Apply pre-defined sets of modifications to the run |
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** |
275
+ | | configuration. The directory ``<option_block>`` and its contents |
276
+ | | can be generally thought of as common modifications to |
277
+ | | configuration that are not otherwise captured in the structured |
278
+ | | configuration system. |
283
279
  +------------------+------------------------------------------------------------------+
284
280
 
285
- **What does** ``imsi set -o`` **do?**
281
+ **What does** ``imsi override --option`` **do?**
286
282
 
287
- In simple terms, ``imsi set -o`` is analogous to manually modifying the Resolved
283
+ In simple terms, ``imsi override --option`` is analogous to manually modifying the Resolved
288
284
  Configuration File and running ``imsi config``.
289
285
 
290
286
  .. warning::
@@ -352,11 +348,6 @@ Any further modifications to the upstream Configuration File for ``exp-B``
352
348
  can be applied by using ``imsi reload`` for simplicity thereafter.
353
349
 
354
350
 
355
- .. warning::
356
-
357
- ``imsi set --options`` is a WIP.
358
-
359
-
360
351
  Validating imsi configuration files with ``imsi validate``
361
352
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
362
353
 
@@ -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.dev1'
32
- __version_tuple__ = version_tuple = (0, 8, 2, 'dev1')
31
+ __version__ = version = '0.8.3'
32
+ __version_tuple__ = version_tuple = (0, 8, 3)
33
33
 
34
- __commit_id__ = commit_id = 'g904569cbb'
34
+ __commit_id__ = commit_id = 'g0bb919958'
@@ -303,27 +303,49 @@ def reload(ctx):
303
303
  @click.option(
304
304
  "-o",
305
305
  "--options",
306
- metavar="OPTION_BLOCK=VALUE",
306
+ is_flag=True,
307
+ required=False,
308
+ default=None,
309
+ deprecated="See 'imsi override --help' for details.",)
310
+ @click.pass_context
311
+ @log_cli
312
+ def set(ctx, selections, options):
313
+ import imsi.user_interface.ui_manager as uim
314
+
315
+ if options or options is not None:
316
+ sys.exit(1)
317
+
318
+ if not selections:
319
+ print(ctx.command.get_help(ctx))
320
+ sys.exit(1)
321
+
322
+ force_dirs(Path("src"))
323
+ uim.validate_version_reqs()
324
+ # tmp disabling parm_file -> None
325
+ uim.set_selections(None, selections, force=ctx.obj["FORCE"])
326
+
327
+
328
+ @click.command(
329
+ short_help="Override settings.",
330
+ help="Override configuration options from imsi-config."
331
+ )
332
+ @click.option(
333
+ "-o", "--option",
334
+ metavar="PATH/FILE.yaml",
307
335
  multiple=True,
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]""",
336
+ help="File paths under imsi-config/options. If specifying multiple paths, options are applied in the order provided."
311
337
  )
312
338
  @click.pass_context
313
339
  @log_cli
314
- def set(ctx, selections, options):
340
+ def override(ctx, option):
315
341
  import imsi.user_interface.ui_manager as uim
316
342
 
317
343
  force_dirs(Path("src"))
318
344
  uim.validate_version_reqs()
319
- if any([selections, options]):
320
- # tmp disabling parm_file -> None
321
- uim.set_selections(None, selections, options, force=ctx.obj["FORCE"])
345
+ if option:
346
+ uim.parse_override(option, force=ctx.obj["FORCE"])
322
347
  else:
323
- click.echo(
324
- "Error: Must provide at least one --selections or --options",
325
- err=True,
326
- )
348
+ click.echo("Error: Provide at least one --option.", err=True)
327
349
 
328
350
 
329
351
  @click.command(
@@ -73,6 +73,7 @@ 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")
76
77
  cli.add_lazy_command("imsi.tools.disk_tools.disk_tools_cli.clean")
77
78
  cli.add_lazy_command("imsi.tools.list.list_cli.list")
78
79
  cli.add_lazy_command("imsi.tools.menu.menu_cli.setup_menu", name="setup-menu")
@@ -82,3 +83,5 @@ cli.add_lazy_command("imsi.tools.ensemble.ensemble_cli.ensemble")
82
83
  cli.add_lazy_command("imsi.tools.validate.validate_cli.validate", name="validate")
83
84
  cli.add_lazy_command("imsi.tools.time_manager.timer_cli.chunk_manager", name="chunk-manager")
84
85
  cli.add_lazy_command("imsi.tools.simple_sequencer.iss_cli.iss")
86
+
87
+ cli.add_lazy_command("imsi.tools.qswide.qswide_cli.qswide")
@@ -90,6 +90,8 @@ class SequencingFactory:
90
90
  def create_from_database(
91
91
  db: ConfigDatabase,
92
92
  machine: Machine,
93
+ experiment: Experiment,
94
+ model: Model,
93
95
  sequencer_name: str,
94
96
  flow_name: str = None,
95
97
  model_type: str = None,
@@ -116,8 +118,10 @@ class SequencingFactory:
116
118
  model_type,
117
119
  sequencer_name,
118
120
  sequencing_config["sequencer"].get("baseflows"),
119
- flows=sequencing_configs["sequencing_flow"],
121
+ machine_specific_flows=sequencing_configs["sequencing_flow"],
120
122
  machine=machine,
123
+ experiment=experiment,
124
+ model=model
121
125
  )
122
126
 
123
127
  sequencing_config["sequencing_flow"] = SequencingFactory.set_flow_config(
@@ -160,8 +164,10 @@ class SequencingFactory:
160
164
  model_type: str,
161
165
  sequencer_name: str,
162
166
  sequencer_baseflows: dict,
163
- flows,
167
+ machine_specific_flows,
164
168
  machine: Machine,
169
+ experiment: Experiment,
170
+ model: Model,
165
171
  ):
166
172
  """Get the default sequencing flow, which handles the selected model_type, and
167
173
  also has configuration support for the selected sequencer and machine.
@@ -183,17 +189,24 @@ class SequencingFactory:
183
189
  # The platform/machine specific implementation of baseflows is denoted with a suffix on baseflow
184
190
  # This will return the first baseflow/machine specific flow in the list (which is constrain to be
185
191
  # 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
+
186
195
  for baseflow in base_flows:
187
- machine_specific_flow = f"{baseflow}-{machine.default_sequencing_suffix}" # convention for the naming
188
- if machine_specific_flow in flows:
196
+ if experiment_or_model_flow is not None:
197
+ machine_specific_flow = f"{baseflow}-{experiment_or_model_flow}-{machine.default_sequencing_suffix}"
198
+ else:
199
+ machine_specific_flow = f"{baseflow}-{machine.default_sequencing_suffix}"
200
+ if machine_specific_flow in machine_specific_flows:
189
201
  return machine_specific_flow
202
+
190
203
  supported_base_flows = ", ".join(base_flows)
191
204
  raise KeyError(
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."
205
+ f"Could not determine a default sequencing flow for sequencer '{sequencer_name}' "
206
+ f"on machine '{machine.name}' (suffix '{machine.default_sequencing_suffix}'), "
207
+ f"for model_type '{model_type}' and experiment or model flow '{experiment_or_model_flow}'. "
208
+ f"Supported baseflows for this model_type are: {supported_base_flows}. "
209
+ "Machine-specific versions for this combination are not implemented but required."
197
210
  )
198
211
 
199
212
  @staticmethod
@@ -414,7 +427,7 @@ class ConfigManager:
414
427
  setup_params = self.create_SetupParams(setup_params, machine) # improvable
415
428
  utilities = self.create_utilities()
416
429
  (SEQ_N, FLOW_N), sequencing = self.create_sequencing(
417
- machine, setup_params.sequencer_name, flow_name, experiment
430
+ machine, experiment, model, setup_params.sequencer_name, flow_name
418
431
  )
419
432
  POST_N, postproc = self.create_postproc(model, experiment, postproc_profile)
420
433
 
@@ -483,13 +496,16 @@ class ConfigManager:
483
496
  def create_sequencing(
484
497
  self,
485
498
  machine: Machine,
499
+ experiment: Experiment,
500
+ model: Model,
486
501
  sequencer_name: str,
487
502
  flow_name: str,
488
- experiment: Experiment,
489
503
  ) -> Sequencing:
490
504
  return SequencingFactory.create_from_database(
491
505
  self.db,
492
506
  machine=machine,
507
+ experiment=experiment,
508
+ model=model,
493
509
  sequencer_name=sequencer_name,
494
510
  flow_name=flow_name,
495
511
  model_type=experiment.model_type,
@@ -1,4 +1,4 @@
1
- from typing import Optional, List
1
+ from typing import Optional, Union, List
2
2
 
3
3
  from pydantic import Field, BaseModel, ConfigDict
4
4
 
@@ -23,8 +23,9 @@ class Experiment(BaseModel):
23
23
  )
24
24
  parent_runid: str
25
25
  parent_branch_time: str
26
- inherits_from: Optional[str] = None
26
+ inherits_from: Optional[Union[List[str], str]] = None
27
27
  supported_models: List[str]
28
+ flow: Optional[str] = None # overrides flow specified in model
28
29
 
29
30
  def validate_model_name(self, model_name: str):
30
31
  if model_name not in self.supported_models:
@@ -19,3 +19,4 @@ class Model(BaseModel):
19
19
  prefix: Optional[str] = None
20
20
  model_filename_prefix: Optional[str] = None
21
21
  model_rs_filename_prefix: Optional[str] = None
22
+ flow: Optional[str] = None