ESCOMP / ESCOMP/CTSM

Create simpler versions of some test types and switch to them

Open
#1,341 0 comments 0 reactions 0 assignees View on GitHub
testing
Dominant language
Fortran
Stars
352
Forks
361
Avg merge
6d 6h
Merged PRs (30d)
8

Description

There are some cime test types that are more general / complex than what we need for CTSM (because this extra generality / complexity is needed for some other components or on specific systems, for example). I'd like to create and switch to simpler versions of these tests to speed up our testing and/or avoid possible problems.

- [ ] PET (threading): this test does a separate job submission for the second run, I think just because that was needed on one E3SM test platform (see https://github.com/ESMCI/cime/pull/3924#issuecomment-818075389). The multisubmit logic in cime is complex and subtle, and I am not always confident that it is working right. I'd like to introduce a new test that is just like the PET test but with multisubmit=False. I think this could be done by:
- introducing a PETS (or some other name) test that inherits from PET, but with a different init method
- add this in config_tests.xml
- test to make sure the test works correctly: make sure this runs the first test threaded, the second test unthreaded

- [ ] ERP: this test does two builds, but I think that's only needed for certain components that need to be rebuilt when changing the number of tasks. I noticed that CAM has created a version of the ERP test that does a single build (https://github.com/ESCOMP/CAM/blob/26bd3868cb4505a2f4bccdf38ddeec5116d28e19/cime_config/SystemTests/erc.py). I think we should encourage CAM to move that into CIME where we could use it as well. Ideally we'd refactor this to avoid duplicating the code of ERP: similarly to my suggestion for PET above, they should use the same code but just change the separate_builds init argument, if possible.

- [ ] PEM: Similarly to ERP, I don't think we need separate builds for land-only cases

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.