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

Iris py38 #3976

Merged
merged 8 commits into from
Feb 9, 2021
Merged

Iris py38 #3976

merged 8 commits into from
Feb 9, 2021

Conversation

bjlittle
Copy link
Member

@bjlittle bjlittle commented Feb 2, 2021

🚀 Pull Request

Description

This PR extends the iris testing to cover python 3.8.x.

In order to provision this testing infra-structure, work was required on cml generation, as xml.dom.minidom has changed from 3.8 to preserve xml element attribute assignment order - most likely due to python dictionaries now preserving order.

In addition to this a minor fix was required for the doc-tests, as a namedtuple._todict() now returns a dict rather than an OrderedDict.

Note that, all the CI documentation is performed soley for python 3.8 i.e.,

  • the documentation gallary
  • the doc-tests
  • the documentation link-check

Consult Iris pull request check list

Copy link
Member

@jamesp jamesp left a comment

Choose a reason for hiding this comment

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

Started a review, this is a great way to get stuck into understanding the codebase! Will give it some more time later, a couple of comments/questions inline below.

@@ -777,6 +775,24 @@ def cube_dims(self, cube):
"""
return cube.ancillary_variable_dims(self)

def xml_element(self, doc, split=None):
Copy link
Member

Choose a reason for hiding this comment

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

is there a reason this method returns a different signature (element, attributes) vs. (element,) depending on the param value split? different use cases?

Copy link
Member

Choose a reason for hiding this comment

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

The default signature xml_element(doc) => (element,) is different to the default signature of e.g. Coord#xml_element => (element, attributes). The api seems inconsistent throughout this file, is this expected?

Copy link
Member Author

@bjlittle bjlittle Feb 4, 2021

Choose a reason for hiding this comment

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

@jamesp Yes, this is intentional, and I couldn't see a neater way around it.

The issue is being forced by the inheritance hierarchy and the fact that the xml_element method in the final inheritance call chain must return an xml.dom.minidom.Element.

Just be to explicit we have the following:

CellMethod
`-- xml_element()

_DimensionalMetadata
|-- AncillaryVariable
|   |-- CellMeasure
|   |   `-- xml_element()
|   `-- xml_element()
|-- Coord
|   |-- AuxCoord
|   |   `-- xml_element()
|   |-- DimCoord
|   |   `-- xml_element()
|   `-- xml_element()
`-- xml_element()

So AncillaryVariable.xml_element by default requires to return an xml.dom.minidom.Element if it is directly called, otherwise, if AncillaryVariable.xml_element is called indirecty as part of the super in CellMeasure.xml_element, CellMeasure requires AncillaryVariable.xml_element to return (xml.dom.minidom.Element, dict) instead as it still has has to mix-in the measure attribute before finally calling xml.dom.minidom.Element.setAttribute.

Why are we doing this now?

Well, basically, for Python <3.8 the __str__/__repr__ of a xml.dom.minidom.Element would show its elements "for free" in alphabetical order... for Python >=3.8 it now shows its elements in assigned order - which breaks all our cml tests i.e., I'm guessing this is a direct side-effect of dicts behaving more like OrderedDicts.

So the deal is that we need all the attributes (key-values pairs) that we're ever going to set on the xml.dom.minidom.Element all at once before doing so, but sort them by key first, to get the same behaviour pre-3.8.

The fact that CellMeasure is a sub-class of AncillaryVariable is forcing this dual return type behaviour from AncillaryVariable.

This is also the case for Coord, but as this is an abstract base class for AuxCoord and DimCoord it is never called directly (as it's not possible), and so always returns (xml.dom.minidom.Element, dict). This also holds true for _DimensionalMetadata.

Does this help?

Copy link
Member Author

Choose a reason for hiding this comment

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

BTW I'm not wedded to the split kwarg as a name. If you agree on my strategy of doing all this, and the purpose of the split kwarg... then please suggest a rename for it, if you can think of something better.

Copy link
Member Author

Choose a reason for hiding this comment

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

I guess I could be a good citizen here and add all the missing doc-strings for the xml_element methods documenting the args, kwargs and return types...

Copy link
Member Author

Choose a reason for hiding this comment

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

In fact, I'm just going to go ahead an just do that... why not 😉

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

@tkknight
Copy link
Contributor

tkknight commented Feb 4, 2021

Overall looks ok to me @bjlittle . I would only add to ensure the docs are updated to include that Python 3.8 is now supported and tested. See the existing on the installing Iris page: https://scitools-iris.readthedocs.io/en/latest/installing.html

Over to you @jamesp to finish your review with @bjlittle. 😃

@bjlittle
Copy link
Member Author

bjlittle commented Feb 8, 2021

@jamesp I think this is good to go 😀

@jamesp
Copy link
Member

jamesp commented Feb 8, 2021

@bjlittle ok! 👍

# Create the XML element as the camelCaseEquivalent of the
# class name
element = super().xml_element(doc=doc)

element.setAttribute("points", self._xml_array_repr(self.points))
Copy link
Member

Choose a reason for hiding this comment

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

@bjlittle can you just confirm this line supposed to be deleted? comment below suggests that it is

Copy link
Member Author

Choose a reason for hiding this comment

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

@jamesp Yup, that's fine, and it's a good question...

It's actually redundant, and I only noticed it by working through the inheritance behaviour.

Coord.xml_element calls _DimensionalMetadata.xml_element, and in the super class it performs the following:

        # The values are referred to "points" of a coordinate and "data"
        # otherwise.
        if isinstance(self, Coord):
            values_term = "points"
        else:
            values_term = "data"
        element.setAttribute(values_term, self._xml_array_repr(self._values))

So as it stood, the _DimensionalMetadata was setting the points attribute, then the Coord came along an stomped over it with the same result... seemed like worthwhile trimming that fat whilst we're here.

If it didn't work... we'd have test failures all over the place. So I believe this is fine.

Lovely spot though 🦅 👀

@bjlittle
Copy link
Member Author

bjlittle commented Feb 9, 2021

@jamesp I've got come conflicts that I need to resolve...

bjlittle and others added 8 commits February 9, 2021 12:16
* 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>
@jamesp jamesp merged commit 8fb33bb into SciTools:master Feb 9, 2021
@bjlittle bjlittle deleted the iris-py38 branch February 10, 2021 09:45
trexfeathers pushed a commit that referenced this pull request Feb 15, 2021
* 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>
trexfeathers pushed a commit that referenced this pull request Feb 15, 2021
* 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>
trexfeathers pushed a commit that referenced this pull request Feb 22, 2021
* 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>
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 <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>
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>
rcomer pushed a commit to rcomer/iris that referenced this pull request May 12, 2021
* 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 (SciTools#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>
@rcomer rcomer mentioned this pull request May 12, 2021
jamesp added a commit that referenced this pull request May 13, 2021
* mpl 3.4.1 updates (#4087)

* replace most recent hashes (#4112)

* Corrected plot_anomaly_log_colouring for new Matplotlib linscale rules. (#4115)

* Cartopy 0.19 updates (#4128)

* Use assertArrayAllClose for sqrt test (#4118)

* using AllClose for sqrt test

* Omitting the checksum from test cml

* use ArrayAllClose (rebase reset it?)

* 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>

* reinstate black and nox links

* Linkcheck update (#4104)

* Updated links

* Added login remark

* Removed extra space

* change to kick cirrus

* kick cirrus

* test verbose on cirrus

* Removed test settings.

Co-authored-by: Bill Little <bill.james.little@gmail.com>
Co-authored-by: Martin Yeo <40734014+trexfeathers@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: James Penn <james.penn@metoffice.gov.uk>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
abooton pushed a commit that referenced this pull request Aug 10, 2021
* Add release highlights and pin rc version (#3898)

* Add release highlights and pin rc version

* review actions

* reorder release highlights (#3899)

Tweak release highlights

* Add whatsnew announcement (#3900)

* Fix spelling (#3903)

* Fix unit label handling (#3902)

* Add failing test of plotting

* Implement fix to pass test

* Update idiff to ignore irrelevant hyphens in path

* Update imagerepo (following docs)

* Update after review by @trexfeathers

* Add whatsnew entries

* Move whatsnew entries into correct file

* Release Docs Improvements (#3895)

* Minor phrasing change in 'Release candidate'.

* Before release deprecations.

* Whatsnew highlights section.

* Relax setup.py setup requirements (#3909)

* Updated CF saver version in User Guide and docstring (#3925)

* Updated CF saver version in User Guide and docstring

* Remove references to CF version of the loader in docstrings

* Added whatsnew

* Pin cftime<1.3.0

* Migrate to cirrus-ci (#3928)

* migrate from travis-ci to cirrus-ci

* added whatsnew entries

* ignore url for doc link check (#3929)

* whatsnew for coord default units (#3924)

* Cube._summary_coord_extra: efficiency and bugfix (#3922)

* Add Documentation Title Case Capitalization (#3940)

* Use Title Case Capitalisation for Documentation

* add whatsnew enter

* CI requirements drop pip packages (#3939)

* requirements pip to conda

* use pip install over develop

* default PY_VER to python versions

* update links (#3942)

* update links

* added s to http

* Add support for 1-d weights in collapse. (#3943)

* Remove warning for convert_units on lazy data (#3951)

* drop stickler references in docs (#3953)

* drop stickler references in docs

* remove sticker from common links

* update docs for travis-ci to cirrus-ci (#3954)

* update docs for travis-ci to cirrus-ci

* add 'travis-ci' reference locally to whatsnew

* update whatsnew comment

* docs for nox (#3955)

* docs for nox

* add titles, notices and additional detail

* review actions

* Resolve test coverage (#3947)

* test coverage for __init__ and __call__

* test coverage for metadata resolve and coverage

* partial test coverage for metadata mapping

* python 3.6 workaround for deepcopy of mock.sentinel

* test coverage for Resolve._free_mapping

* test coverage for Resolve convenience methods

* add test stub for Resolve._metadata_mapping

* fix Test__tgt_cube_position

* test coverage for shape

* test coverage for _as_compatible_cubes

* test coverage for Resolve._metadata_mapping

* test coverage for Resolve._prepare_common_dim_payload

* test coverage for Resolve._prepare_common_aux_payload

* test coverage for Resolve._prepare_points_and_bounds

* test coverage for Resolve._create_prepared_item

* test coverage for Resolve._prepare_local_payload_dim

* test coverage for Resolve._prepare_local_payload_aux

* test coverage for Resolve._prepare_local_payload_scalar + docs URL skip

* test coverage for Resolve._prepare_local_payload

* test coverage for Resolve._metadata_prepare

* added docs URL linkcheck skip

* test coverage for Resolve._prepare_factory_payload

* test coverage for Resolve._get_prepared_item

* review actions

* test coverage for Resolve.cube

* pin v3.0.0 version and whatnew date (#3956)

* update github ci checks image (#3957)

* Promote unknown units to dimensionless in aux factories (#3965)

* promote unknown to dimensionless units in aux factories

* patch aux factories to promote unknown to dimensionless units for formula terms

* add whatnew PR for entry

* Release branch prepare for v3.0.2 (#4044)

* update intersphinx mapping and matplotlib urls (#4003)

* update intersphinx mapping and matplotlib urls

* use matplotlib intersphinx where possible

* review actions

* review actions

* cirrus-ci compute credits (#4007)

* 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

* prepare v3.0.2 release

* Fix test_incompatible_dimensions test (#3977)

* test_incompatible_dimensions used a ragged array for the test, which has been deprecated in numpy, and now fails if dtype is anything other than object.  This test appears to be checking that the addition of a [2x4] masked array to a [2x3] masked cube should raise a ValueError. This commit fixes the creation of `data3` object to be a [2x4] non-ragged array.

* Added entry to what's new

* Added name to core developer list :)

* Update latest.rst

Fixed space in PR macro call

* update whatsnew v3.0.2

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

* um_stash_source attribute improved handling (#4035)

* Modified pyke rule

* Tests added

* Black and whatsnew

* Include PR number

* Remove latest.rst

* Add what's new

* Support for py38 and Cartopy 0.19 (#4130)

* mpl 3.4.1 updates (#4087)

* replace most recent hashes (#4112)

* Corrected plot_anomaly_log_colouring for new Matplotlib linscale rules. (#4115)

* Cartopy 0.19 updates (#4128)

* Use assertArrayAllClose for sqrt test (#4118)

* using AllClose for sqrt test

* Omitting the checksum from test cml

* use ArrayAllClose (rebase reset it?)

* 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>

* reinstate black and nox links

* Linkcheck update (#4104)

* Updated links

* Added login remark

* Removed extra space

* change to kick cirrus

* kick cirrus

* test verbose on cirrus

* Removed test settings.

Co-authored-by: Bill Little <bill.james.little@gmail.com>
Co-authored-by: Martin Yeo <40734014+trexfeathers@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: James Penn <james.penn@metoffice.gov.uk>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>

* Intersection bounds fix (replacement PR) (#4059)

* fix intersection out of bounds point

* fix intersection out of bounds point take 2

* add referencing comment

* bootstrap ci for 3.0.x (#4154)

* add cirrus-ci docker support

* wip

* wip

* wip

* wip

* wip

* add pip

* revert docker

* fix add_weekday (#32)

* fix add_weekday

* fix black link

* fix link

Co-authored-by: Ruth Comer <10599679+rcomer@users.noreply.github.com>

* Tweak to speed up dask wrapping of netcdf variables (#4135)

* Use 'meta' in da.from_array to stop it sampling netcdf variables, which is quite slow.

* Fix PR number.

* Fix test.

* Review changes.

* Update docs/iris/src/whatsnew/3.0.2.rst

Co-authored-by: lbdreyer <lbdreyer@users.noreply.github.com>

* Fb fix cube coord arithmetic (#4159)

* fix coord with cube arithmetic

* add coord arithmetic test coverage

* add a whatsnew entry

* Pp daskfix (#4141)

* Remove workaround when dask-wrapping PP data, obsoleted by #4135.

* Remove old slice testing

* Add whats new

* move whitespace?

* missing line

Co-authored-by: lbdreyer <laura.dreyer@metoffice.gov.uk>

* add release date to v3.0.2 whatsnew (#4160)

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

* In cube.intersection, find split cells using a tolerant equality check (#4220)

* In cube.intersection, find split cells using a tolerant equality check

* remove unused var

* Add bounds check to tests; add what's new

* Fix whats new; update version number

* Update 3.0.3.rst

Update release date in `3.0.3.rst`

* Wide cubestr fix 3v0vx v2 (#4233)

* Widen cube printout for long ancil or cell-measure names.

* Adjust result for fixed cube-units printout.

* Added whatsnew.

* Include newest whatsnew in index.

* Review: fix whatsnew structure.

* Fix initial sections display.

* Fix some typos in the cube maths docs (#4248)

* (More of) Wide cubestr fix 3v0vx v2 (#4238)

* Fix whatsnew for #4233.

* Move 'empty slicings' whatsnew entry to 3.0.2 section.

* unpin cftime (#4222)

* Test wrangling vs v3.0.x (#4249)

* test changes

* add awol init

* rename system test cases

* fix PartialDateTime tests

* fix typo

* add whatsnew

* Fix mergeback PR #4035

* Fix mergeback PR #4035 tests

* Update mergeback nox conda-lock files

Co-authored-by: tkknight <2108488+tkknight@users.noreply.github.com>
Co-authored-by: Zeb Nicholls <zebedee.nicholls@climate-energy-college.org>
Co-authored-by: Martin Yeo <40734014+trexfeathers@users.noreply.github.com>
Co-authored-by: Jon Seddon <17068361+jonseddon@users.noreply.github.com>
Co-authored-by: Ruth Comer <ruth.comer@metoffice.gov.uk>
Co-authored-by: Patrick Peglar <patrick.peglar@metoffice.gov.uk>
Co-authored-by: James Penn <james@jamespenn.co.uk>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: James Penn <james.penn@metoffice.gov.uk>
Co-authored-by: Ruth Comer <10599679+rcomer@users.noreply.github.com>
Co-authored-by: lbdreyer <lbdreyer@users.noreply.github.com>
Co-authored-by: lbdreyer <laura.dreyer@metoffice.gov.uk>
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.

None yet

4 participants