Replies: 1 comment
-
|
SE meeting today: We want to get rid of |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
For FATES itype on the patch has been unset for most FATES cases, with the exception of FATES-SP mode. However, when new CTSM code is added that uses itype this might be a problem when running with FATES. So we need a way for CTSM to recognize that it shouldn't use itype when it's unset and abort in some graceful manner. In #2935 we set itype to ispval for all FATES cases with the hope that this would cause the code to abort in DEBUG mode because of bounds overflow.
However, there are instances where non bare-soil patches are queried with things like:
or just general range checking on itype that won't be caught when itype is set to ispval (currently -9999). So it doesn't catch these cases and die with an error.
So in order to make this robust, it seems like we need to do things along lines like on of these options:
Since itype is relied upon so heavily in CTSM outside of FATES, it's important to think this through and commit to an option that will allow the code to be robust. As it is if new CTSM code is added that relies on the use of itype it isn't guaranteed to be caught, and the debugging time to figure that out can be significant. With the downstream affect of others using buggy code and doing simulations can be really high. Whereas adding appropriate error handling will immediately point it out.
Beta Was this translation helpful? Give feedback.
All reactions