Skip to content
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

Add benchmark examples #14

Open
mpiannucci opened this issue May 16, 2024 · 5 comments
Open

Add benchmark examples #14

mpiannucci opened this issue May 16, 2024 · 5 comments
Labels
documentation Improvements or additions to documentation
Milestone

Comments

@mpiannucci
Copy link
Collaborator

There are a lot of alternate ways to do the things we are doing with this package. We should document performance and validation with integration test cases.

This will point out performance flaws and places where the package needs to improve.

@mpiannucci mpiannucci added the documentation Improvements or additions to documentation label May 23, 2024
@omkar-334
Copy link
Contributor

The alternate ways so far are thalassa, xugrid and netCDF4. Are there any more that we can test against?

@ChrisBarker-NOAA
Copy link
Collaborator

netCDF4 doesn't have anything built-in (and is used by xarray for netcdf fiels for the most part anyway).

Is this xugrid: https://github.com/Deltares/xugrid ?

thlassa: https://github.com/ec-jrc/thalassa

  • which seems be about visualization -- not sure how it works for subsetting and saving back out -- but that's part of the point, yes?

And there's:
UXarray: https://github.com/UXARRAY/uxarray

@mpiannucci: you looked at these when this all started -- do you have any notes as to why you decided not to build on one of them?

@omkar-334
Copy link
Contributor

thalassa has a crop method which is used for subsetting - https://github.com/ec-jrc/Thalassa/blob/master/thalassa/utils.py

@ChrisBarker-NOAA
Copy link
Collaborator

Thanks -- at a quick glance that looks similar to what Matt's put in this package -- but the question is what surrounds all that? how do the variables associated with the mesh get handled? can you save out a new dataset that's all complete and correct?

The answer may be yes to all of those -- which is what this issue is about.

But looking at that code, it looks like one more example of code written for a specific end-goal, and maybe not too extendable or adaptable to other uses -- I'm hoping that we can make a clean library here.

Also -- it looks like it can crop to a bounding box - not a polygon, which is less useful, particularly for unstructured meshes.

@mpiannucci
Copy link
Collaborator Author

Yeah so I think what Omar is trying to figure out is how to tell if this package is outputting accurate data. One way to do that is to check against how other packages do it, which is what this issue is about I think.

The other way is to make the calculations by "hand" based on the coordinates which are known outside this context, and then make sure that this library outputs a grid that matches.

That is probably the correct first approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants