[MITgcm-support] numerical issues with exf_interp_uv?

Jean-Michel Campin jmc at mit.edu
Mon May 22 17:57:32 EDT 2017


Hi Martin,

Just to help finding exactly where the problem is:
1) which type of model grid are you using and where does the "bad" interpolated
  values are found (just at the N.pole ?) ?
2) when you set:
  > exf_debugLel=3
  and assuming you did compile with #define ALLOW_DEBUG,
  what are the reported lines in STDOUT from S/R EXF_INTERP_UV
  (e.g., "x-Per,P.Sym=" and " S.edge" and " N.edge" lines ) ?
3) trying bi-linear interp instead of bi-cubic (Dimitris' suggestion)
  could be useful too (just to narrow down the issue).

Cheers,
Jean-Michel

On Mon, May 22, 2017 at 10:03:06AM -0700, Dimitris Menemenlis wrote:
> 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.
> 
> Dimitris
> 
> > 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
> > http://www.awi.de/ueber-uns/organisation/mitarbeiter/martin-losch.html
> > 
> > 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
> > http://mitgcm.org/mailman/listinfo/mitgcm-support
> 
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support



More information about the MITgcm-support mailing list