[MITgcm-devel] exf: u/v-wind interpolation and cubed sphere
Ed Hill
ed at eh3.com
Fri Jun 23 12:48:25 EDT 2006
On Fri, 2006-06-23 at 11:10 -0400, chris hill wrote:
> Martin,
>
> Hello.
>
> When is Dimitris with you? He and Benny did the interpolation stuff in
> exf_ so you could talk to him. It does look weird at 90N/S.
>
> Certainly it does not make sense to have velocity at 90N/S on a
> lat-lon mesh, since directions are undefined at that point. It may make
> sense to calculate a stream function along with the u/v inputs and
> interpolate that to the target grid zeta points (in a 3d, unstructured
> cartesian space if need be) and then get u and v from gradients on the
> target grid in the region of the input grid pole(s). This will work for
> non-divergent inputs, not sure how to deal with the integration constant
> for divergent inputs.
>
> BTW - Ed is creating a next generation regrid package that we hope
> will do this and much more, but maybe not this year (Ed commenst?).
Hi folks,
I agree with Martin and don't see how its possible that the U/V
interpolation code in exf_set_uv.F is correct. It looks like its trying
to do some sort of extrapolation by using values away from the pole but
that seems fishy and, at best, is likely to introduce a discontinuity.
So, here are some comments:
- As Chris said, lat-lon grids are degenerate (non-isomorphic
to the sphere surface) and one result is that velocities at
the poles are undefined.
- In my boundless spare time I'm working on a new regrid scheme
but it won't be ready for a few months. Sorry...
- The SCRIP code (which is only meant for scalar quantities)
does a coordinate transform (essentially, it rotates the domain)
when working within some neighborhood of the poles. This is
very similar to what Chris describes above but he mentions 3D
and SCRIP does it in 2D. Coordinate transforms are OK if you
also correctly transform (rotate) the velocity components and
if you have a reasonably smooth way of matching values at the
edge of where the transform begins/ends (which is not easy).
- If I understand correctly, Martin wants to employ an approach
where he uses the current scheme but ignores values within some
small neighborhood of the pole and then fills them in afterward
using interpolation. This is a really quick and simple approach
and it should work OK provided that the neighborhood is small
enough (and perhaps located inside a tile) so that it doesn't
completely overlap and fill an exchange region. If it does
overlap (and "fill") an exchange width then it will be more
difficult to write an interpolation algorithm in MITgcm that
is consistent across face edges.
Oh, and add the usual disclaimer that all "simple" interpolation schemes
inevitably act as non-physical sources/sinks for quantities such mass,
energy, momentum, etc...
Ed
--
Edward H. Hill III, PhD
office: MIT Dept. of EAPS 54-1424; 77 Massachusetts Ave.
Cambridge, MA 02139-4307
emails: eh3 at mit.edu ed at eh3.com
URLs: http://web.mit.edu/eh3/ http://eh3.com/
phone: 617-253-0098
fax: 617-253-4464
More information about the MITgcm-devel
mailing list