1
  1. I have an NC file that has global data with a high resolution (about 25 minutes) so a lot of coordinates.
  2. I have some measured values of some region with irregularly spaced coordinates.
  3. In order to mathematically operate between the two, I am aiming to interpolate the global data to the local irregular grid, instead of the opposite, to minimize the uncertainty.
  4. How do I achieve this? I was thinking of Scipy's griddata module but cannot seem to initiate the process. Thanks a lot.

EDIT:

I tried the following, a little heavy on resources but I think it works.

from scipy.interpolate import interp2d   
f = interp2d(longw,latw,Zw)

where longw,latw,Zw are the world coordinates of the NETCDF file and the 2D variable respectively.

Then I applied f(lon,lat) to all my irregular observations y iteration to interpolate. The lon and lat are the observed coordinates of the local region.

  • Thanks for the link, but it is for 1D data. I do not find an equivalent function that converts 2D variable from the old to new grid. – cwanderroycbooks Jul 24 '19 at 16:09
  • If you're interpolating from a regular, rectilinear, grid to an irregular one, pretty much any interpolation method - e.g. linear - ought to be reasonable. Be more careful if going the other way ;-) A lat/lon grid isn't actually rectilinear, but so long as you're working at a scale of a degree or two and you're not really close to a pole, it's probably near enough. If you're after how to do this in a particular language (eg Python) then best to explicitly say that. – Semidiurnal Simon Jul 24 '19 at 18:22
  • Well, Python is my go to medium now. Is the method alright? – cwanderroycbooks Jul 25 '19 at 03:35
  • 1
  • 2
    Without much knowledge of python, your edited-in method makes sense. For future reference, on Stackexchange it's quite OK (even encouraged sometimes) to answer your own question. So if you ask something and then figure it out, rather than editing the question you can just add an answer. – Semidiurnal Simon Jul 30 '19 at 16:05
  • 2
    @earlgray if I read this right, this question is the opposite of that: Chayan has regular data and needs to interpolate to irregular points. Not a dupe IMHO. – Semidiurnal Simon Jul 30 '19 at 16:06
  • @SemidiurnalSimon You are right. Still, this is a possible duplicate, of this (other) question https://stackoverflow.com/questions/3242382/interpolation-over-an-irregular-grid (very old, so interesting to see if answer holds) – EarlGrey Jul 31 '19 at 08:56
  • 1
    @EarlGrey true, but I don't think we normally close questions when they are duplicates of questions on other sites ;-) – Semidiurnal Simon Jul 31 '19 at 17:12
  • Thanks both of you. The link you shared later about interpolation over an irregular grid is quite complex doesn't seem to help, atleast according to my tiny brain. But thanks a lot for all of your help. Anyway, I was at this stuff for days until my professor dismissed by program went according to his own way. But atleast I learnt something. – cwanderroycbooks Aug 01 '19 at 20:00

1 Answers1

1

As @gansub implicitly suggested, you may have a better outcome by defining the output grid as well. Check this very similar question: How to interpolate scattered data to a regular grid in Python?

After comments, I realize I missed the irregular target grid. Maybe this answer helps: https://stackoverflow.com/questions/3242382/interpolation-over-an-irregular-grid

EarlGrey
  • 461
  • 2
  • 14