ESCOMP / CISM-wrapper

Community Ice Sheet Model wrapper for CESM
http://www.cesm.ucar.edu/models/cesm2.0/land-ice/
Other
3 stars 16 forks source link

Fix ability to run after year 9999 #20

Closed ekluzek closed 5 years ago

ekluzek commented 5 years ago

Changes that allow cism to run after year 9999. As constructed now can run up to year 200,000.

Fixes #19

Did some manual testing both to namelist and some test cases (both SMS and ERS) to make sure can run until year 200,000. Technically could make the end year a bit beyond 200k, since the current limit is based on in the size of a signed 4-byte integer (so you could go to 214,748).

For log output year uses 6 digits rather than 4. Currently spaces are used as fill rather than zero's.

Also added a validate for the resulting namelist in build-namelist so that errors in settings will be caught. And added a directory so that build-namelist could be tested outside of a CESM case. I plan to add more to this.

whlipscomb commented 5 years ago

@ekluzek, thank you! This looks like great progress in a short time. Running up to 200 kyr would give us a lot more flexibility. Coincidentally, there's a standard ice sheet test problem called EISMINT that runs for exactly 200 kyr. I'm not aware of any applications that would require running for longer.

ekluzek commented 5 years ago

OK, I'll do the testing in order to do the tag. @whlipscomb I guess I'll move up the limit to the actual limit, since we might as well while I'm working on it. If you already know you need to go to 200k we might as well build in some room beyond that. I was picturing that 200k might be well beyond anything you'd imagine doing, but it's not. Going beyond 214,748 is possible, but will require changes in cime and possibly cesm. So that would be a bigger job.

whlipscomb commented 5 years ago

@ekluzek, 200 K for EISMINT would generally be done in standalone mode. But this time scale isn't out of the question for, say, a glacier/interglacial spinup using CESM with a T compset. So let's go up to the 4-byte integer limit of 214,748, but I see no need to go beyond that in the foreseeable future. Thanks again!