def interpolate(*coords)
coords, org_coords, org_dims, newgrid = _interpo_match_coords(coords)
crdmap = _interpo_reorder_2crdmap(coords, org_coords, org_dims)
idxmap = _interpo_find_position(crdmap)
z = val
if z.is_a?(NArrayMiss)
missval = ( (a=get_att('_FillValue')) ? a[0] : nil ) ||
( (a=get_att('missing_value')) ? a[0] : nil ) ||
@@interpo_missval
z = z.to_na(missval)
else
missval = nil
end
na = c_interpo_do(newgrid.shape, idxmap, z, missval)
if missval
mask = na.ne(missval)
na = NArrayMiss.to_nam_no_dup(na,mask)
end
va = VArray.new(na, data, name)
ret = GPhys.new(newgrid, va)
ret.grid.set_lost_axes(self.lost_axes)
ret
end