-
Notifications
You must be signed in to change notification settings - Fork 89
Description
Suggestion
When I trying to implement the dynamic masking via the C interface, It would not be exercised despite the Fortran layer getting what seemed to be a perfectly valid dynamic mask. I finally traced the issue to the fact that you need to pass srcTermProcessing = 0 to the regrid store call for the dynamic masking. I just forgotten about this and didn't think about it. If the regridStore call was call with say 1, the dynamic mask will not be used.
The C interface did not have a srcTermProcessing argument (which I am adding my branch) and it must default to something other than 0.
Perhaps though:
I know this is in the documentation that srcTermProcessing=0 must be added when creating, but I'm wondering if perhaps this should be an error or at least flagged in the log file if dynamic mask is passed but the srcTermProcessing used for the route handle was not 0. Perhaps if the route handle could store the srcTermProcessing that was set say via an attribute, if the RegridStore call had a dynamic mask passed, we could either throw an exception srcTermProcessing was not 0 or at least make a message in the logging noting that the mask cannot be exercised.