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

Mesh api coord manager #4015

Merged

Conversation

bjlittle
Copy link
Member

@bjlittle bjlittle commented Feb 17, 2021

🚀 Pull Request

Description

@trexfeathers Here's my first draft punt at the _Mesh1DCoordinateManager and _Mesh2DCoordinateManger classes, warts and all...

Still needs testing and doc-strings et al, there are still a few known TBDs... but it's at the point where there's value eyeballing it pre-review review, if you know what I mean 😉


Consult Iris pull request check list

Copy link
Contributor

@trexfeathers trexfeathers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work @bjlittle! I've done some work to re-align with your implementation (trexfeathers@004c289), but there are a few points that definitely need discussion.

Given our respective workloads, if we agree on any changes to your code I'd be happy to implement them myself 🙂

lib/iris/experimental/ugrid.py Show resolved Hide resolved
lib/iris/experimental/ugrid.py Show resolved Hide resolved
lib/iris/experimental/ugrid.py Show resolved Hide resolved
lib/iris/experimental/ugrid.py Show resolved Hide resolved
lib/iris/experimental/ugrid.py Outdated Show resolved Hide resolved
lib/iris/experimental/ugrid.py Show resolved Hide resolved
lib/iris/experimental/ugrid.py Outdated Show resolved Hide resolved
lib/iris/experimental/ugrid.py Outdated Show resolved Hide resolved
lib/iris/experimental/ugrid.py Outdated Show resolved Hide resolved
lib/iris/experimental/ugrid.py Outdated Show resolved Hide resolved
@jamesp
Copy link
Member

jamesp commented Feb 19, 2021

@trexfeathers @bjlittle let me know if you want an independent review of this at any point, you can describe to me what you are aiming to achieve and how you're doing it, I'm happy to be the rubber duck :)

@trexfeathers
Copy link
Contributor

@trexfeathers @bjlittle let me know if you want an independent review of this at any point, you can describe to me what you are aiming to achieve and how you're doing it, I'm happy to be the rubber duck :)

Thanks @jamesp I think that will be very helpful once we're ready to merge the whole feature branch - by then we can present a fait accompli with the rough edges removed.

@bjlittle
Copy link
Member Author

bjlittle commented Feb 19, 2021

@jamesp Cheers 👍

Take a peek not if you wish, but as @trexfeathers mentions, there may be more value casting your eye over the final complete pull request that comes from our ng-vat-mesh-api feature branch to the main mesh-data-model feature branch.

This, and other PRs targeting this feature branch are all collaboration wip PRs.

@trexfeathers and I are pretty aligned on the content and direction of travel, but we can ping you later if you're interested and want to be aware of the final outcome 👍

Copy link
Contributor

@trexfeathers trexfeathers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work on the Mesh @bjlittle 😃

I'm banking a few comments here but I'm happy as-is and either we can address later or I can address while I'm integrating the Connectivity Manager work.

lib/iris/experimental/ugrid.py Show resolved Hide resolved
lib/iris/experimental/ugrid.py Show resolved Hide resolved
lib/iris/experimental/ugrid.py Show resolved Hide resolved
Comment on lines +872 to +882
# check the UGRID minimum requirement for coordinates
if "node_x" not in kwargs:
emsg = (
"Require a node coordinate that is x-axis like to be provided."
)
raise ValueError(emsg)
if "node_y" not in kwargs:
emsg = (
"Require a node coordinate that is y-axis like to be provided."
)
raise ValueError(emsg)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if this intelligence should be part of the coord_manager instead.

Worth noting that the equivalent Connectivity validation is definitely at the connectivity_manager level since the required cf-roles are dependent on the manager type.

lib/iris/experimental/ugrid.py Show resolved Hide resolved
@trexfeathers trexfeathers merged commit 682136b into SciTools:ng-vat-mesh-api Feb 19, 2021
@bjlittle bjlittle deleted the mesh-api-coord-manager branch February 21, 2021 22:33
bjlittle added a commit that referenced this pull request Feb 23, 2021
* add ugrid mesh-api stubs (#4001)

* add additional mesh stubs (#4005)

* Update mesh-data-model branch (#4009) (#4011)

* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>

* add nox session conda list (#3990)

* Added text to state the Python version used to build the docs. (#3989)

* Added text to state the Python version used to build the docs.

* Added footer template that includes the Python version used to build.

* added new line

* Review actions

* added whatsnew

* Iris py38 (#3976)

* support for py38

* update CI and noxfile

* enforce alphabetical xml element attribute order

* full tests for py38 + fix docs-tests

* add whatsnew entry

* update doc-strings + review actions

* Alternate xml handling routine (#29)

* all xml tests pass for nox tests-3.8

* restored docstrings

* move sort_xml_attrs

* make sort_xml_attrs a classmethod

* update sort_xml_attr doc-string

Co-authored-by: Bill Little <bill.james.little@gmail.com>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <james@jamespenn.co.uk>

* normalise version to implicit development release number (#3991)

* Gallery: update COP maps example  (#3934)

* update cop maps example

* comment tweaks

* minor comment tweak + whatsnew

* reinstate whatsnew addition

* remove duplicate whatsnew

* don't support mpl v1.2 (#3941)

* Cubesummary tidy (#3988)

* Extra tests; fix for array attributes.

* Docstring for CubeSummary, and remove some unused parts.

* Fix section name capitalisation, in line with existing cube summary.

* Handle array differences; quote strings in extras and if 'awkward'-printing.

* Ensure scalar string coord 'content' prints on one line.

* update intersphinx mapping and matplotlib urls (#4003)

* update intersphinx mapping and matplotlib urls

* use matplotlib intersphinx where possible

* review actions

* review actions

* update readme badges (#4004)

* update readme badges

* pimp twitter badge

* update readme logo img src and href (#4006)

* update setuptools description (#4008)

Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>

Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>

* MeshMetadata class. (#4002)

* MeshMetadata class.

* MeshMetadata extra members for dim names.

* Comment for BaseMetadata refactoring.

* add meshmetadata services (#4012)

* Mesh api coord manager (#4015)

* add mesh coordinate manager

* wip

* make shape methods private + reorganise method order

* review actions

* partial mesh

* wip

* Mesh data model to ng vat mesh api (#4023)

* Update mesh-data-model branch (#4009)

* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>

* add nox session conda list (#3990)

* Added text to state the Python version used to build the docs. (#3989)

* Added text to state the Python version used to build the docs.

* Added footer template that includes the Python version used to build.

* added new line

* Review actions

* added whatsnew

* Iris py38 (#3976)

* support for py38

* update CI and noxfile

* enforce alphabetical xml element attribute order

* full tests for py38 + fix docs-tests

* add whatsnew entry

* update doc-strings + review actions

* Alternate xml handling routine (#29)

* all xml tests pass for nox tests-3.8

* restored docstrings

* move sort_xml_attrs

* make sort_xml_attrs a classmethod

* update sort_xml_attr doc-string

Co-authored-by: Bill Little <bill.james.little@gmail.com>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <james@jamespenn.co.uk>

* normalise version to implicit development release number (#3991)

* Gallery: update COP maps example  (#3934)

* update cop maps example

* comment tweaks

* minor comment tweak + whatsnew

* reinstate whatsnew addition

* remove duplicate whatsnew

* don't support mpl v1.2 (#3941)

* Cubesummary tidy (#3988)

* Extra tests; fix for array attributes.

* Docstring for CubeSummary, and remove some unused parts.

* Fix section name capitalisation, in line with existing cube summary.

* Handle array differences; quote strings in extras and if 'awkward'-printing.

* Ensure scalar string coord 'content' prints on one line.

* update intersphinx mapping and matplotlib urls (#4003)

* update intersphinx mapping and matplotlib urls

* use matplotlib intersphinx where possible

* review actions

* review actions

* update readme badges (#4004)

* update readme badges

* pimp twitter badge

* update readme logo img src and href (#4006)

* update setuptools description (#4008)

Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>

* Master to mesh data model (#4022)

* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>

* add nox session conda list (#3990)

* Added text to state the Python version used to build the docs. (#3989)

* Added text to state the Python version used to build the docs.

* Added footer template that includes the Python version used to build.

* added new line

* Review actions

* added whatsnew

* Iris py38 (#3976)

* support for py38

* update CI and noxfile

* enforce alphabetical xml element attribute order

* full tests for py38 + fix docs-tests

* add whatsnew entry

* update doc-strings + review actions

* Alternate xml handling routine (#29)

* all xml tests pass for nox tests-3.8

* restored docstrings

* move sort_xml_attrs

* make sort_xml_attrs a classmethod

* update sort_xml_attr doc-string

Co-authored-by: Bill Little <bill.james.little@gmail.com>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <james@jamespenn.co.uk>

* normalise version to implicit development release number (#3991)

* Gallery: update COP maps example  (#3934)

* update cop maps example

* comment tweaks

* minor comment tweak + whatsnew

* reinstate whatsnew addition

* remove duplicate whatsnew

* don't support mpl v1.2 (#3941)

* Cubesummary tidy (#3988)

* Extra tests; fix for array attributes.

* Docstring for CubeSummary, and remove some unused parts.

* Fix section name capitalisation, in line with existing cube summary.

* Handle array differences; quote strings in extras and if 'awkward'-printing.

* Ensure scalar string coord 'content' prints on one line.

* update intersphinx mapping and matplotlib urls (#4003)

* update intersphinx mapping and matplotlib urls

* use matplotlib intersphinx where possible

* review actions

* review actions

* update readme badges (#4004)

* update readme badges

* pimp twitter badge

* update readme logo img src and href (#4006)

* update setuptools description (#4008)

* cirrus-ci compute credits (#4007)

* update release process (#4010)

* Stop using deprecated aliases of builtin types (#3997)

* Stopped using deprecated aliases of builtin types.
This is required to avoid warnings starting with NumPy 1.20.0.

* Update lib/iris/tests/test_cell.py

Co-authored-by: Bill Little <bill.little@metoffice.gov.uk>

* Update lib/iris/tests/test_cell.py

Co-authored-by: Bill Little <bill.little@metoffice.gov.uk>

* Updated whatsnew.

Co-authored-by: Bill Little <bill.little@metoffice.gov.uk>

* celebrate first time iris contributors (#4013)

* Docs unreleased banner (#3999)

* baseline

* removed debug comments

* reverted

* remove line

* Testing

* testing extensions

* testing rtd_version

* fixed if

* removed line

* tidy up

* tidy comments

* debug of pre-existing rtd variables

* added reminder

* testing

* testing still

* updated comments

* added whatsnew

* expanded the if conditiion

* review actions

* Update layout.html

Remove alternative banner that used the RestructuredText notation.

* review actions

* drop __unicode__ method usage (#4018)

* cirrus-ci conditional tasks (#4019)

* cirrus-ci conditional tasks

* use bc for bash arithmetic

* revert back to sed

* use expr

* reword

* minor documentation changes

* review actions

* make iris.common.metadata._hexdigest public (#4020)

Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>
Co-authored-by: Alexander Kuhn-Regnier <ahf.kuhnregnier@gmail.com>

Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>
Co-authored-by: Alexander Kuhn-Regnier <ahf.kuhnregnier@gmail.com>

* Connectivity manager (#4017)

* ConnectivityManager first pass.

* ConnectivityManager align with proposed CoordManager.

* Connectivity Manager review actions.

* Connectivity Manager more review changes.

* Use metadata_manager for Mesh location dimension.

* Mesh dimension name abstraction.

* Align Cooord and Connectivity Managers filters methods.

* Completed Mesh class.

* filter_cf improvements.

* Moved filter_cf.

* Mesh connectivity manager namedtuples comment.

* Mesh removed trailing underscores.

* Mesh _set_dimension_names improvements.

* Mesh import rationalisation.

* Mesh connectivity manager remove NDIM.

* Connectivity manager use lazy indices_by_src().

* Connectivity manager clearer removal syntax.

* Connectivity manager don't override __init__.

* Connectivity manager correct base class syntax.

* Metadata filter hexdigest reference fix.

* test_MeshMetadata fix.

* Rename filter to metadata_filter.

* minor fixes (#4025)

* minor fixes

* wip

* add mesh pickle support (#4026)

Co-authored-by: Bill Little <bill.james.little@gmail.com>
Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>
Co-authored-by: Alexander Kuhn-Regnier <ahf.kuhnregnier@gmail.com>
bjlittle added a commit that referenced this pull request Feb 25, 2021
* add ugrid mesh-api stubs (#4001)

* add additional mesh stubs (#4005)

* Update mesh-data-model branch (#4009) (#4011)

* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>

* add nox session conda list (#3990)

* Added text to state the Python version used to build the docs. (#3989)

* Added text to state the Python version used to build the docs.

* Added footer template that includes the Python version used to build.

* added new line

* Review actions

* added whatsnew

* Iris py38 (#3976)

* support for py38

* update CI and noxfile

* enforce alphabetical xml element attribute order

* full tests for py38 + fix docs-tests

* add whatsnew entry

* update doc-strings + review actions

* Alternate xml handling routine (#29)

* all xml tests pass for nox tests-3.8

* restored docstrings

* move sort_xml_attrs

* make sort_xml_attrs a classmethod

* update sort_xml_attr doc-string

Co-authored-by: Bill Little <bill.james.little@gmail.com>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <james@jamespenn.co.uk>

* normalise version to implicit development release number (#3991)

* Gallery: update COP maps example  (#3934)

* update cop maps example

* comment tweaks

* minor comment tweak + whatsnew

* reinstate whatsnew addition

* remove duplicate whatsnew

* don't support mpl v1.2 (#3941)

* Cubesummary tidy (#3988)

* Extra tests; fix for array attributes.

* Docstring for CubeSummary, and remove some unused parts.

* Fix section name capitalisation, in line with existing cube summary.

* Handle array differences; quote strings in extras and if 'awkward'-printing.

* Ensure scalar string coord 'content' prints on one line.

* update intersphinx mapping and matplotlib urls (#4003)

* update intersphinx mapping and matplotlib urls

* use matplotlib intersphinx where possible

* review actions

* review actions

* update readme badges (#4004)

* update readme badges

* pimp twitter badge

* update readme logo img src and href (#4006)

* update setuptools description (#4008)

Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>

Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>

* MeshMetadata class. (#4002)

* MeshMetadata class.

* MeshMetadata extra members for dim names.

* Comment for BaseMetadata refactoring.

* add meshmetadata services (#4012)

* Mesh api coord manager (#4015)

* add mesh coordinate manager

* wip

* make shape methods private + reorganise method order

* review actions

* partial mesh

* wip

* Mesh data model to ng vat mesh api (#4023)

* Update mesh-data-model branch (#4009)

* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>

* add nox session conda list (#3990)

* Added text to state the Python version used to build the docs. (#3989)

* Added text to state the Python version used to build the docs.

* Added footer template that includes the Python version used to build.

* added new line

* Review actions

* added whatsnew

* Iris py38 (#3976)

* support for py38

* update CI and noxfile

* enforce alphabetical xml element attribute order

* full tests for py38 + fix docs-tests

* add whatsnew entry

* update doc-strings + review actions

* Alternate xml handling routine (#29)

* all xml tests pass for nox tests-3.8

* restored docstrings

* move sort_xml_attrs

* make sort_xml_attrs a classmethod

* update sort_xml_attr doc-string

Co-authored-by: Bill Little <bill.james.little@gmail.com>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <james@jamespenn.co.uk>

* normalise version to implicit development release number (#3991)

* Gallery: update COP maps example  (#3934)

* update cop maps example

* comment tweaks

* minor comment tweak + whatsnew

* reinstate whatsnew addition

* remove duplicate whatsnew

* don't support mpl v1.2 (#3941)

* Cubesummary tidy (#3988)

* Extra tests; fix for array attributes.

* Docstring for CubeSummary, and remove some unused parts.

* Fix section name capitalisation, in line with existing cube summary.

* Handle array differences; quote strings in extras and if 'awkward'-printing.

* Ensure scalar string coord 'content' prints on one line.

* update intersphinx mapping and matplotlib urls (#4003)

* update intersphinx mapping and matplotlib urls

* use matplotlib intersphinx where possible

* review actions

* review actions

* update readme badges (#4004)

* update readme badges

* pimp twitter badge

* update readme logo img src and href (#4006)

* update setuptools description (#4008)

Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>

* Master to mesh data model (#4022)

* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>

* add nox session conda list (#3990)

* Added text to state the Python version used to build the docs. (#3989)

* Added text to state the Python version used to build the docs.

* Added footer template that includes the Python version used to build.

* added new line

* Review actions

* added whatsnew

* Iris py38 (#3976)

* support for py38

* update CI and noxfile

* enforce alphabetical xml element attribute order

* full tests for py38 + fix docs-tests

* add whatsnew entry

* update doc-strings + review actions

* Alternate xml handling routine (#29)

* all xml tests pass for nox tests-3.8

* restored docstrings

* move sort_xml_attrs

* make sort_xml_attrs a classmethod

* update sort_xml_attr doc-string

Co-authored-by: Bill Little <bill.james.little@gmail.com>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <james@jamespenn.co.uk>

* normalise version to implicit development release number (#3991)

* Gallery: update COP maps example  (#3934)

* update cop maps example

* comment tweaks

* minor comment tweak + whatsnew

* reinstate whatsnew addition

* remove duplicate whatsnew

* don't support mpl v1.2 (#3941)

* Cubesummary tidy (#3988)

* Extra tests; fix for array attributes.

* Docstring for CubeSummary, and remove some unused parts.

* Fix section name capitalisation, in line with existing cube summary.

* Handle array differences; quote strings in extras and if 'awkward'-printing.

* Ensure scalar string coord 'content' prints on one line.

* update intersphinx mapping and matplotlib urls (#4003)

* update intersphinx mapping and matplotlib urls

* use matplotlib intersphinx where possible

* review actions

* review actions

* update readme badges (#4004)

* update readme badges

* pimp twitter badge

* update readme logo img src and href (#4006)

* update setuptools description (#4008)

* cirrus-ci compute credits (#4007)

* update release process (#4010)

* Stop using deprecated aliases of builtin types (#3997)

* Stopped using deprecated aliases of builtin types.
This is required to avoid warnings starting with NumPy 1.20.0.

* Update lib/iris/tests/test_cell.py

Co-authored-by: Bill Little <bill.little@metoffice.gov.uk>

* Update lib/iris/tests/test_cell.py

Co-authored-by: Bill Little <bill.little@metoffice.gov.uk>

* Updated whatsnew.

Co-authored-by: Bill Little <bill.little@metoffice.gov.uk>

* celebrate first time iris contributors (#4013)

* Docs unreleased banner (#3999)

* baseline

* removed debug comments

* reverted

* remove line

* Testing

* testing extensions

* testing rtd_version

* fixed if

* removed line

* tidy up

* tidy comments

* debug of pre-existing rtd variables

* added reminder

* testing

* testing still

* updated comments

* added whatsnew

* expanded the if conditiion

* review actions

* Update layout.html

Remove alternative banner that used the RestructuredText notation.

* review actions

* drop __unicode__ method usage (#4018)

* cirrus-ci conditional tasks (#4019)

* cirrus-ci conditional tasks

* use bc for bash arithmetic

* revert back to sed

* use expr

* reword

* minor documentation changes

* review actions

* make iris.common.metadata._hexdigest public (#4020)

Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>
Co-authored-by: Alexander Kuhn-Regnier <ahf.kuhnregnier@gmail.com>

Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>
Co-authored-by: Alexander Kuhn-Regnier <ahf.kuhnregnier@gmail.com>

* Connectivity manager (#4017)

* ConnectivityManager first pass.

* ConnectivityManager align with proposed CoordManager.

* Connectivity Manager review actions.

* Connectivity Manager more review changes.

* Use metadata_manager for Mesh location dimension.

* Mesh dimension name abstraction.

* Align Cooord and Connectivity Managers filters methods.

* Completed Mesh class.

* filter_cf improvements.

* Moved filter_cf.

* Mesh connectivity manager namedtuples comment.

* Mesh removed trailing underscores.

* Mesh _set_dimension_names improvements.

* Mesh import rationalisation.

* Mesh connectivity manager remove NDIM.

* Connectivity manager use lazy indices_by_src().

* Connectivity manager clearer removal syntax.

* Connectivity manager don't override __init__.

* Connectivity manager correct base class syntax.

* Metadata filter hexdigest reference fix.

* test_MeshMetadata fix.

* Rename filter to metadata_filter.

* minor fixes (#4025)

* minor fixes

* wip

* add mesh pickle support (#4026)

* Test Mesh WIP.

* Mesh face_dimension not set for topology_dimension=1.

* Mesh testing WIP.

* Mesh tests WIP.

* Mesh tests WIP.

* Mesh tests complete.

* Mesh repr tests.

* experimental.ugrid restore class ordering.

* Mesh tests - move global and class variables into setUpClass methods, to play nicely with unittest.

* Delete commented code.

* Mesh clearer distinction between coords and connectivities filters.

* Mesh tests slight readability improvement.

Co-authored-by: Bill Little <bill.james.little@gmail.com>
Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: stephen.worsley <stephen.worsley@metoffice.gov.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>
Co-authored-by: Alexander Kuhn-Regnier <ahf.kuhnregnier@gmail.com>
@stephenworsley stephenworsley mentioned this pull request Aug 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants