Well, I have been reviewing all this logic lately. I need to remove all the CPP options for climatology and substituting them with logical switches because of nesting. We need to control if a nested grid needs climatology or not.
The code is correct as it is. This is done intentionally.
The switches TCLIMATOLOGY
, and ZCLIMATOLOGY
are used for various capabilities. For example, TCLIMATOLOGY
is used for boundary conditions, isopycnal mixing corrections, nudging, and adjoint sensitivity. If we need nudging in sponge areas or as a full Newtonian relaxation, we need to activate both TCLIMATOLOGY
. When the nudging term is added to the governing equations the users need to think about both CPP options. Therefore, it is more robust to only use TCLIMATOLOGY
in the data processing routines. Otherwise, we will need a messy combination of CPP options when a climatology field is needed for various purposes. And like Kate said, we will find more uses for climatology that just nudging
Notice that we can have analytical climatology, which also add a new layer of complexity.