atn 05.aug.2024

This is a re-run of aste release1 , with modified code to
diagnose vertical diffusivities and diffusive fluxes. New
diagnostics and their meanings are indicated in 
"available_diagnostics_short.log" , with further elaboration
below:

ASTE runs with an initial input 3D vertical diffusivity field "logdiffkr_i62.bin"
(note log10). Once read in, the mitgcm fills a 3d field "diffkr" with this input
(taken 10^), then call on kpp to compute as follows:

1. pre-assign variables KPPdiffKz[T,S] with diffkr (<-- note SAME values for T and S)
2. compute kpp mixing coefficients (called either blmc or vdiff), then:
   a) if kpp coeff is active (non-zeros, within the active mixing layer), then
      KPPdiffKz[T,S] = max(vidff, diffkr(k=bottom)) <-- note it's not just max at any depths,
                                                        but the minimum nonzero diffkr at bottom
                                                        of ocean, essentially to avoid potential
                                                        negative values due to whatever issues.
   b) if kpp not active, then KPPdiffKz[T,S] = diffkr (nothing change from 1.)
3. Add Redi GM_Kwz to KPPdiffKz[T,S]. So this variable name KPPdiffKz[T,S] is quite deceiving,
   because it is the combined of max(kpp,min(bg))+redi.

4.
So, it is NOT that kpp is added on top of the input background, but it's a full replacement.
What this means is if we're to locate where the "background is active", what we can do is
reverse the checks of 2a and 2b above, as I have done:

   a) KPdiffKz[T,S]1 = [2a] when kpp is active, DIFFKrBG = 0.
   b) if kpp is not active, DIFFKrBG = diffkr, KPdiffKz[T,S]1 = 0.
(3a) and (3b) above constitutes diagnostics "KPdiffT1" and "DIFFKrBG" (at most 8-character
string).  The Redi portion is also diagnosed to "GM_Kwz". Salt coefficients were not saved
because they're identical to theta ones.

5. The vertical diffusive fluxes are then easily followed from DIFFKrBG, KPdiffKzT1, and Kwz:
i)   DBgr_TH: vertical diffusive flux from background DIFFKrBG
ii)  DKpr_TH: ..                       ..  kpp part   KPdiffKzT1
iii) DReI_TH: ..                       ..  Redi part  GM_Kwz
iv)  DFrI_TH: as default in mitgcm, total "implicit" vertical diffusive flux, with conservations:
     DFrI_TH = DBgr_TH + DKpr_TH + DReI_TH

Same for salt. The coefficients are the same as for theta, but obviously the diffusive fluxes
wont be. They're saved to DBgr_SLT, DKpr_SLT, DRer_SLT, DFrI_SLT

6. The explicit part of vertical diffusion is only from the iso-pycnal projection (GM Kwx and Kwy),
 and is diagnosed to DFrE_[TH,SLT]

So, when you say you see "compensation" between the "E" and "I", I suspect it is almost entirely
compensation within the Redi iso and dia projections...

7. Lastly, there's also the "non-local transport" part of KPP, based on the NET KPPdiffKz[T,S].
I could split them into KPdiffKz[T,S]1 and DIFFKrBG and Redi, but I didn't , because I'm not
sure if you're using this nonlocal transports (diagnostics KPPg_[TH,SLT]).

=========================================