You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, capgen does not have the pointer attribute. This has not been a problem because capgen does not create pointers and does not need to pass any pointers to CCPP schemes.
However, in order to check if a variable passed with the active metadata is correct (in debug mode), this information might be needed. The circumstances could be:
The host model variable is a pointer
The variable has the active attribute (not hardcoded or defaulted to .true.)
The lower bound of the variable is not 1 (or ccpp_constant_one).
With this combination, the active check code could fail. At the very least, I think a case like this should be added to the unit tests and if it breaks, adding a pointer attribute might be a solution. In this case, capgen would add the pointer attribute to the group dummy argument. It should still (I think) be an error for schemes to have pointer variables, anyone have thoughts on this?
Are there other cases where the pointer attribute would a required addition to the defined metadata fields?
The text was updated successfully, but these errors were encountered:
Based on what we discussed recently - the combination of the active attribute on the host model side and associated mandatory optional arguments for physics schemes, do you agree that we don't need to support pointer metadata/variables?
Assuming the plans for the active attribute handle the use case(s) listed above then I am personally fine with not supporting pointers. The only other possible situation I could think of would be if a physics scheme explicitly needed a pointer as an input argument, but I can't currently think of a use case where that would be necessary.
I am closing this as "won't fix / not needed" based on the solution we came up with for potentially unallocated host model data (active attribute on host side, optional attribute on scheme side). We need to add something to the CCPP technical documentation that says pointer variables are not allowed in physics schemes.
Please reopen if you think this is not sufficient!
Summary of Issue:
Currently, capgen does not have the
pointer
attribute. This has not been a problem because capgen does not create pointers and does not need to pass any pointers to CCPP schemes.However, in order to check if a variable passed with the
active
metadata is correct (in debug mode), this information might be needed. The circumstances could be:.true.
)ccpp_constant_one
).With this combination, the
active
check code could fail. At the very least, I think a case like this should be added to the unit tests and if it breaks, adding apointer
attribute might be a solution. In this case, capgen would add thepointer
attribute to the group dummy argument. It should still (I think) be an error for schemes to have pointer variables, anyone have thoughts on this?Are there other cases where the
pointer
attribute would a required addition to the defined metadata fields?The text was updated successfully, but these errors were encountered: