-
Notifications
You must be signed in to change notification settings - Fork 17
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
Unstructured scheme lazy regridding (with performance tests) #111
Unstructured scheme lazy regridding (with performance tests) #111
Conversation
Codecov Report
@@ Coverage Diff @@
## unstructured_scheme #111 +/- ##
=======================================================
+ Coverage 99.43% 99.48% +0.04%
=======================================================
Files 24 24
Lines 1424 1550 +126
=======================================================
+ Hits 1416 1542 +126
Misses 8 8
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stephenworsley looks good, a few comments inline, mostly requests for a little more documentation. Let's catch up on the phone and do a quick overview together too.
esmf_regrid/tests/unit/experimental/unstructured_scheme/test_GridToMeshESMFRegridder.py
Show resolved
Hide resolved
esmf_regrid/tests/unit/experimental/unstructured_scheme/test_GridToMeshESMFRegridder.py
Show resolved
Hide resolved
esmf_regrid/tests/unit/experimental/unstructured_scheme/test__mesh_to_MeshInfo.py
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work @stephenworsley. I have quite a few comments I'm afraid! See what you think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the changes @stephenworsley. Just a couple of minor comments left to address.
As already agreed: please raise an issue on GitHub and on JIRA for restructuring the tests.
We discussed offline yesterday that there was no easy solution to the confusing repetition in benchmarks/ci/esmf_regridder.py
. But I very much hope we can revisit this in future, especially once we have a better solution for synthetic data generation. I'm certain that I 90% of the lines I read appear at least twice, in different places, but in slightly different orders - there must surely be a way of generalising some things here if we take a fresh look another time!
Great stuff @stephenworsley, @trexfeathers! |
* unstructured_scheme: (22 commits) Check mesh equality on MeshToGridESMFRegridder call (SciTools#138) Formalise regridder file format (SciTools#137) Fix issue 135 (mesh to grid chunking problems) (SciTools#136) Add load/save benchmarks (SciTools#132) Regridder load/saving (SciTools#130) Update dependencies (SciTools#128) Perform scalability for larger grids (SciTools#122) Add performance tests (SciTools#117) change iris source (SciTools#115) Unstructured scheme lazy regridding (with performance tests) (SciTools#111) Updating feature branch unstructured_scheme from 44d6048 to head of main, e528cbf Add grid to mesh scheme (SciTools#96) Unstructured scheme integration test (SciTools#66) Updated lockfiles according to branch requirement spec. Update Version to v0.1.dev2 (SciTools#59) Update version to v0.1.dev1 (SciTools#58) Unstructured Scheme - Extra Dims (SciTools#55) add __init__ to tests (SciTools#56) Unstructured Scheme - Additional Polish (docstrings and test coverage) (SciTools#53) Unstructured Scheme - Cube Creation 3D (SciTools#47) ... # Conflicts: # benchmarks/benchmarks/ci/esmf_regridder.py # benchmarks/benchmarks/generate_data.py # requirements/nox.lock/py36-linux-64.lock # requirements/nox.lock/py37-linux-64.lock # requirements/nox.lock/py38-linux-64.lock # requirements/py36.yml
* unstructured_scheme: (24 commits) reset flag (SciTools#145) Use more stable version of connectivity indices (SciTools#144) Check mesh equality on MeshToGridESMFRegridder call (SciTools#138) Formalise regridder file format (SciTools#137) Fix issue 135 (mesh to grid chunking problems) (SciTools#136) Add load/save benchmarks (SciTools#132) Regridder load/saving (SciTools#130) Update dependencies (SciTools#128) Perform scalability for larger grids (SciTools#122) Add performance tests (SciTools#117) change iris source (SciTools#115) Unstructured scheme lazy regridding (with performance tests) (SciTools#111) Updating feature branch unstructured_scheme from 44d6048 to head of main, e528cbf Add grid to mesh scheme (SciTools#96) Unstructured scheme integration test (SciTools#66) Updated lockfiles according to branch requirement spec. Update Version to v0.1.dev2 (SciTools#59) Update version to v0.1.dev1 (SciTools#58) Unstructured Scheme - Extra Dims (SciTools#55) add __init__ to tests (SciTools#56) ... # Conflicts: # benchmarks/benchmarks/ci/esmf_regridder.py # benchmarks/benchmarks/generate_data.py # requirements/nox.lock/py36-linux-64.lock # requirements/nox.lock/py37-linux-64.lock # requirements/nox.lock/py38-linux-64.lock # requirements/py36.yml # requirements/py37.yml
Adds lazy regridding to the unstructured schemes equivalent to that added to main in #80. Also added the performance tests for unstructured schemes (including performance tests for lazy regridding) equivalent to those in #98 and #100.
Note that the main difference in code between this and #80 is the need to modify the iris function
map_complete_blocks
to be able to handle changing the number of dimensions during regridding.