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

Update climate reproducibility tests (MVK, PGN, TSC) #3135

Merged
merged 8 commits into from
Aug 16, 2019

Conversation

jhkennedy
Copy link
Contributor

Updates the MVK, PGN, and TSC climate reproducibility tests to all be production ready. They will all generate an appropriate baseline, run the comparison and produce a pass-fail result, and through EVV provide a portable website with in-depth test details to analyze why these tests pass/fail. An example of the output websites produced for both a failing case and a bit-for-bit case can be seen here:

https://livvkit.github.io/evv4esm/index.html

This will allow the e3sm_atm_nbfb test suite, under E3SM_Custom_Tests on the test dashboard, to pass and be operationally effective for climate reproducibility testing (tests' motivation discussed here ).

These tests add external python dependencies to CIME (but only when one of these tests are run) and as such require a python environment with some of the scientific python stack. An e3sm_simple environment has been deployed to cori in the same manner as the e3sm_unified environment and will provide the necessary dependencies; see E3SM-Project/e3sm-unified#53. Additionally, the jenkins job which runs these test on cori-knl will be updated to use the e3sm_simple environment through E3SM-Project/E3SM_test_scripts#6.

New baselines will need to be generated for these tests.

[B4B]

…ease

In order to operationalize the climate reproducibility tests (a CMDV-SM
project), they have been refactored to use EVV, which is provided in the
e3sm_simple environment. This commit:
* Refactors MVK test to not duplicate CIME.hist_utils.generate_baseline
  and update to work with latest EVV release
* Refactors TSC and PGN tests to use EVV for determining pass-fail and
  generating a detailed test website, uses the proper
  _generate_baseline method to generate baselines, and uses the proper
  _compare_baseline method to launch EVV
* Adds TSC as an expected exception in CIME.hist_utils._generate_baseline_impl
  because TSC renames all history files to run multiple times with
  different specified time steps
* Updates the climate reproducibility testing documentation
@jhkennedy jhkennedy added BFB PR leaves answers BFB Testing Anything related to unit/system tests new baselines needed labels Aug 15, 2019
@jhkennedy jhkennedy requested a review from jgfouca August 15, 2019 19:55
@jhkennedy
Copy link
Contributor Author

jhkennedy commented Aug 15, 2019

In 20a0896 I've added the MVK test to the e3sm_atm_nbfb suite, however it's a little expensive to run -- currently on Cori it has 6 resubmits and uses 259 nodes for ~0.35 hours for each submit.

@rljacob can we afford to add to the testing? If not, I can revert 20a0896.

Alternatively, we could deploy e3sm_simple to a machine that we aren't allocation limited and create an e3sm_atm_nbfb_extended test suite which includes MVK.

@jhkennedy jhkennedy requested a review from rljacob August 15, 2019 19:59
@jhkennedy
Copy link
Contributor Author

jhkennedy commented Aug 15, 2019

Also, @singhbalwinder , @huiwanpnnl , @salilmahajan , and @PeterCaldwell will likely want to follow along with this PR/discussion.

jgfouca added a commit that referenced this pull request Aug 16, 2019
Update climate reproducibility tests (MVK, PGN, TSC)

Updates the MVK, PGN, and TSC climate reproducibility tests to all be
production ready. They will all generate an appropriate baseline, run
the comparison and produce a pass-fail result, and through EVV provide
a portable website with in-depth test details to analyze why these
tests pass/fail. An example of the output websites produced for both a
failing case and a bit-for-bit case can be seen here:

https://livvkit.github.io/evv4esm/index.html

This will allow the e3sm_atm_nbfb test suite, under E3SM_Custom_Tests
on the test dashboard, to pass and be operationally effective for
climate reproducibility testing (tests' motivation discussed here ).

These tests add external python dependencies to CIME (but only when
one of these tests are run) and as such require a python environment
with some of the scientific python stack. An e3sm_simple environment
has been deployed to cori in the same manner as the e3sm_unified
environment and will provide the necessary dependencies; see
E3SM-Project/e3sm-unified#53. Additionally, the jenkins job which runs
these test on cori-knl will be updated to use the e3sm_simple
environment through E3SM-Project/E3SM_test_scripts#6.

New baselines will need to be generated for these tests.

[B4B]

* origin/jhkennedy/cime/climate-repo-update:
  Add MVK test to e3sm_atm_nbfb test suite
  Refactor climate reproducibility ests for e3sm_simple env and EVV release
  Remove unneeded requirements.txt b/c of conda package
  Finished PGN refactor
  Partial refactor of PGN system test
  Minor updates for MVK system tests
  PEP8 and string formatting updates for PNG test
  Update MVK for E3SM atmosphere component directory name changes
@jgfouca jgfouca merged commit 20a0896 into master Aug 16, 2019
jgfouca added a commit that referenced this pull request Aug 16, 2019
Update climate reproducibility tests (MVK, PGN, TSC)

Updates the MVK, PGN, and TSC climate reproducibility tests to all be
production ready. They will all generate an appropriate baseline, run
the comparison and produce a pass-fail result, and through EVV provide
a portable website with in-depth test details to analyze why these
tests pass/fail. An example of the output websites produced for both a
failing case and a bit-for-bit case can be seen here:

https://livvkit.github.io/evv4esm/index.html

This will allow the e3sm_atm_nbfb test suite, under E3SM_Custom_Tests
on the test dashboard, to pass and be operationally effective for
climate reproducibility testing (tests' motivation discussed here ).

These tests add external python dependencies to CIME (but only when
one of these tests are run) and as such require a python environment
with some of the scientific python stack. An e3sm_simple environment
has been deployed to cori in the same manner as the e3sm_unified
environment and will provide the necessary dependencies; see
E3SM-Project/e3sm-unified#53. Additionally, the jenkins job which runs
these test on cori-knl will be updated to use the e3sm_simple
environment through E3SM-Project/E3SM_test_scripts#6.

New baselines will need to be generated for these tests.

[B4B]

* origin/jhkennedy/cime/climate-repo-update:
  Add MVK test to e3sm_atm_nbfb test suite
  Refactor climate reproducibility ests for e3sm_simple env and EVV release
  Remove unneeded requirements.txt b/c of conda package
  Finished PGN refactor
  Partial refactor of PGN system test
  Minor updates for MVK system tests
  PEP8 and string formatting updates for PNG test
  Update MVK for E3SM atmosphere component directory name changes
@jgfouca jgfouca deleted the jhkennedy/cime/climate-repo-update branch August 16, 2019 17:27
@jhkennedy
Copy link
Contributor Author

Thanks @jgfouca !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BFB PR leaves answers BFB new baselines needed Testing Anything related to unit/system tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants