[MITgcm-support] numerical issues with exf_interp_uv?
dmenemenlis at gmail.com
Mon May 22 13:03:06 EDT 2017
Hi Martin, by default vector fields use bicubic interpolation:
ustress_interpMethod = 12
vstress_interpMethod = 22
uwind_interpMethod = 12
vwind_interpMethod = 22
(this is in order to avoid artifacts in derivative, e.g., wind stress curl)
while scalar field use bilinear interpolation:
hflux_interpMethod = 1
sflux_interpMethod = 1
(in order to avoid overshoots and undershoots).
This might explain why you only see problem in vector interpolation.
Don’t know how to fix though. Let’s wait for JM to chime in.
> On May 22, 2017, at 7:16 AM, Martin Losch <Martin.Losch at awi.de> wrote:
> Hi all,
> Longjiang and I found a potential instability in exf_interp_uv:
> when the last latitude < 90degN of the data grid is very close to 90degN, e.g. 89.999… then the interpolated velocity fields can exceed 1e6, because in the function LAGRAN, the variable denom becomes very small (a = py_ind, x = yG):
> denom = denom*(a(i) - a(k))
> numer = numer*(x - a(k))
> so that numer/denom becomes very large. The problem can be fixed by making sure the that last grid point is far enough from 90degN, but maybe we can find a way of issuing a warning or even of stopping the model when abs(py_ind-90deg)<single precicsion or similar.
> This only happens for the vector field but not the scalar fields (in our case), we are not quite sure why.
> Martin and Longjiang
> Martin Losch // Alfred-Wegener-Institut, Helmholtz Zentrum für Polar- und Meeresforschung
> Postfach 120161, 27515 Bremerhaven, Germany
> mailto:Martin.Losch at awi.de // Tel./Fax: ++49(471)4831-1872/1797
> Please avoid sending me Word or PowerPoint attachments.
> See http://www.gnu.org/philosophy/no-word-attachments.html
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
More information about the MITgcm-support