Skip to content
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

create_test: add --driver support for e3sm #4673

Merged
merged 1 commit into from
Sep 4, 2024

Conversation

jgfouca
Copy link
Contributor

@jgfouca jgfouca commented Sep 3, 2024

Also, fix a couple issues in driver handling in test_scheduler.

Test suite:
Test baseline:
Test namelist changes:
Test status: bit for bit

Fixes [CIME Github issue #]

User interface changes?:

Update gh-pages html (Y/N)?:

Also, fix a couple issues in driver handling in test_scheduler.
@jgfouca jgfouca self-assigned this Sep 3, 2024
@@ -681,15 +683,16 @@ def _create_newcase_phase(self, test):
)
)
elif case_opt.startswith("V"):
self._cime_driver = case_opt[1:]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The original code looks like a bug. The presence of one test with Vdriver would change the driver for all the tests.

Copy link
Contributor

Choose a reason for hiding this comment

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

That's been there for a long time, seems like we would have seen problems by now if that were the case. On the other hand, I agree.

Copy link
Member

Choose a reason for hiding this comment

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

You mean adding one Vdriver a test in a suite would change all tests in that suite?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@rljacob , yes. self._cime_driver is shared for all tests.

@@ -924,7 +932,9 @@ def _xml_phase(self, test):
elif opt.startswith("A"):
# A option is for testing in ASYNC IO mode, only available with nuopc driver and pio2
envtest.set_test_parameter("PIO_ASYNC_INTERFACE", "TRUE")
envtest.set_test_parameter("CIME_DRIVER", "nuopc")
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This also looked really problematic. Setting the driver to nuopc even if that doesn't match cime_driver?

Copy link
Contributor

Choose a reason for hiding this comment

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

PIO async mode is only supported in nuopc - but since cesm only supports the nuopc driver now, this is okay to remove.

@jgfouca
Copy link
Contributor Author

jgfouca commented Sep 3, 2024

@jedwards4b , is this error ERROR: ESMF version should be 8.6.1 or newer expected in CESM?

Copy link
Contributor

@jedwards4b jedwards4b left a comment

Choose a reason for hiding this comment

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

No, I don't think that this is expected - this was passing in the previous several PR's -
ESMF version should be 8.6.1 or newer expected in CESM?. Did something in docker regress somehow?

@@ -681,15 +683,16 @@ def _create_newcase_phase(self, test):
)
)
elif case_opt.startswith("V"):
self._cime_driver = case_opt[1:]
Copy link
Contributor

Choose a reason for hiding this comment

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

That's been there for a long time, seems like we would have seen problems by now if that were the case. On the other hand, I agree.

@@ -924,7 +932,9 @@ def _xml_phase(self, test):
elif opt.startswith("A"):
# A option is for testing in ASYNC IO mode, only available with nuopc driver and pio2
envtest.set_test_parameter("PIO_ASYNC_INTERFACE", "TRUE")
envtest.set_test_parameter("CIME_DRIVER", "nuopc")
Copy link
Contributor

Choose a reason for hiding this comment

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

PIO async mode is only supported in nuopc - but since cesm only supports the nuopc driver now, this is okay to remove.

@jgfouca
Copy link
Contributor Author

jgfouca commented Sep 3, 2024

@jedwards4b , would you mind trying a CESM test on this branch? I don't see how this PR is causing an ESMF problem.

@jedwards4b
Copy link
Contributor

According to the docker README: docker/README.md:| ESMF_VERSION | Version of ESMF, the default will install the latest | 8.2.0
I don't see it set anywhere so you think that the latest would be used - the latest is 8.6.1.
https://anaconda.org/conda-forge/esmf says v8.6.1

@jedwards4b
Copy link
Contributor

@jgfouca I don't either and I think that we may need to rethink this docker testing framework - it seems like it's been a problem in nearly every cime PR since it was introduced. Testing on derecho now...

@jedwards4b
Copy link
Contributor

cesm tests are passing locally -

Copy link
Contributor

@jedwards4b jedwards4b left a comment

Choose a reason for hiding this comment

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

Ran cesm tests on derecho with no issues - the .github fail seems to be a docker issue.

@jgfouca
Copy link
Contributor Author

jgfouca commented Sep 4, 2024

I see the same failure on a PR that changed nothing: #4674

Merging.

@jgfouca jgfouca merged commit 847d3c5 into master Sep 4, 2024
6 of 7 checks passed
@jgfouca jgfouca deleted the jgfouca/create_test_driver branch September 4, 2024 15:46
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.

3 participants