Skip to content

Refactor wet model drivers and controllers#55

Draft
Pierre Siddall (Pierre-siddall) wants to merge 22 commits into
MetOffice:mainfrom
Pierre-siddall:refactor-wet-model
Draft

Refactor wet model drivers and controllers#55
Pierre Siddall (Pierre-siddall) wants to merge 22 commits into
MetOffice:mainfrom
Pierre-siddall:refactor-wet-model

Conversation

@Pierre-siddall
Copy link
Copy Markdown
Contributor

@Pierre-siddall Pierre Siddall (Pierre-siddall) commented May 11, 2026

PR Summary

Code Reviewer:

This PR migrates over the ticket number 523 from subversion which was authored by Harry Shepherd (@harry-shepherd) and contained the following description:

As part of the first priority items for the drivers refactor, there is extensive work to do on the wet model drivers and controllers. For this context I take these to be:

  • NEMO
  • TOP (Medusa)
  • SI^3

As all of these have similar functionality, and areas of code that work in the same way. The original design brief for the drivers was to ensure orthogonality between components, and this will still be followed to allow the SI^3^ controller to easily be reconfigured into a driver if that is desired. However code reuse will be made use of as much as possible (which was not the case in the original implementation of the controllers).

As CICE is not part of GC5, refactoring of that driver is a 2nd tier priority item.

Work in this ticket includes (but is not limited to):
NEMO

  • Splitting up {{{setup_executable}}} into discrete tasks that can be unit tested
  • Splitting up {{{finalize_executable}}} in a similar way
  • Unit testing other functions

SI^3 and Top
The controllers will be removed

closes #60

Code Quality Checklist

(Some checks are automatically carried out via the CI pipeline)

  • I have performed a self-review of my own code
  • My code follows the project's style guidelines
  • Comments have been included that aid undertanding and enhance the
    readability of the code
  • My changes generate no new warnings

Testing

  • I have tested this change locally, using the Moci rose-stem suite
  • If any tests fail (rose-stem or CI) the reason is understood and
    acceptable (eg. kgo changes)
  • I have added tests to cover new functionality as appropriate (eg. system
    tests, unit tests, etc.)

Security Considerations

  • I have reviewed my changes for potential security issues
  • Sensitive data is properly handled (if applicable)
  • Authentication and authorisation are properly implemented (if applicable)

Performance Impact

  • Performance of the code has been considered and, if applicable, suitable
    performance measurements have been conducted

AI Assistance and Attribution

  • Some of the content of this change has been produced with the assistance
    of Generative AI tool name (e.g., Met Office Github Copilot Enterprise,
    Github Copilot Personal, ChatGPT GPT-4, etc) and I have followed the
    Simulation Systems AI policy
    (including attribution labels)

Documentation

  • Where appropriate I have updated documentation related to this change and
    confirmed that it builds correctly

Code Review

  • All dependencies have been resolved
  • Related Issues have been properly linked and addressed
  • CLA compliance has been confirmed
  • Code quality standards have been met
  • Tests are adequate and have passed
  • Documentation is complete and accurate
  • Security considerations have been addressed
  • Performance impact is acceptable

Co-authored-by: harry-shepherd <17930806+harry-shepherd@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Broken mule loading in rose-stem

2 participants