NCAR / ccpp-framework

Common Community Physics Package (CCPP)
http://www.dtcenter.org/community-code/common-community-physics-package-ccpp/
Other
26 stars 62 forks source link

ccpp_prebuild: (re-)introduce optional attribute #540

Closed climbfuji closed 1 month ago

climbfuji commented 4 months ago

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 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.

Related to (optional)

https://github.com/NCAR/ccpp-framework/issues/526