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

Cubesummary tidy #3988

Merged
merged 5 commits into from
Feb 10, 2021
Merged

Cubesummary tidy #3988

merged 5 commits into from
Feb 10, 2021

Conversation

pp-mo
Copy link
Member

@pp-mo pp-mo commented Feb 8, 2021

🚀 Pull Request

Description

Some small improvements I thought worthwhile.
As a preliminary to adding the new "table based summary" code, as previewed in #3982


Consult Iris pull request check list

@pp-mo pp-mo requested a review from stephenworsley February 8, 2021 12:04
@pp-mo
Copy link
Member Author

pp-mo commented Feb 8, 2021

@stephenworsley effectively, this is the remaining suggestions left over from #3987

@pp-mo pp-mo mentioned this pull request Feb 8, 2021
co1_summ = rep.vector_sections["Dimension coordinates:"].contents[0]
co2_summ = rep.vector_sections["Auxiliary coordinates:"].contents[0]
self.assertEqual(co1_summ.extra, "array=array([1.2, 3. ])")
self.assertEqual(co2_summ.extra, "array=array([3.2, 1. ]), b=2")
Copy link
Contributor

Choose a reason for hiding this comment

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

For the sake of testing numpy array equality, it might also be worth testing the case where two arrays are equal and the case where arrays have different shapes.

# ..except setdefault fails if values are numpy arrays.
if key not in attributes:
attributes[key] = value
elif not np.all(attributes[key] == value):
Copy link
Contributor

Choose a reason for hiding this comment

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

It looks like there exists logic in the metadata to handle this kind of comparison:

def _hexdigest(value):

This would handle edge cases differently (dtype, masked arrays etc.)

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, that really does look like the right way.

@pp-mo
Copy link
Member Author

pp-mo commented Feb 8, 2021

I got into some deep water there : I found that the handling of array representations was highly undesirable due to embedded newlines. So I have fixed that, and also for strings with newlines, in attribute values and coord-extras.

I have not added tests to check that it distinguishes arrays masked/unmasked or with different masks.

Again, the existing code does not handle any of these things very well, and there is no existing testing.
So it feels like this might be overkill -- there seems to be no end to this stuff ?

@pp-mo
Copy link
Member Author

pp-mo commented Feb 8, 2021

I am also realising that the presentation of scalar string coords is not escaping the text, which will also cause problems if they include newlines.

Basically I think we should be probably be escaping awkward strings here, and only presenting simple printable strings to representation handlers..
I think I will try and deal with this later, via tests in the printout code.

@pp-mo
Copy link
Member Author

pp-mo commented Feb 8, 2021

Hang on with this...
I think if we're going to do this at all we should have a more comprehensive approach to escaping the string results.
I'll think about that + maybe come up with a tidier solution...

@pp-mo
Copy link
Member Author

pp-mo commented Feb 9, 2021

Ok, I think I'm happy that this now works reasonably.
Text is now 'escaped' from effects of rogue linefeeds,and clipped to length for "oneline output"
in all relevant places :

  • scalar test coord point
    • string attributes are only quoted when needed (embedded tabs_newlines)
  • cube attributes
    • as for the scalar string coord values
  • coord 'extra' strings (both scalar + vector)
    • string attributes are always quoted in this case

Not everything is totally tested (e.g. longer line clipping), but I think it will do.
If problems arise, we can add further regression tests, but I think we've already spent much too long on this 😥

Copy link
Contributor

@stephenworsley stephenworsley left a comment

Choose a reason for hiding this comment

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

Looks good, should be significantly more robust than the existing code.

@stephenworsley stephenworsley merged commit e3c1905 into SciTools:master Feb 10, 2021
trexfeathers pushed a commit that referenced this pull request Feb 15, 2021
* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
trexfeathers pushed a commit that referenced this pull request Feb 15, 2021
* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>

Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
trexfeathers pushed a commit that referenced this pull request Feb 22, 2021
* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>

* Update lib/iris/tests/test_cell.py

Co-authored-by: Bill Little <[email protected]>

* Updated whatsnew.

Co-authored-by: Bill Little <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
Co-authored-by: Alexander Kuhn-Regnier <[email protected]>
trexfeathers pushed a commit that referenced this pull request Feb 22, 2021
* Update mesh-data-model branch (#4009)

* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>

* Master to mesh data model (#4022)

* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>

* Update lib/iris/tests/test_cell.py

Co-authored-by: Bill Little <[email protected]>

* Updated whatsnew.

Co-authored-by: Bill Little <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
Co-authored-by: Alexander Kuhn-Regnier <[email protected]>

Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
Co-authored-by: Alexander Kuhn-Regnier <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>

Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>

* Master to mesh data model (#4022)

* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>

* Update lib/iris/tests/test_cell.py

Co-authored-by: Bill Little <[email protected]>

* Updated whatsnew.

Co-authored-by: Bill Little <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
Co-authored-by: Alexander Kuhn-Regnier <[email protected]>

Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
Co-authored-by: Alexander Kuhn-Regnier <[email protected]>

* 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 <[email protected]>
Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
Co-authored-by: Alexander Kuhn-Regnier <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>

Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>

* Master to mesh data model (#4022)

* Add abstract cube summary (#3987)

Co-authored-by: stephen.worsley <[email protected]>

* 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 <[email protected]>

* add jamesp to whatsnew + minor tweak

Co-authored-by: James Penn <[email protected]>

* 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 <[email protected]>

* Update lib/iris/tests/test_cell.py

Co-authored-by: Bill Little <[email protected]>

* Updated whatsnew.

Co-authored-by: Bill Little <[email protected]>

* 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 <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
Co-authored-by: Alexander Kuhn-Regnier <[email protected]>

Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
Co-authored-by: Alexander Kuhn-Regnier <[email protected]>

* 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 <[email protected]>
Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: stephen.worsley <[email protected]>
Co-authored-by: tkknight <[email protected]>
Co-authored-by: James Penn <[email protected]>
Co-authored-by: Ruth Comer <[email protected]>
Co-authored-by: Alexander Kuhn-Regnier <[email protected]>
@pp-mo pp-mo deleted the cubesummary_tidy branch March 18, 2022 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants