1
$\begingroup$

I have a 2D distribution of mass on a sphere given as a matrix of masses in latitude-longitude grid cells. I need these masses projected to another grid on the same sphere with different location of pole and different cell sizes, again as masses in grid cells.

The projection has to be:

  1. fast

  2. monotonous, i.e. not create substantial artificial maxima/minima of concentration (mass/cell area)

  3. strictly mass-conservative (to numerical accuracy)

I could not find any ready made tool for that, though I believe, there should be something available (C, fortran or whatever). Any clue?

Thank you!

$\endgroup$
3
  • $\begingroup$ You can try Paul Leopardi's, "A partition of the unit sphere into regions of equal area and small diameter", Electronic Transactions on Numerical Analysis, Volume 25, 2006, pp. 309-327. MR 2280380, Preprint: UNSW Applied Mathematics Report AMR05/18, May 2005, revised June 2006. The algorithm is the one used in the EQSP software package, which partitions a finite dimensional unit sphere into regions of equal area and small diameter. Once the partition is done you can project the original points to the equal area partition (you can have $>$ one point per cell). $\endgroup$ – Biswajit Banerjee Apr 28 '14 at 1:53
  • $\begingroup$ To continue, use linear interpolants to push the masses to the vertices and then push back to the centroids of the cells new grid. Of course, I don't know of any codes that do exactly what you want. $\endgroup$ – Biswajit Banerjee Apr 28 '14 at 1:59
  • $\begingroup$ Thanks for interesting link! At the moment we use something like that: pick some (~100) random points within each of the source cells, assign equal mass to them, and then reproject the point masses. That is quite expensive and not perfectly accurate procedure: it is accurate in case of infinite number of points, i.e. when it is infinitely expensive. For finite split it is non-monotonous. I seek for something more cheap and robust. $\endgroup$ – Roux Apr 28 '14 at 5:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.