[MITgcm-support] GM-Redi & cubed-sphere
jmc at ocean.mit.edu
Sun Dec 7 12:24:03 EST 2003
Was not too difficult to figure out why GM-Redi has problems
with the corner of the cubed-sphere:
It's simply because the slope-tapering (as it is now)
is a function of the module of the slope (both components Sx,Sy
are used), meaning than the Sx_i,j (average over i,i+1 and over
j-1,j) is needed to taper Kvy (the diagonal term of the tensor).
I've just tested that without tapering Kux & Kvy
(=> "diabatic" tapering):
the model works fine (i.e. is not sensitive to theta values
in the corner of the halo-region).
I will use this option for now, and change the output.txt
But I think some thing needs to be done, because it's not only
the tapering of the diagonal terms (Kux,Kvy) that do not work on
the cube, but also the non-diagonal capability (Kuz,Kvz)
that is needed as soon as K_Redi is different from K_GM_skewFlx.
I can think of 2 possible solutions:
1) ad-hoc fix for the corner of the cube
(if useCubedSphereExchange ...) that will ignore the badly defined
component of the slope. It's not very clean, and it introduces a new
special treatment of the corners that might cause non-uniform behavior.
2) compute the tapering separately on each slope component Sx & Sy
of the slope. This is what is done for the Advective form of GM.
This means that when the slope is steep in the Y direction,
but weak in the X direction (like in the ACC region),
the model will still apply the full background K in the X
direction (Kux=GM_background_K), and will taper only Kvy (& Kwy, Kwz);
Whereas right now, Kux becomes very small after tapering.
I will prefer this 2nd solution:
Since the main reason for the tapering is numerical stability,
this modification has no negative impact on the stability of the
scheme. it might even be more stable (less noisy) to keep
the horizontal diffusion in the X direction unaffected by the
tapering when Sx=0 and Sy is large.
Regarding the physical aspect, I don't see a good reason
to taper Kux when Sy is large, but this concern only the
Redi part (isopycnal diffusion). For the GM part, it's not
very clear for me since interaction with the mixed-layer
is always confuse. I think that mixed layer issues and numerical
stability of GM (<=tapering) should be treated separately,
but it's not currently the case with some tapering scheme.
It's relatively straitforward to make those changes, but
it implies to modify the 2 most difficult S/R of the GCM ...
regarding the adjoint.
More information about the MITgcm-support