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

Verification experiments should become sophisticated tests #347

Closed
ali-ramadhan opened this issue Aug 9, 2019 · 4 comments
Closed

Verification experiments should become sophisticated tests #347

ali-ramadhan opened this issue Aug 9, 2019 · 4 comments
Labels
testing 🧪 Tests get priority in case of emergency evacuation
Milestone

Comments

@ali-ramadhan
Copy link
Member

ali-ramadhan commented Aug 9, 2019

Following the discussion on testing infrastructure from a long time ago (PR #139) it would be good to convert any verification tests that result from #346 into an actual end-to-end test of the model. Not sure how the comparison with MITgcm would be implemented but maybe the others are good enough.

test/verification/ might be a good directory for them?

They can be run separately (separate pipeline) so they don't have to run quickly and can take a while so they can be comprehensive.

@ali-ramadhan ali-ramadhan added this to the JOSS milestone Aug 9, 2019
@ali-ramadhan ali-ramadhan changed the title Verification tests should become sophisticated integration tests Verification experiments should become sophisticated tests Aug 9, 2019
@glwagner
Copy link
Member

glwagner commented Aug 9, 2019

Will we have GPU resources to run these verification tests? They might take some time (~1 day) to run.

@christophernhill
Copy link
Member

christophernhill commented Aug 9, 2019 via email

@ali-ramadhan
Copy link
Member Author

If rerunning from a saved state is the way to go then they might even fit within the old tests although might still be nice to split tests into a fast "unit test" suite and a slow "comprehensive" test suite.

I guess a really obscure/esoteric bug could cause a verification experiment to change behavior at an early/transient stage so that the verification fails (but not if it's started from a pickup file). But in practice running from a pickup and checking that everything matches should catch almost any bug, and is much more practical.

Sounds like they would be regression tests but checking against strict verification tests.

Only issue would be that we might not want to save the pickup data in git (for 256^3 verification tests it could be hundreds of MiB) but I'm sure we could figure something out. Some verifications may have to be run at high resolution. Git LFS is an option but haven't heard great things about it...

@ali-ramadhan ali-ramadhan added the testing 🧪 Tests get priority in case of emergency evacuation label Aug 9, 2019
@ali-ramadhan
Copy link
Member Author

This was demonstrated in #381 so I think we can close this issue.

We can discuss whether we should make a regression test for each verification experiment in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing 🧪 Tests get priority in case of emergency evacuation
Projects
None yet
Development

No branches or pull requests

3 participants