-
Notifications
You must be signed in to change notification settings - Fork 35
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
"TypeError: buffer is too small for requested array" when dealing with very high resolution datasets #380
Comments
Sadly, I don't think there's an easy solution to your problem. I suggest you open an issue at the ESMF repo as the error seems to come from ESMpy and not xESMF. As for the question about creating a curvilinear grid. The best would be to get the grid from an existing file. Are you planning to include some CORDEX output in your analysis, you could use thsat grid ? Otherwise, the py-cordex package should be able to help. |
Thank you. I left a post on their discussion forum, so hopefully I get a response from them soon. I tried producing a netCDF file in py-cordex including the grid cell boundaries, but ESMF failed to read it in, claiming that information about the bounds was missing. If it's not too much trouble, would you mind testing for yourself whether a file produced from py-cordex is compatible with ESMF_Regrid and get back to me? |
For visibility here, I want to note that we have a fix for this issue that we plan to get into the upcoming ESMF 8.7 release: See https://github.com/orgs/esmf-org/discussions/263#discussioncomment-10131509 and esmf-org/esmf#267. The issue was that we were casting a size to a 32-bit integer when we should have been using a 64-bit integer on 64-bit architectures; this change will support the creation of large Arrays. Thanks, @JSAnandEOS for reporting this! |
@billsacks thanks for implementing a fix for this issue! Is there an estimated timeline for the ESMF 8.7 release? |
It should be out soon - within the next couple of weeks. We're just doing final testing and documentation of the release candidate. |
I'm trying to regrid rectilinear data from Sentinel-3 (~300 m resolution) to the EURO-CORDEX grid (~12 km resolution) using conservative regridding. Because CORDEX is curvilinear, I don't know how to define the grid in ESMF as I can't find any examples online. When I try using xESMF I get the following error:
My problem is that The rectilinear dataset is too large: 17875 latitude x 39212 longitude points. It seems like any attempt to make a big array in ESMPy fails in the same way e.g.
What can I do here? I can't reduce my input dataset any further, as it already covers roughly the same region as the CORDEX target grid. Is it possible to run this Regridder somehow in MPI/etc.? Failing that, how can one create a curvilinear grid netCDF file that ESMF can recognise?
The text was updated successfully, but these errors were encountered: