lagrangian-filtering icon indicating copy to clipboard operation
lagrangian-filtering copied to clipboard

Sampled velocities are incorrect on a spherical grid

Open angus-g opened this issue 4 years ago • 1 comments

With a spherical grid (mesh="spherical"), Parcels expects lat/lon grid coordinates. Since velocities are usually given in m/s, they are converted to degree/s for consistency with the grid for advection. However, when we sample velocities for filtering, we expect them to be interpolated in their native units. Instead, we'll receive U and V in degree/s, and be some factor of 10e-6 out (this would also happen for Kh_zonal and Kh_meridional, if they were ever to be filtered: https://github.com/OceanParcels/parcels/blob/adc57b3edf65efd54793e5b97ee7d060102cd39d/parcels/tools/converters.py#L207-L209)

If we're using a spherical mesh, we should do one of:

  1. not convert units at sample time (most correct)
  2. convert back to "source" units after sampling (maybe easiest?)
  3. sample as usual, but convert back after advection, before filtering (least dependent on parcels)

angus-g avatar Aug 04 '20 02:08 angus-g

With the merging of https://github.com/OceanParcels/parcels/pull/898, it looks like the second approach is the way to go. We should know soon how much of a difference it makes to perform filtering on spherical velocities compared to linear velocities (the former with a conversion after filtering, the latter with the conversion before filtering).

angus-g avatar Aug 04 '20 11:08 angus-g