Skip to content

Conversation

jfrost-mo
Copy link
Member

Contribution checklist

Aim to have all relevant checks ticked off before merging. See the developer's guide for more detail.

  • Documentation has been updated to reflect change.
  • New code has tests, and affected old tests have been updated.
  • All tests and CI checks pass.
  • Ensured the pull request title is descriptive.
  • Conda lock files have been updated if dependencies have changed.
  • Attributed any Generative AI, such as GitHub Copilot, used in this PR.
  • Marked the PR as ready to review.

@jfrost-mo jfrost-mo self-assigned this Sep 5, 2025
@jfrost-mo jfrost-mo added the documentation Improvements or additions to documentation label Sep 5, 2025
Copy link
Contributor

github-actions bot commented Sep 5, 2025

Coverage

@jfrost-mo jfrost-mo changed the base branch from main to move_loaders September 5, 2025 21:18
@jfrost-mo jfrost-mo force-pushed the 873_part999_documentation branch 2 times, most recently from 7fc59e2 to 1ad4491 Compare September 5, 2025 21:23
Base automatically changed from move_loaders to main September 8, 2025 12:47
@jfrost-mo jfrost-mo force-pushed the 873_part999_documentation branch from 1ad4491 to 600c75c Compare September 8, 2025 13:18
@jfrost-mo
Copy link
Member Author

jfrost-mo commented Sep 8, 2025

Remaining areas to document

From #1638 (comment)

Rose bunch, which is used for the parallelism here, handles putting each task's logs into a separate file, so they won't be intermingled. The main job.out and job.err files contain the currently running jobs and point to the log files for any failed jobs, so debugging is still possible, though it does require an extra click to see exactly what has failed.

To ensure this is discoverable it will be added to the documentation in part 7 of this patch series.

From #1639 (comment)

The documentation for adding a new diagnostic/recipe will need updating to reflect include files no longer being a thing.

From #1639 (review)

It should be noted in the documentation updates that the run_cset_recipe app folder needs to be deleted in the users cset_workflow/app directory as it is not tracked by GitHub and will cause problems for opening the GUI.

Base model cube attribute.

Copy link
Contributor

@daflack daflack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments for you to consider.

Comment on lines +123 to +135
demo_pointstat
~~~~~~~~~~~~~~

metplus_ascii2nc
~~~~~~~~~~~~~~~~

metplus_grid_stat
~~~~~~~~~~~~~~~~~

metplus_point_stat
~~~~~~~~~~~~~~~~~~

These apps are not currently used, but aim to integrate METplus in the workflow.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
demo_pointstat
~~~~~~~~~~~~~~
metplus_ascii2nc
~~~~~~~~~~~~~~~~
metplus_grid_stat
~~~~~~~~~~~~~~~~~
metplus_point_stat
~~~~~~~~~~~~~~~~~~
These apps are not currently used, but aim to integrate METplus in the workflow.
The following apps are not currently used, but aim to integrate METplus in the workflow.
demo_pointstat
~~~~~~~~~~~~~~
metplus_ascii2nc
~~~~~~~~~~~~~~~~
metplus_grid_stat
~~~~~~~~~~~~~~~~~
metplus_point_stat
~~~~~~~~~~~~~~~~~~

Just wonder if it might be clearer to re-order this part.

Comment on lines +147 to +166
src/CSET
├── cset_workflow # Detailed below for clarity.
├── loaders
│   ├── __init__.py # Imports all loaders to make available to the rest of CSET.
│   └── ... # Then lots of loaders, as described above.
├── operators
│   ├── __init__.py # Code for executing ("baking") recipes.
│   ├── _colorbar_definition.json # Default colourbar definitions.
│   ├── _plot_page_template.html # Template for diagnostic output page.
│   ├── _stash_to_lfric.py # Mapping between STASH codes and LFRic variable names.
│   ├── _utils.py # Common utility code for operators.
│   └── ... # Then lots of operators, as described above.
├── recipes
│   ├── __init__.py # Code for parbaking recipes.
│   └── ... # Then lots of recipes, as described above.
├── __init__.py # CLI entrypoint. Sets up logging, parses arguments, etc.
├── __main__.py # Allows running `python -m CSET`.
├── _common.py # Common utility code.
├── extract_workflow.py # Implementation of `cset extract-workflow`.
└── graph.py # Implementation of `cset graph`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the code blocks, and applicable to the one below. It is a lot of text with the comments being on the same line. Is there a better way to format this to make it less busy for people to read.

Copy link
Member Author

@jfrost-mo jfrost-mo Sep 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely. It would immediately be better if the comments were aligned so they all started at the same indentation, but that would cause it to scroll in the output.

We could go for a table or a definitions list (as used here), but we would lose the hierarchy, which I see as quite important for understanding what is where.

While a little boring, we might be best served with a simple nested list, such as:

  • cset_workflow
    Detailed below for clarity.
  • loaders
    • __init__.py
      Imports all loaders to make available to the rest of CSET.
    • ...
      Then lots of loaders, as described above.
  • operators
    • __init__.py
      Code for executing ("baking") recipes.
    • ...
      Then lots of operators, as described above.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe as an image, that way we can keep the hierarchy and not have scrolling problems and clear indentations?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants