Skip to content

Postproc updates for UKESM2#49

Open
marcstring wants to merge 6 commits intoMetOffice:mainfrom
marcstring:ukesm2_dev
Open

Postproc updates for UKESM2#49
marcstring wants to merge 6 commits intoMetOffice:mainfrom
marcstring:ukesm2_dev

Conversation

@marcstring
Copy link
Copy Markdown

@marcstring marcstring commented Mar 31, 2026

PR Summary

Code Reviewer: Erica Neininger (@ericaneininger)

As summarised at the top of issue #31, our prototype UKESM2 model, UKESM2_proto, uses NEMO4.2, whereas UKESM1.3 uses NEMO3.6. At NEMO3.6 the bathymentry file was an input file, but at NEMO4.2 the bathymetry files needs to be generated from a domain file. Consequently for UKESM2_proto, compared to UKESM1.3,

  • The bathymetry file is no longer a starting file, the domain file is instead
  • UKESM2_proto has an additional domain file.

In this ticket I add the domain file and change the rose-stem setup from the UKESM1.3 setup to the UKESM2_proto setup.

Also, includes a fix in expected_content.py for running static ice (which has no restart dumps) for either UKESM1.3 or UKESM2_proto on the final cycle.

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
  • [ ]*1 Comments have been included that aid undertanding and enhance the
    readability of the code
  • My changes generate no new warnings
    *1 No additional comments in this change except for the additional unit test, which was written by Erica Pearce, but change is only adding additional arguments to code which is already commented.

Testing

  • I have tested this change locally, using the Moci rose-stem suite
  • *2 If any tests fail (rose-stem or CI) the reason is understood and
    acceptable (eg. kgo changes)
  • [ ]*3 I have added tests to cover new functionality as appropriate (eg. system
    tests, unit tests, etc.)
    *2 There's no failures, see output in issue UKESM2 postproc developments #31
    *3 I found an error in the code, which this change fixes, and Erica has added a unit test into this change which protects this fix.

I've also run a UKESM2_proto for several years, which archive_integrity running every year, to comfirm that the additional files are being archived and are expected by archive_integrity.

Security Considerations

  • I have reviewed my changes for potential security issues
  • [ ]*4 Sensitive data is properly handled (if applicable)
  • [ ]*4 Authentication and authorisation are properly implemented (if applicable)
    *4 Not applicable to this change

Performance Impact

  • [x]*5 Performance of the code has been considered and, if applicable, suitable
    performance measurements have been conducted
    *5 This adds additional code to both Postproc and rose-stem, but increases should not be significant.

AI Assistance and Attribution

  • [ ]*6 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)
    *6 No AI used here

Documentation

  • [ ]*7 Where appropriate I have updated documentation related to this change and
    confirmed that it builds correctly
    *7 No additional documentation.

Test Suite Results - moci - test_ukesm2_dev/run1

Suite Information

Item Value
Suite Name test_ukesm2_dev/run1
Suite User marc.stringer
Workflow Start 2026-03-30T10:26:27
Groups Run ALL
Dependency Reference Main Like
moci marcstring/moci@ukesm2_dev False
SimSys_Scripts MetOffice/SimSys_Scripts@main True

Task Information

✅ succeeded tasks - 116

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

@github-actions github-actions bot added the cla-required The CLA has not yet been signed by the author of this PR - added by GA label Mar 31, 2026
@github-actions github-actions bot added cla-signed The CLA has been signed as part of this PR - added by GA and removed cla-required The CLA has not yet been signed by the author of this PR - added by GA labels Apr 1, 2026
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This looks generally fine.

Can you please copy the trac.log file from your rose-stem run - the PR template need updating to request this new feature!

Just an observation - The new output files do not follow the CMIP agreed filenaming convention. The only special character permitted in the "custom" facet is a hyphen, and here we have a period: plot.CF-AIS and plot.CF-GRiS .

Since the rest of the filenames comply with the convention, are we breaking it deliberately, or because we were not aware it was there?

Just for ease of finding them in the changes here... These custom facets are defined in archive_verify/filenames.py and in unicicles/unicicles.py. Thery are then requested in the rose-stem postproc app.

@marcstring
Copy link
Copy Markdown
Author

marcstring commented Apr 1, 2026

Hi Erica, thanks for getting to this so quickly.

A good point about the plot.CF-AIS and plot.CF-GRiS files. The were added to our UKESM1.3 CMIP7 Fast Track at the very last minute, by Robin Smith, and I'd forgotten about this issue. It's been decided that some software other than CDDS will handle the UniCiCles data, and Robin and other ice sheet guys are handling this. Hence, we don't need to meet the CMIP agreed convention here (and it's too late for UKESM1.3 now, which is frozen), but that doesn't meet we can't meet this convention for UKESM2. I'll contact Robin Smith, and Cc you, and see what he says.

Thanks, Marc

ps. I've added the trac.log to the PR summary, as requested.

@marcstring
Copy link
Copy Markdown
Author

Re-running rose-stem

Following Erica's review and e-mails with Robin Smith (main contributor to the UniCiCles code), I've changed the branch so that *plot.CF-AIS.hdf5 and *plot.CF-GRiS.hdf5 files are now called *plot-CF-AIS.hdf5 and *plot.CF-GRiS.hdf5.

I've re-run rose-stem and the new trac.log is

Test Suite Results - moci - test_ukesm2_dev2/run1

Suite Information

Item Value
Suite Name test_ukesm2_dev2/run1
Suite User marc.stringer
Workflow Start 2026-04-02T10:36:04
Groups Run ALL
Dependency Reference Main Like
moci marcstring/moci@ukesm2_dev False
SimSys_Scripts MetOffice/SimSys_Scripts@main True

Task Information

✅ succeeded tasks - 116

@marcstring
Copy link
Copy Markdown
Author

marcstring commented Apr 2, 2026

At the bottom of https://code.metoffice.gov.uk/trac/UKESM/wiki/ticket/1036/extra_plot_files I've created a job to test the new branch, https://code.metoffice.gov.uk/trac/roses-u/log/d/y/3/4/2, and this can be seen to archive the *_plot-CF-AIS.hdf5 and *_plot-CF-GrIS.hdf5 files. And the archive_integrity looks good as well. Hence, I believe this shows the change to the branch following Erica's review is good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The CLA has been signed as part of this PR - added by GA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants