-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add access class for access-esm repro testing #28
Conversation
ACCESS-ESM1.5 default model runtime is a day as UM payu model driver only supports days, while ACCESS-OM2 default model runtime is kept at 3hrs. The output checksum files are still named as historical-*hr-checksums.json
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #28 +/- ##
===========================================
+ Coverage 14.44% 54.85% +40.41%
===========================================
Files 11 13 +2
Lines 547 618 +71
===========================================
+ Hits 79 339 +260
+ Misses 468 279 -189 ☔ View full report in Codecov by Sentry. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow, from all of that I only have one comment 😄 Looks great.
Have you tested the test code?
I've tested the code with the pre-industrial configuration: https://github.com/ACCESS-NRI/access-esm1.5-configs/tree/pre-industrial, but using the executable paths from coecms: https://github.com/coecms/access-esm/blob/main/config.yaml, as the exe paths on the current pre-industrial branch weren't working. Though I think the pre-industrial configuration is getting updated with spack executables, so I'll be able to do another test run. I've tested it with the broken 025 access-om2 configs tests to see what logs are printed when things go wrong.. |
Ok, so the spack executables in this PR: ACCESS-NRI/access-esm1.5-configs#26, pass the historical bit reproducibility test using checksums from the Restart reproducibility fails, because the model is not in a good state to restart from after a model runtime of one day - it's minimum runtime might be a month (?). Talked with @aidanheerdegen about whether restart reproducibility should be tested as part of Reproducibility CI checks for configs (as they fail for the access-om2-bgc configs too), and decided that bit historical reproducibility was sufficient testing for now. So I've changed the test marker to |
Hey that's cool!
I believe ESM1.5 has never been restart reproducible. @MartinDix mentioned that CABLE (the land model embedded in the UM in ESM1.5) also prevented restart reproducibility, so best to not have it turned on as a check. Which also means we can just use 1 day runs for historical reproducibility. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a warning, this was a pretty light review, I didn't have time to check all the refactoring, but it looks great to me. Thanks for all the hard work!
…constants, and reduce test file size
I reran the historical repro test with ACCESS-ESM1.5 pre-industrial config and an ACCESS-OM2 config, just to make sure the latest changes didn't break the tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one thing... 😄
Added an
access
model class (access
is the name of the payu driver for theaccess-esm1.5
model).Refactor extracting mom5 checksums to a separate file and function so it can be reused in
access-om2
andaccess
. I used just a helper function, rather than model class of mom5 withextract_checksums()
method to easily allow for different checksums be added to access-om2/access models in future.Added a test
access.out
and expected checksums to test resources so it passes the existingextract_checksums()
tests for each model class.Set default model runtime for access to 24hr for
access
(as the minimum runtime is day), and keep access-om2/om3 to 3hrs. This default runtime is used in the historical repro checksums tests.Refactored the
test_bit_repro_historical
a little as the test was getting long with the added logic..Added a start of an integration-like test for
test_bit_repro_historical
. This is still draft while I am finishing off adding tests. But if there's any feedback on the changes is welcome