Skip to content

Chksum diag timestamp#879

Merged
marshallward merged 2 commits into
NOAA-GFDL:dev/gfdlfrom
marshallward:chksum_diag_timestamp
Apr 16, 2025
Merged

Chksum diag timestamp#879
marshallward merged 2 commits into
NOAA-GFDL:dev/gfdlfrom
marshallward:chksum_diag_timestamp

Conversation

@marshallward
Copy link
Copy Markdown
Member

This PR has two commits:

  • A timestamp is appended to the checksum output of chksum_diag, to facilitate sorting.
  • CI testing sorts this output in order to eliminate false-negative diagnostic regressions.

Since it changes the chksum_diag files, there will be a regression. But it should not propagate to future runs. It may, however, propagate to other forks, such as MOM-ocean.

Copy link
Copy Markdown
Member

@Hallberg-NOAA Hallberg-NOAA left a comment

Choose a reason for hiding this comment

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

These changes look correct to me, and I am expecting that this will be a valuable improvement in our error and change detection capability.

USE_DIAG_AS_CHKSUM will replace diagnostic calls with checksum data,
enabling verification of diagnostic output.  Although it is printed in
the order of calculation, there is no information about the model state.

If the post_data calls are reordered without changing the answers, then
current testing will report an error, since it has no way of
distinguishing between a reorder and an actual regression.

This test appends a timestamp to the output.  Time is based on the
`Time_end` of the diag mediator.  Format is "day seconds". This allows
the output to be sorted for regression testing.
This patch uses the new timestamped chksum_diag output for sorting, so
that diagnostics can be verified as order-independent.

Sorting is achieved by copying the appending timestamp as a prepended
timestamp, and then passed to sort.

This is still a jury rigged solution, but it prevents false regressions
from a reordered diagnostic.
@Hallberg-NOAA Hallberg-NOAA force-pushed the chksum_diag_timestamp branch from 2d26f1b to c8782eb Compare April 16, 2025 14:49
@Hallberg-NOAA
Copy link
Copy Markdown
Member

This PR has passed pipeline testing at https://gitlab.gfdl.noaa.gov/ogrp/mom6ci/MOM6/-/pipelines/27143.

The two failing regression checks are expected due to changes in the format of the checksums that are being applied to evaluate whether diagnostics have changed.

@marshallward
Copy link
Copy Markdown
Member Author

Manual overriding the regression tests.

@marshallward marshallward merged commit b232aba into NOAA-GFDL:dev/gfdl Apr 16, 2025
49 of 51 checks passed
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.

2 participants