Replies: 3 comments
-
@nusbaume You may find the discussion in #291 relevant to your question. (It seems this question has been asked, and possibly addressed(?)) Yes, the model grid is available during the ccpp init phase, at least in the UFS. I don't think this is mentioned explicitly. |
Beta Was this translation helpful? Give feedback.
-
Yep, I just left a comment there, as that is basically the same issue I am thinking about here. However, I don't understand how the CCPP framework can currently allow for this use case, even with the new constituents infrastructure. Hopefully @gold2718 has some guidance here. Also, should I make an issue to update the documentation that makes it clear that the |
Beta Was this translation helpful? Give feedback.
-
The documentation alludes to the fact that the model grid is available: We should harden this up in the documentation. |
Beta Was this translation helpful? Give feedback.
-
Hi All,
In CAM-SIMA (a CCPP host model), we have found that we need to know the number of advected constituents specified by physics schemes before the model grid is initialized, as the dycores need to know that information in order to properly allocate the variables associated with the dynamics grid (and thus the model grid). The problem is that for some physics and chemistry schemes the number of needed constituents is only known at runtime, and thus cannot be specified in the CCPP metadata file. The new capgen constituents object can handle the actual storage and communication of those constituents, but it is unclear in what CCPP phase the scheme should actually add those new constituents. This leads to two questions which I am hoping we can collectively find the answers to:
Does anyone know if the
init
phase in the CCPP assumes that the model grid (e.g.horizontal_dimension
) is accessible at the time it is called? I feel like the answer is "yes", but I can't find any official documentation one way or the other. If no documentation exists, then I think we should make it explicit whether the model grid should be accessible or not, and then document that requirement somewhere.If the
init
phase does require the host model grid information, then I would like to propose a new, optional CCPP phase that is designed to be called before any grid information is known. This phase could then be used to, for example, register new constituents at runtime.Any thoughts or comments for either of these two questions would certainly be appreciated! I should note too that my group will be happy to take on the development work if it is decided that adding a new optional phase makes sense, given that it is our host model that currently needs it. Thanks!
Beta Was this translation helpful? Give feedback.
All reactions