ESCOMP / CAM-SIMA

Community Atmosphere Model - System for Integrated Modeling of the Atmosphere
3 stars 12 forks source link

Add (optional?) register phase to CCPP framework / CAMDEN #215

Open peverwhee opened 1 year ago

peverwhee commented 1 year ago

Issue Type

Code Clean-up, Infrastructure Update

Issue Description

When implementing constituents (#206), we had to add direct calls from cam_comp to the CCPP interfaces (cam_ccpp_register and _initialize_constituents).

Opening this issue to continue that discussion.

Concern from @cacraigucar : "I'm concerned that if we end up adding additional CCPP-blessed objects in the future that the number of interfaces will proliferate. To me that makes the threshold of host models adopting CCPP higher (with every additional interface that needs to be potentially added)."

Will this change answers?

No

Will you be implementing this yourself?

Yes

gold2718 commented 1 year ago

Three thoughts

  1. Isn't this issue asking for a new feature in the CCPP Framework? Why is this a CAMDEN issue instead of being opened there (or at least on the fork we are currently using)?
  2. Since all of the new CCPP-generated entry points are optional, they do not raise "the threshold of host models adopting CCPP". For instance, the UFS will not need to use any of these new interfaces (but NRL will if this ever gets to them).
  3. Because I have zero confidence that we can craft a new 'register' interface that is "one size fits all" for different types of host model, I am fairly strongly against this idea.