Closed gold2718 closed 5 months ago
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?
@dustinswales @peverwhee @nusbaume @grantfirl also a question for you
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?