PR https://github.com/NCAR/ccpp-framework/pull/529 adds the optional attribute to parameterization metadata for capgen, to be used in conjunction with the active attribute in the host model metadata. Additional logic is introduced in the auto-generated caps and rules are imposed on parameterizations to pass potentially unallocated data from the host model to the physics.
Solution
For the transition to capgen, we should reintroduce the optional attribute in ccpp_prebuild (it had it before, but it was used differently). This will require updates to the physics schemes and to the CCPP technical documentation.
Alternatives (optional)
Do nothing and bake the optional-attribute change into the switch to capgen. This is a bad idea, since we want to minimize the changes that need to be made when switching from ccpp_prebuild to capgen.
Description
PR https://github.com/NCAR/ccpp-framework/pull/529 adds the
optional
attribute to parameterization metadata for capgen, to be used in conjunction with theactive
attribute in the host model metadata. Additional logic is introduced in the auto-generated caps and rules are imposed on parameterizations to pass potentially unallocated data from the host model to the physics.Solution
For the transition to capgen, we should reintroduce the
optional
attribute in ccpp_prebuild (it had it before, but it was used differently). This will require updates to the physics schemes and to the CCPP technical documentation.Alternatives (optional)
Do nothing and bake the optional-attribute change into the switch to capgen. This is a bad idea, since we want to minimize the changes that need to be made when switching from ccpp_prebuild to capgen.
Related to (optional)
https://github.com/NCAR/ccpp-framework/issues/526