CICE-Consortium / CICE

Development repository for the CICE sea-ice model
Other
57 stars 131 forks source link

'decomp' test is not re-runnable #601

Closed phil-blain closed 3 years ago

phil-blain commented 3 years ago

I've noticed the 'decomp' test in the base suite does not work well if the suite is submitted more than once, i.e.

./cice.setup --suite base_suite ...
# wait for all tests to finish
cd $suite_dir
./suite.submit

I haven't investigated further but I suspect it's something to do with the shell globbing in the test script. When the test is re-run I get a weird arboresence in the run directory where the restart folder is re-created inside each already existing restart.$decomp folder...

It's not too important but I thought I'd mention it anyway...

@apcraig

phil-blain commented 3 years ago

I forgot I had already mentioned that here: https://github.com/CICE-Consortium/CICE/issues/524#issuecomment-714701319

phil-blain commented 3 years ago

I tried simply cd-ing to the run directory, removing restart* directories (and history, just to be sure) and it does the trick. So presumably a simple addition at the end of the test script like the following would be sufficient:

diff --git i/configuration/scripts/tests/test_decomp.script w/configuration/scripts/tests/test_decomp.script
index 40b84d0..a08629b 100644
--- i/configuration/scripts/tests/test_decomp.script
+++ w/configuration/scripts/tests/test_decomp.script
@@ -129,6 +129,7 @@ foreach decomp (${decomps})
 end

 cp ice_in.0 ice_in
+rm -rf ${ICE_RUNDIR}/restart*
 #-----------------------------------------------------------

 # turn off general test features, these are done above for this test
apcraig commented 3 years ago

Just a quick note that the rm seemed to work, but it was added at the top of the script instead of the bottom. We don't want to remove the restart files before the "generate" step is done because then we lose regression testing. If we put it at the top of the script, it deletes old restarts before a re-run rather than after a run is complete. Thanks @phil-blain for coming up a solution.