-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
esmf regridder fills in data where non should be #208
Comments
@doutriaux1 is this the linux vs linux vs MacOS issue? So it's how masks are dealt with on different systems? So PCMDI/pcmdi_metrics#303, and I'm sure a couple of other open issues around the place? |
@durack1 nope this is true on all oses. Linux and Mac OSX. |
@doutriaux1 this is worrying (from above #208 (comment)):
|
@durack1 yes it is VERY worrysome. It might be an ESMF bug though, we should try to reproduce this outside of |
Then again this is kind of a twisted case where you regrid data to an area where you had no data intersecting originally... |
@doutriaux1 the differences between |
I'm not too concerned about the difference there, depending on the interpolation technique you could have libcf being a little more strict than regrid2 |
@doutriaux1 Can you provide us with some pictures? I think the issue might be the |
picture are full, I'll upload them shortly. |
full of missing value? full??? |
@dnadeau4 that equatorial stripe looks very similar to the behavior in #195 (comment) |
Last time it was bounds issues in the input file. |
By the way, is it normal that boundMax is smaller than coordMax , if you have retrieved (-90, 0). I would expect it to be >= coordMax |
You do not have a mask in
You get the same plot for each case, except that Do you know why vcs plot it reverse? |
@jypeter You are right, we go this info reversed 😄 Thanks! https://github.com/UV-CDAT/cdms/blob/master/Lib/mvCdmsRegrid.py#L390-L395 |
@dnadeau4 the reverse plotting is an oooold (when Dean and Bob were kids and I'm not sure @doutriaux1 was even born :p) vcs feature, that makes it possible to make a kind of quick Quality Control:
|
@doutriaux1 I was thinking of adding this code for + interpolate = ro(self, **keywords)
+ if(regridTool == 'esmf'):
+ interpolate = cdms2.MV2.masked_where((interpolate == 0), interpolate)
+ return interpolate |
Also, I set Here is what get with your program when I set it to
|
@dnadeau4 I think it should run. Why don't you set it to so me really big number like 1.E20 or even bigger (can you set it to numpy.nan ?) And then mask everything set to this value back to a mask. |
I did that and ESMF set it back to 0.
|
This is now working in fixesmf branch. |
I am not sure if this is a cdms2 or esmf problem.
when starting with a variable covering only part of the gobe and regidding it to a full globe, both regrid2 and libcf return the "expected" behaviour i.e set all ares that were not present originally to "missing".
In contrast esmf seems to do a filling of the data in the newly created space.
example test:
produces:
Note that ESMF regridding have
0
missing values.The text was updated successfully, but these errors were encountered: