diff --git a/.cirrus.yml b/.cirrus.yml
index e7688d22c5..13e95f7397 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -120,6 +120,8 @@ test_minimal_task:
PY_VER: 3.6
env:
PY_VER: 3.7
+ env:
+ PY_VER: 3.8
name: "${CIRRUS_OS}: py${PY_VER} tests (minimal)"
container:
image: gcc:latest
@@ -143,6 +145,8 @@ test_full_task:
PY_VER: 3.6
env:
PY_VER: 3.7
+ env:
+ PY_VER: 3.8
name: "${CIRRUS_OS}: py${PY_VER} tests (full)"
container:
image: gcc:latest
@@ -172,9 +176,7 @@ gallery_task:
<< : *CREDITS_TEMPLATE
matrix:
env:
- PY_VER: 3.6
- env:
- PY_VER: 3.7
+ PY_VER: 3.8
name: "${CIRRUS_OS}: py${PY_VER} doc tests (gallery)"
container:
image: gcc:latest
@@ -204,7 +206,7 @@ doctest_task:
<< : *CREDITS_TEMPLATE
matrix:
env:
- PY_VER: 3.7
+ PY_VER: 3.8
name: "${CIRRUS_OS}: py${PY_VER} doc tests"
container:
image: gcc:latest
@@ -240,7 +242,7 @@ linkcheck_task:
<< : *CREDITS_TEMPLATE
matrix:
env:
- PY_VER: 3.7
+ PY_VER: 3.8
name: "${CIRRUS_OS}: py${PY_VER} doc link check"
container:
image: gcc:latest
diff --git a/docs/iris/gallery_code/general/plot_anomaly_log_colouring.py b/docs/iris/gallery_code/general/plot_anomaly_log_colouring.py
index 846816aff7..7a6405b4b0 100644
--- a/docs/iris/gallery_code/general/plot_anomaly_log_colouring.py
+++ b/docs/iris/gallery_code/general/plot_anomaly_log_colouring.py
@@ -68,14 +68,14 @@ def main():
# Create a 'logarithmic' data normalization.
anom_norm = mcols.SymLogNorm(
linthresh=minimum_log_level,
- linscale=0,
+ linscale=0.01,
vmin=-maximum_scale_level,
vmax=maximum_scale_level,
)
# Setting "linthresh=minimum_log_level" makes its non-logarithmic
# data range equal to our 'zero band'.
- # Setting "linscale=0" maps the whole zero band to the middle colour value
- # (i.e. 0.5), which is the neutral point of a "diverging" style colormap.
+ # Setting "linscale=0.01" maps the whole zero band to the middle colour value
+ # (i.e., 0.5), which is the neutral point of a "diverging" style colormap.
# Create an Axes, specifying the map projection.
plt.axes(projection=ccrs.LambertConformal())
diff --git a/docs/iris/src/developers_guide/gitwash/git_links.inc b/docs/iris/src/developers_guide/gitwash/git_links.inc
index f219d013a6..9a87b55d4d 100644
--- a/docs/iris/src/developers_guide/gitwash/git_links.inc
+++ b/docs/iris/src/developers_guide/gitwash/git_links.inc
@@ -28,6 +28,6 @@
.. _git config: http://schacon.github.com/git/git-config.html
.. _linux git workflow: http://www.mail-archive.com/dri-devel@lists.sourceforge.net/msg39091.html
-.. _deleting master on github: http://matthew-brett.github.com/pydagogue/gh_delete_master.html
+.. _deleting master on github: https://matthew-brett.github.io/pydagogue/gh_delete_master.html
.. |emdash| unicode:: U+02014
diff --git a/docs/iris/src/further_topics/metadata.rst b/docs/iris/src/further_topics/metadata.rst
index e6d6ebc57a..ab6a6450b4 100644
--- a/docs/iris/src/further_topics/metadata.rst
+++ b/docs/iris/src/further_topics/metadata.rst
@@ -258,12 +258,12 @@ create a **new** instance directly from the metadata class itself,
>>> DimCoordMetadata._make(values)
DimCoordMetadata(standard_name=1, long_name=2, var_name=3, units=4, attributes=5, coord_system=6, climatological=7, circular=8)
-It is also possible to easily convert ``metadata`` to an `OrderedDict`_
+It is also possible to easily convert ``metadata`` to an `dict`_
using the `namedtuple._asdict`_ method. This can be particularly handy when a
standard Python built-in container is required to represent your ``metadata``,
>>> metadata._asdict()
- OrderedDict([('standard_name', 'longitude'), ('long_name', None), ('var_name', 'longitude'), ('units', Unit('degrees')), ('attributes', {'grinning face': '🙃'}), ('coord_system', GeogCS(6371229.0)), ('climatological', False), ('circular', False)])
+ {'standard_name': 'longitude', 'long_name': None, 'var_name': 'longitude', 'units': Unit('degrees'), 'attributes': {'grinning face': '🙃'}, 'coord_system': GeogCS(6371229.0), 'climatological': False, 'circular': False}
Using the `namedtuple._replace`_ method allows you to create a new metadata
class instance, but replacing specified members with **new** associated values,
@@ -943,7 +943,7 @@ such as a `dict`_,
>>> mapping = latitude.metadata._asdict()
>>> mapping
- OrderedDict([('standard_name', 'latitude'), ('long_name', None), ('var_name', 'latitude'), ('units', Unit('degrees')), ('attributes', {}), ('coord_system', GeogCS(6371229.0)), ('climatological', False), ('circular', False)])
+ {'standard_name': 'latitude', 'long_name': None, 'var_name': 'latitude', 'units': Unit('degrees'), 'attributes': {}, 'coord_system': GeogCS(6371229.0), 'climatological': False, 'circular': False}
>>> longitude.metadata = mapping
>>> longitude.metadata
DimCoordMetadata(standard_name='latitude', long_name=None, var_name='latitude', units=Unit('degrees'), attributes={}, coord_system=GeogCS(6371229.0), climatological=False, circular=False)
@@ -1000,7 +1000,6 @@ values. All other metadata members will be left unaltered.
.. _NetCDF: https://www.unidata.ucar.edu/software/netcdf/
.. _NetCDF CF Metadata Conventions: https://cfconventions.org/
.. _NumPy: https://github.com/numpy/numpy
-.. _OrderedDict: https://docs.python.org/3/library/collections.html#collections.OrderedDict
.. _Parametric Vertical Coordinate: https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html#parametric-vertical-coordinate
.. _rich comparison: https://www.python.org/dev/peps/pep-0207/
.. _SciTools/iris: https://github.com/SciTools/iris
diff --git a/docs/iris/src/installing.rst b/docs/iris/src/installing.rst
index fbe59858a4..723c172fac 100644
--- a/docs/iris/src/installing.rst
+++ b/docs/iris/src/installing.rst
@@ -16,8 +16,8 @@ any WSL_ distributions.
.. _WSL: https://docs.microsoft.com/en-us/windows/wsl/install-win10
-.. note:: Iris currently supports and is tested against **Python 3.6** and
- **Python 3.7**.
+.. note:: Iris is currently supported and tested against Python ``3.6``,
+ ``3.7``, and ``3.8``.
.. _installing_using_conda:
diff --git a/lib/iris/coords.py b/lib/iris/coords.py
index 76ca83cd96..2f46b529f3 100644
--- a/lib/iris/coords.py
+++ b/lib/iris/coords.py
@@ -579,7 +579,21 @@ def shape(self):
return self._values_dm.shape
def xml_element(self, doc):
- """Return a DOM element describing this metadata."""
+ """
+ Create the :class:`xml.dom.minidom.Element` that describes this
+ :class:`_DimensionalMetadata`.
+
+ Args:
+
+ * doc:
+ The parent :class:`xml.dom.minidom.Document`.
+
+ Returns:
+ The :class:`xml.dom.minidom.Element` that will describe this
+ :class:`_DimensionalMetadata`, and the dictionary of attributes
+ that require to be added to this element.
+
+ """
# Create the XML element as the camelCaseEquivalent of the
# class name.
element_name = type(self).__name__
@@ -882,6 +896,20 @@ def cube_dims(self, cube):
return cube.cell_measure_dims(self)
def xml_element(self, doc):
+ """
+ Create the :class:`xml.dom.minidom.Element` that describes this
+ :class:`CellMeasure`.
+
+ Args:
+
+ * doc:
+ The parent :class:`xml.dom.minidom.Document`.
+
+ Returns:
+ The :class:`xml.dom.minidom.Element` that describes this
+ :class:`CellMeasure`.
+
+ """
# Create the XML element as the camelCaseEquivalent of the
# class name
element = super().xml_element(doc=doc)
@@ -2229,14 +2257,26 @@ def nearest_neighbour_index(self, point):
return result_index
def xml_element(self, doc):
- """Return a DOM element describing this Coord."""
+ """
+ Create the :class:`xml.dom.minidom.Element` that describes this
+ :class:`Coord`.
+
+ Args:
+
+ * doc:
+ The parent :class:`xml.dom.minidom.Document`.
+
+ Returns:
+ The :class:`xml.dom.minidom.Element` that will describe this
+ :class:`DimCoord`, and the dictionary of attributes that require
+ to be added to this element.
+
+ """
# 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))
-
- # Add bounds handling
+ # Add bounds, points are handled by the parent class.
if self.has_bounds():
element.setAttribute("bounds", self._xml_array_repr(self.bounds))
@@ -2613,7 +2653,20 @@ def is_monotonic(self):
return True
def xml_element(self, doc):
- """Return DOM element describing this :class:`iris.coords.DimCoord`."""
+ """
+ Create the :class:`xml.dom.minidom.Element` that describes this
+ :class:`DimCoord`.
+
+ Args:
+
+ * doc:
+ The parent :class:`xml.dom.minidom.Document`.
+
+ Returns:
+ The :class:`xml.dom.minidom.Element` that describes this
+ :class:`DimCoord`.
+
+ """
element = super().xml_element(doc)
if self.circular:
element.setAttribute("circular", str(self.circular))
@@ -2754,7 +2807,17 @@ def __add__(self, other):
def xml_element(self, doc):
"""
- Return a dom element describing itself
+ Create the :class:`xml.dom.minidom.Element` that describes this
+ :class:`CellMethod`.
+
+ Args:
+
+ * doc:
+ The parent :class:`xml.dom.minidom.Document`.
+
+ Returns:
+ The :class:`xml.dom.minidom.Element` that describes this
+ :class:`CellMethod`.
"""
cellMethod_xml_element = doc.createElement("cellMethod")
diff --git a/lib/iris/cube.py b/lib/iris/cube.py
index c3f77c9288..f280891fde 100644
--- a/lib/iris/cube.py
+++ b/lib/iris/cube.py
@@ -225,6 +225,7 @@ def __getslice__(self, start, stop):
def xml(self, checksum=False, order=True, byteorder=True):
"""Return a string of the XML that this list of cubes represents."""
+
doc = Document()
cubes_xml_element = doc.createElement("cubes")
cubes_xml_element.setAttribute("xmlns", XML_NAMESPACE_URI)
@@ -239,6 +240,7 @@ def xml(self, checksum=False, order=True, byteorder=True):
doc.appendChild(cubes_xml_element)
# return our newly created XML string
+ doc = Cube._sort_xml_attrs(doc)
return doc.toprettyxml(indent=" ")
def extract(self, constraints):
@@ -755,6 +757,59 @@ class Cube(CFVariableMixin):
#: is similar to Fortran or Matlab, but different than numpy.
__orthogonal_indexing__ = True
+ @classmethod
+ def _sort_xml_attrs(cls, doc):
+ """
+ Takes an xml document and returns a copy with all element
+ attributes sorted in alphabetical order.
+
+ This is a private utility method required by iris to maintain
+ legacy xml behaviour beyond python 3.7.
+
+ Args:
+
+ * doc:
+ The :class:`xml.dom.minidom.Document`.
+
+ Returns:
+ The :class:`xml.dom.minidom.Document` with sorted element
+ attributes.
+
+ """
+ from xml.dom.minidom import Document
+
+ def _walk_nodes(node):
+ """Note: _walk_nodes is called recursively on child elements."""
+
+ # we don't want to copy the children here, so take a shallow copy
+ new_node = node.cloneNode(deep=False)
+
+ # Versions of python <3.8 order attributes in alphabetical order.
+ # Python >=3.8 order attributes in insert order. For consistent behaviour
+ # across both, we'll go with alphabetical order always.
+ # Remove all the attribute nodes, then add back in alphabetical order.
+ attrs = [
+ new_node.getAttributeNode(attr_name).cloneNode(deep=True)
+ for attr_name in sorted(node.attributes.keys())
+ ]
+ for attr in attrs:
+ new_node.removeAttributeNode(attr)
+ for attr in attrs:
+ new_node.setAttributeNode(attr)
+
+ if node.childNodes:
+ children = [_walk_nodes(x) for x in node.childNodes]
+ for c in children:
+ new_node.appendChild(c)
+
+ return new_node
+
+ nodes = _walk_nodes(doc.documentElement)
+ new_doc = Document()
+ new_doc.appendChild(nodes)
+
+ return new_doc
+
def __init__(
self,
data,
@@ -3399,6 +3454,7 @@ def xml(self, checksum=False, order=True, byteorder=True):
doc.appendChild(cube_xml_element)
# Print our newly created XML
+ doc = self._sort_xml_attrs(doc)
return doc.toprettyxml(indent=" ")
def _xml_element(self, doc, checksum=False, order=True, byteorder=True):
diff --git a/lib/iris/plot.py b/lib/iris/plot.py
index 349f1fea10..b0159af9d6 100644
--- a/lib/iris/plot.py
+++ b/lib/iris/plot.py
@@ -1073,6 +1073,18 @@ def contourf(cube, *args, **kwargs):
# any boundary shift.
zorder = result.collections[0].zorder - 0.1
axes = kwargs.get("axes", None)
+
+ # Workaround for cartopy#1780. We do not want contour to shrink
+ # extent.
+ if axes is None:
+ _axes = plt.gca()
+ else:
+ _axes = axes
+
+ # Subsequent calls to dataLim.update_from_data_xy should not ignore
+ # current extent.
+ _axes.dataLim.ignore(False)
+
contour(
cube,
levels=levels,
diff --git a/lib/iris/tests/__init__.py b/lib/iris/tests/__init__.py
index ac0d313d76..4a85e5cdb2 100644
--- a/lib/iris/tests/__init__.py
+++ b/lib/iris/tests/__init__.py
@@ -573,6 +573,10 @@ def assertXMLElement(self, obj, reference_filename):
"""
doc = xml.dom.minidom.Document()
doc.appendChild(obj.xml_element(doc))
+ # sort the attributes on xml elements before testing against known good state.
+ # this is to be compatible with stored test output where xml attrs are stored in alphabetical order,
+ # (which was default behaviour in python <3.8, but changed to insert order in >3.8)
+ doc = iris.cube.Cube._sort_xml_attrs(doc)
pretty_xml = doc.toprettyxml(indent=" ")
reference_path = self.get_result_path(reference_filename)
self._check_same(
diff --git a/lib/iris/tests/results/analysis/sqrt.cml b/lib/iris/tests/results/analysis/sqrt.cml
index c6b9b88e9a..f8a1c48fc3 100644
--- a/lib/iris/tests/results/analysis/sqrt.cml
+++ b/lib/iris/tests/results/analysis/sqrt.cml
@@ -39,6 +39,6 @@
-
+
diff --git a/lib/iris/tests/results/imagerepo.json b/lib/iris/tests/results/imagerepo.json
index a7fd9e1faf..9ec5cf83fb 100644
--- a/lib/iris/tests/results/imagerepo.json
+++ b/lib/iris/tests/results/imagerepo.json
@@ -145,11 +145,11 @@
],
"gallery_tests.test_plot_wind_speed.TestWindSpeed.test_plot_wind_speed.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/bcf924fb9306930ce12ccf97c73236b28ecec4cd3e29847b18e639e6c14f1a09.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/e9e960e996169306c1ee9e96c29e36739e13c07d3d61c07f39a139a1c07f3f01.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/e9e960e996169306c1fe9e96c29e36739e13c06c3d61c07f39a139e1c07f3f01.png"
],
"gallery_tests.test_plot_wind_speed.TestWindSpeed.test_plot_wind_speed.1": [
"https://scitools.github.io/test-iris-imagehash/images/v4/bcf924fb9306930ce12ccf97c73236b28ecec4cc3e29847b38e639e6c14f1a09.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/e9e960e996169306c1ee9e86c29e36739e13c07d3d61c07f39a139a1c17f3f01.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/e9e960e996169306c1ee9e96c29e36739653c06c3d61c07f3da139e1c07f3f01.png"
],
"iris.tests.experimental.test_animate.IntegrationTest.test_cube_animation.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/fe81957ac17e6a85817e6a85857e942a3e81957a7e81917a7a81d95ec17e2ca1.png",
@@ -210,13 +210,15 @@
],
"iris.tests.test_mapping.TestBoundedCube.test_pcolormesh.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/fa81e535857e92ca8ec23d21b13ce15e7a811ea5c47e1a5ac17b652d3b05e4f2.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/fa81c17a857e1ea5857e634a7a81cd257e8584da857e3b29817e68f47a81c791.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa81c17a857e1ea5857e634a7a81cd257e8584da857e3b29817e68f47a81c791.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa81c17a857e1ea5857e734a7a81cd257e8484da857e3b29817a68f47a81c799.png"
],
"iris.tests.test_mapping.TestLimitedAreaCube.test_grid.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/bf80e2b1c17f1d0ac4f7c8d739a637202749699b6bb3ce3666e4b048944d9d89.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/bf80e2f1c17f1d0ac457c8d619a637213749699b6bb34e3666e4b04e944d9d89.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/ea05392995bac6d691ce3f21666569d86a96c6360ee195cb91e8ce54953b313b.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/ea05392995bac6d691ea3f21666569d86a97c6320ee195cb91e8ce559539391b.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea05392995bac6d691ea3f21666569d86a97c6320ee195cb91e8ce559539391b.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa1585e885ea7a1785fa7a157a177a017a1585e817a885ea85e86a1785fa7a17.png"
],
"iris.tests.test_mapping.TestLimitedAreaCube.test_outline.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/fa81857e857e3e80857e7a817a817a817a81817f7a81857e857e857e857e7a81.png",
@@ -226,7 +228,8 @@
],
"iris.tests.test_mapping.TestLimitedAreaCube.test_pcolormesh.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/bf81e6b1c17e1d4884bfc8df39a43720374969db69b34e26c4e4b0ca904f9d89.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/ea57396995a8c6d691ea3f25664569d86b16c63686ed958991ea4a549531393b.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea57396995a8c6d691ea3f25664569d86b16c63686ed958991ea4a549531393b.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea57396995a8c6d691ea3e25664569d96b16c63684e9958b91ea4a559431793b.png"
],
"iris.tests.test_mapping.TestLimitedAreaCube.test_scatter.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/ea053d2e916ac2d9c4d894346b24f3477acf68ad39329ed8c696e136c1ab9a71.png",
@@ -257,7 +260,8 @@
"iris.tests.test_mapping.TestLowLevel.test_simple.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/eae0943295154bcc844e6c314fb093ce7bc7c4b3a4307bc4916f3f316ed2b4ce.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/faa0e55c855fdce7857a1ab16a85a50c3ea1e55e856658a5c11837096e8fe17a.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/faa0e55c855fdce7857a1ab16a85a50c36a1e55e854658b5c13837096e8fe17a.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/faa0e55c855fdce7857a1ab16a85a50c36a1e55e854658b5c13837096e8fe17a.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/faa0e558855fd9e7857a1ab16a85a51d36a1e55a854e58a5c13837096e8fe17a.png"
],
"iris.tests.test_mapping.TestMappingSubRegion.test_simple.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/bd913e01d07ee07e926e87876f8196c1e0d36967393c1f181e2c3cb8b0f960d7.png",
@@ -395,7 +399,8 @@
],
"iris.tests.test_plot.TestAttributePositive.test_2d_positive_down.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/fb946ba684e194fb901b3a0587641ad03b1ae7674e64c15a5b99c767c47e3a98.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/fb946ba484e194dbc01f3665c0e4399a3f0fc2653f90c99e3f613e64c81e3f81.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fb946ba484e194dbc01f3665c0e4399a3f0fc2653f90c99e3f613e64c81e3f81.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fb966ba6846194dbd01f3665c0e4399a3f1bc2653f90c99e2f613e64c01e3f81.png"
],
"iris.tests.test_plot.TestAttributePositive.test_2d_positive_up.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/ee176c7f93e093a0c50f9383815e6e156859e17e6e15e17a9be08e2d851a9b83.png",
@@ -509,7 +514,8 @@
"https://scitools.github.io/test-iris-imagehash/images/v4/fa816ac1857e853cc17f957ac15f3e849486c8f43e81c13b3f813e91c07e3f46.png"
],
"iris.tests.test_plot.TestMissingCoord.test_no_u.0": [
- "https://scitools.github.io/test-iris-imagehash/images/v4/ea856a95955a954ac17f954a807e3f48951ac07e3e81c0ff7ea16a81c0ff3f81.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea856a95955a954ac17f954a807e3f48951ac07e3e81c0ff7ea16a81c0ff3f81.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea856a95955a954ac17f954ac07e3f44951ac07e3e81c07f7ea16aa1c0ff3e81.png"
],
"iris.tests.test_plot.TestMissingCoord.test_no_u.1": [
"https://scitools.github.io/test-iris-imagehash/images/v4/ea956ab5954a954ac17e954a817f2f60950ac07f3e80c07f7a856aa5c2ff3f80.png"
@@ -588,7 +594,8 @@
"iris.tests.test_plot.TestPcolormesh.test_ty.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/ea74c707958b3878958b38f8c7236a557a542c7868d54b877875978abc789722.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/ea74c707958b387895ab38f8c7236a557a542c7868d54b05787197eabc789722.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/ea953f83954ac2fc956ac07e956a3509c0de61796ab57a816a854ad16ab590fb.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea953f83954ac2fc956ac07e956a3509c0de61796ab57a816a854ad16ab590fb.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea953f83954ac2bc956ac07e956a3509c0de61796ab57a916a856a916ab590fb.png"
],
"iris.tests.test_plot.TestPcolormesh.test_tz.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/e874978b978b6875978b6875978b7854950b78506855787468747ea2687597aa.png",
@@ -600,7 +607,8 @@
],
"iris.tests.test_plot.TestPcolormesh.test_zx.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/e85e87a197a1695a97a16d5a97a17d5a97a17806785a7816685a7e86685ad687.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/fa81857e857e6e05857e7a81857e7a81a0577a816a8585fa7a85857e7a81857e.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa81857e857e6e05857e7a81857e7a81a0577a816a8585fa7a85857e7a81857e.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa81857e857a7e01857e7a81857e7a81a0577a816a8585fa7a85857e7a85857e.png"
],
"iris.tests.test_plot.TestPcolormesh.test_zy.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/af42c0bdd0ad2f52d0bd3f42d0bd7f02d0bd7f002d527f002f427fa82f42d6a8.png",
@@ -610,7 +618,8 @@
"iris.tests.test_plot.TestPcolormeshNoBounds.test_tx.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/fa1594f3858a670c94e37b1cccb13e736a1d84f17a1d94e2c11d938e9463678e.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/fa1594f3858a670c94e37b1cccb13e736a1d8cf17a1d94e2c11993ae9463678c.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/ea858782957a703f957a3878957a7a65957e6bc06ae56f806ad50fd06a859c50.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea858782957a703f957a3878957a7a65957e6bc06ae56f806ad50fd06a859c50.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea858782957a703f957a3878957a7a65957a6b806ae56f846ad50fd46a859c50.png"
],
"iris.tests.test_plot.TestPcolormeshNoBounds.test_ty.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/ad5e94a5c3b0c3f096a1695a96a53c1f711b3c0f791b97b46943c3e06c436b5a.png",
@@ -618,7 +627,8 @@
],
"iris.tests.test_plot.TestPcolormeshNoBounds.test_tz.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/a95e3c1f96a096a5d6a56b40c3f06be2c1c0c3f07c0b3ebe96a13c1e6d5b694a.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/fa813e81857e857a857e7a81857e6a85817b00e63eb93e857e81c17e7a81956e.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa813e81857e857a857e7a81857e6a85817b00e63eb93e857e81c17e7a81956e.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa813e81857e857a857e7a81857e6a85817b0aa63e993e857e81c17e7a81956e.png"
],
"iris.tests.test_plot.TestPcolormeshNoBounds.test_yx.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/bc7a1c32d3c366cdc785c39986cdc78ec792e7a6960d584939793c3438703873.png",
@@ -677,23 +687,27 @@
],
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_tx.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/fe8142f5c17ebd2cc16eb548954a9542916a347a915e60bd4afd68793f916296.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/ea853f10956ac5e1957a854e957a203e955e6aa76ae17aa16a856aaf6ab19e12.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea853f10956ac5e1957a854e957a203e955e6aa76ae17aa16a856aaf6ab19e12.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea853f10957a85e1957a854e957a203e955e6aa76ae17aa16a856a8f6ab1de12.png"
],
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_tx.1": [
"https://scitools.github.io/test-iris-imagehash/images/v4/fa8542b7b503b548857abd08857abd09945eed6b91d968c161b972d76aa462b5.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/fa8542b7b503b548857abd08857abd09945eed6a91d96ac163b972d36aa462b5.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/ea853a85857a857a957a857a957ad05a857b3e946a606b917a816f647a853af4.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea853a85857a857a957a857a957ad05a857b3e946a606b917a816f647a853af4.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea853a85957a857a957a857a957ac05ac56b3ac46ae16b817a816f647a853af4.png"
],
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_tx.2": [
"https://scitools.github.io/test-iris-imagehash/images/v4/8bf88f457a03b5307e16b561f007b53ed067217ac1786afec0f570bf8178681a.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/8bf98f057a03b5307e16b561f007b53ad067217ac1786afec0f570bf8178685a.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/eafdcec9bc219530b696a56694c2852a95656b7b81986acdc0e516adad186eda.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/eafdcec9f4219530b696a56694c3852a95656b7b85986acdc06516adad186e9a.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eafdcec9f4219530b696a56694c3852a95656b7b85986acdc06516adad186e9a.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eafd86c9f8219430fe96a56684c3852e95656b7b85b86acdc0e5162da5186eda.png"
],
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_tx.3": [
"https://scitools.github.io/test-iris-imagehash/images/v4/8ffe8f367e05952afe05a50b980ded4bd05d69c2c1fb71c1c06272f4d0a06af4.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/aff24ab7bd05952fbd0f950f914fcd48c47860f3e1b9329094266e345a850f6c.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/aff24ab7fd05952dbd0f950f914fcd40c47868f3e1b9329094266e345a850f6c.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/aff24ab7fd05952dbd0f950f914fcd40c47868f3e1b9329094266e345a850f6c.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/aff21eb6bd04952cbc0f950f914fedc1c0f961f3e1f9329084266e345a850f6c.png"
],
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_tx.4": [
"https://scitools.github.io/test-iris-imagehash/images/v4/aa953d0f85fab50fd0f2956a7a1785fafa176877d00f68f1d02c60f2f008d0f0.png",
@@ -701,13 +715,15 @@
"https://scitools.github.io/test-iris-imagehash/images/v4/ebeaa5419e95b5419e97950d6853953ee053617ad05560fad01570fef001dabe.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/ebfaa56f96a1856cd681a56ee8162d52e8467e12c50c7e8095ad7e0095ad03ff.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/eaa9b5699556854e9456854ed05625f9c0a92bfdc0a90afd81f97e00857e6af6.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/eaa9b5699556854e9456854ed05625f9d0a92bfdc0a90afd81f97e00855e7ab6.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eaa9b5699556854e9456854ed05625f9d0a92bfdc0a90afd81f97e00855e7ab6.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eaa9b5299d56854e9156856ed05625fdc0292bfdc0a90afd85b97e00857e6ad6.png"
],
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_tx.5": [
"https://scitools.github.io/test-iris-imagehash/images/v4/ebfaaf439e87b5019687b5019687b56ac05561fae07103fe6079687a607178f8.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/ebfa2d4b968795059e87970f6854697ae055697ac08561fad041d7aef001d6ae.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/eb7a3e0c978187a4950190bc6856687a607e687bc0fcc1e394acfc0197fc2bfb.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/eaf73e0d9503852c950395ac9528c1fad16cc0f2d1ec6af2c0ec6a536a1797f3.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eaf73e0d9503852c950395ac9528c1fad16cc0f2d1ec6af2c0ec6a536a1797f3.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eaf73e0c9402952c950195acd528c1fac1ecc1f3c1ec63f3c0ec6a536a179ff2.png"
],
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_x.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/aeb8b5095a87cd60386592d9ec97ad6dd23ca4f6d0797827f0096216c1f878e6.png",
@@ -815,7 +831,8 @@
],
"iris.tests.test_plot.TestPlotOtherCoordSystems.test_plot_tmerc.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/e63399cd99cd64b29999335965369b262649c98c9b3966c6998d3319ccd69333.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/e665326d999ecc9b3319b3246666cce69b496cccccc9669923193336666699a6.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/e665326d999ecc9b3319b3246666cce69b496cccccc9669923193336666699a6.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/e665326d999acc9b3319b3246666cce69b496cccccc966996719333666669986.png"
],
"iris.tests.test_plot.TestQuickplotPlot.test_t.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/83ffb5d67fd4e5962211d9c6a443da77d5389c8ed346d923d011d968dc00da48.png",
@@ -846,10 +863,12 @@
"https://scitools.github.io/test-iris-imagehash/images/v4/a3ffc1d87e00b49964179d28f16bce4b98724b268c6d58e1972e4874998b2e7e.png"
],
"iris.tests.test_plot.TestSimple.test_bounds.0": [
- "https://scitools.github.io/test-iris-imagehash/images/v4/ea856a85954a957ac17e954ac17a9c3e956ac07e3e80c07f3e857aa5c27d3f80.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea856a85954a957ac17e954ac17a9c3e956ac07e3e80c07f3e857aa5c27d3f80.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea856a85954a957ac17e954ac17a9d22956ac0fe3e81c07f3e857aa5c27d3f80.png"
],
"iris.tests.test_plot.TestSimple.test_points.0": [
- "https://scitools.github.io/test-iris-imagehash/images/v4/fa856a85957a957ac17e954ac17e1ca2950bc07e3e80c07f3e807a85c1ff3f81.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa856a85957a957ac17e954ac17e1ca2950bc07e3e80c07f3e807a85c1ff3f81.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa856a85957a957ac17e954ac17e0da2954bc07e3e81c07f3a806a85c1ff3f81.png"
],
"iris.tests.test_plot.TestSymbols.test_cloud_cover.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/e95a330c96a5ccf2695a330c96a5ccf2695a330c96b5ccf3694a330c96b5ccf3.png",
@@ -860,33 +879,40 @@
"https://scitools.github.io/test-iris-imagehash/images/v4/fa95350f952ad2f0c1f66ac1c55a4af4e550a52b3e05905e1e419e6f937e3b21.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/fa95350f952ad3f0c1f66a81e55a4af4e550a52b3e05905e1e419e6f937e1b21.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/be8137f4954ac03fc0ff3e81d03f496a6d00b4af3ea0c07f6fa232c0db7f2d00.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/be813fe0954ac07fc0ff3e81c03fc97a6d0094af3f80c17f36a53240d97f2d82.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/be813fe0954ac07fc0ff3e81c03fc97a6d0094af3f80c17f36a53240d97f2d82.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/be8137e0954ac05fc0ff3e81c07fc97a6d0094af3fa0c17f36a53244d97e2da0.png"
],
"iris.tests.test_quickplot.TestLabels.test_contour.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/a3fd956a7a01a5ee321fc96666919b6ec15fdca593600d2586785a259dfa5a01.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/a3fd956a7a01a5ee3217c9e66691996ec15fdca593680d2586785a259dfa5a01.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/a7fd95da7a01654a3217c962e4819a56c96f3c8593624da584da3b658db662db.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/a7fd955a7a016d1a3217c962e4819a56c96f3c859b624d2584de3a6999b662db.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/a7fd955a7a016d1a3217c962e4819a56c96f3c859b624d2584de3a6999b662db.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/a3fd95ea6a11258c3217c966e4019a56c96f3c859b62492584fe7a699db46adb.png"
],
"iris.tests.test_quickplot.TestLabels.test_contour.1": [
"https://scitools.github.io/test-iris-imagehash/images/v4/faa12bc1954ef43fc0bf9f02854a4ee48548c17a5ab5c17e7a0d7875a17e3a81.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/bf802f85c17fc17fc07eb42ac07f3f929130c07e3f80c07f7aa02e85c07f3e81.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/bf802f85c17fc17fc07eb42ac07f3f929130c07e3f80c07f7aa02e85c07f3e81.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/bf802e85c07fc17fc07eb42ac17f3f829161c06e3f81c07f7ba02e85c07f3e81.png"
],
"iris.tests.test_quickplot.TestLabels.test_contourf.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/fe812f88957a955a857a9257c17f7aa5c03dc0bf5a85c07e7f402d40a57a3f01.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/be816a95957a957ac0fe1e8bc07f7f806e01c07f3f80c07f3fa23f00c07f3d00.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/be816a95957a957ac0fe1e8bc07f7f806e01c07f3f80c07f3fa23f00c07f3d00.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/be816a85957a955ac0ff1e8bc07f7f806e01c07f3f80c07f3fa23f80c07f3d00.png"
],
"iris.tests.test_quickplot.TestLabels.test_contourf.1": [
"https://scitools.github.io/test-iris-imagehash/images/v4/faa12bc1954ef43fc0bf9f02854a4ee48548c17a5ab5c17e7a0d7875a17e3a81.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/bf802f85c17fc17fc07eb42ac07f3f929130c07e3f80c07f7aa02e85c07f3e81.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/bf802f85c17fc17fc07eb42ac07f3f929130c07e3f80c07f7aa02e85c07f3e81.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/bf802e85c07fc17fc07eb42ac17f3f829161c06e3f81c07f7ba02e85c07f3e81.png"
],
"iris.tests.test_quickplot.TestLabels.test_contourf.2": [
"https://scitools.github.io/test-iris-imagehash/images/v4/fa852f81955ac532c0bf9e89c57edae69357e13f4ea0c05a3f8561a4935a3e01.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/be816a95907ae508c17e955ac07f3fa0945bc07f3f80c07f3aa36f01c0ff3f80.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/be816a95907ae508c17e955ac07f3fa0945bc07f3f80c07f3aa36f01c0ff3f80.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/be816ab5907ae508c17e955ac07f3fa0945ac07f3f80c07f3aa32f81c0ff3f80.png"
],
"iris.tests.test_quickplot.TestLabels.test_contourf_nameless.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/faa52ec1955ac536c0bf9e09c57edae69357e13f4e80c0da2f81618493da3f01.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/be816af5907ee508c17e955ac03f3f809419c07f3f80c07f3a8b6f81c0ff3f80.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/be816af5907ee508c17e955ac03f3f809419c07f3f80c07f3a8b6f81c0ff3f80.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/be816ab5907ee508c17e975ac07f3fa09459c07f3f80c07f3a812f81c0ff3f80.png"
],
"iris.tests.test_quickplot.TestLabels.test_map.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/ea5e618434ac36e5c1c9369b95b39c38c3a39a4fcee19a6e9b64cb609925cd25.png",
@@ -902,36 +928,45 @@
],
"iris.tests.test_quickplot.TestLabels.test_pcolor.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/bb423d4e94a5c6b9c15adaadc1fb6a469c8de43a3e07904e5f016b57984e1ea1.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/eea16affc05ab500956e974ac53f3d80925ac03f2f81c07e3fa12da1c2fe3f80.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eea16affc05ab500956e974ac53f3d80925ac03f2f81c07e3fa12da1c2fe3f80.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eea16abfc05ab500956e974ac13f3da0925ac07f3fa1c07e3fa12da1c25e3f80.png"
],
"iris.tests.test_quickplot.TestLabels.test_pcolormesh.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/bb433d4e94a4c6b9c15adaadc1fb6a469c8de43a3e07904e5f016b57984e1ea1.png",
- "https://scitools.github.io/test-iris-imagehash/images/v4/eea16affc05ab500956e974ac53f3d80925ac03f3f81c07e3fa12da1c27e3f80.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eea16affc05ab500956e974ac53f3d80925ac03f3f81c07e3fa12da1c27e3f80.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eea16abfc05ab500956e974ac13f3da0925ac07f3fa1c07e3fa12da1c25e3f80.png"
],
"iris.tests.test_quickplot.TestLabels.test_pcolormesh_str_symbol.0": [
- "https://scitools.github.io/test-iris-imagehash/images/v4/eea16affc05ab500956e974ac53f3d80925ac03f3f80c07e3fa12da1c27f3f80.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eea16affc05ab500956e974ac53f3d80925ac03f3f80c07e3fa12da1c27f3f80.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eea16abfc05ab500956e974ac13f3da0925ac07f3fa1c07e3fa12da1c25e3f80.png"
],
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_non_cube_coordinate.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/fa816a85857a955ae17e957ec57e7a81855fc17e3a81c57e1a813a85c57a1a05.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/fe816a85857a957ac07f957ac07f3e80956ac07f3e80c07f3e813e85c07e3f80.png"
],
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_tx.0": [
- "https://scitools.github.io/test-iris-imagehash/images/v4/ea856a95955a956ac17f950a807e3f4c951ac07e3f81c0ff3ea16aa1c0bd3f81.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea856a95955a956ac17f950a807e3f4c951ac07e3f81c0ff3ea16aa1c0bd3f81.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/ea856a95955a954ac17f950ac07e3f44951ac07e3f81c0ff3ea16aa1c0ff3e81.png"
],
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_tx.1": [
- "https://scitools.github.io/test-iris-imagehash/images/v4/fa856a85957a957ac17e954ac17e1ca2950bc07e3e80c07f3e807a85c1ff3f81.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa856a85957a957ac17e954ac17e1ca2950bc07e3e80c07f3e807a85c1ff3f81.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/fa856a85957a957ac17e954ac17e0da2954bc07e3e81c07f3a806a85c1ff3f81.png"
],
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_tx.2": [
- "https://scitools.github.io/test-iris-imagehash/images/v4/eafdeec9f729943032168d66d4cb896e9567497b81304aedc96514ad8d18669a.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eafdeec9f729943032168d66d4cb896e9567497b81304aedc96514ad8d18669a.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eaf9a6c9f728943032168d66d4cb8d2e9567497b81304aedc9e51e2d9d186ada.png"
],
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_tx.3": [
- "https://scitools.github.io/test-iris-imagehash/images/v4/a6fb4b967f00950eb00f9d0f900fcd62dc7868f2c1bb3a909c266e34daa52f6c.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/a6fb4b967f00950eb00f9d0f900fcd62dc7868f2c1bb3a909c266e34daa52f6c.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/a6fa1e967f00950eb00f9d0f914fcdc2d560c9f3c1fb3a9084266e34daa52f6c.png"
],
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_tx.4": [
- "https://scitools.github.io/test-iris-imagehash/images/v4/eaa9b549f756854ea0168d6ed556896dd8e909ed88290afdd9e97e008d6e2296.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eaa9b549f756854ea0168d6ed556896dd8e909ed88290afdd9e97e008d6e2296.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/eaa9b529f756850ea0169566d1568d6dd86909ed88290afd9ded7e008d666ad6.png"
],
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_tx.5": [
- "https://scitools.github.io/test-iris-imagehash/images/v4/aad73e0df78085ac840395ac9428d9fad56cd8f2906c48f2d0ec7a536a1737f3.png"
+ "https://scitools.github.io/test-iris-imagehash/images/v4/aad73e0df78085ac840395ac9428d9fad56cd8f2906c48f2d0ec7a536a1737f3.png",
+ "https://scitools.github.io/test-iris-imagehash/images/v4/aad73e0cf710952c840195acd528c1e2d1ecc9f3c1ec49f3c1ec6a536a1737f3.png"
],
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_x.0": [
"https://scitools.github.io/test-iris-imagehash/images/v4/a6ffb5097e84cde2224598d1649f8d6cd2388c76d0799867d009da76c9f8d866.png",
@@ -1025,4 +1060,4 @@
"https://scitools.github.io/test-iris-imagehash/images/v4/82fe81987fdf77ffe0002addd4002805dd28df67d9a9d4625bfddc209841de20.png",
"https://scitools.github.io/test-iris-imagehash/images/v4/82fa80997f547799a0037a00d52f0956ddaf9f7e98a1816e09f5d8260bfffe00.png"
]
-}
+}
\ No newline at end of file
diff --git a/lib/iris/tests/test_basic_maths.py b/lib/iris/tests/test_basic_maths.py
index c4d7b51a06..2d045c684f 100644
--- a/lib/iris/tests/test_basic_maths.py
+++ b/lib/iris/tests/test_basic_maths.py
@@ -554,8 +554,8 @@ def test_square_root(self):
e = a ** 0.5
- self.assertArrayEqual(e.data, a.data ** 0.5)
- self.assertCML(e, ("analysis", "sqrt.cml"))
+ self.assertArrayAllClose(e.data, a.data ** 0.5)
+ self.assertCML(e, ("analysis", "sqrt.cml"), checksum=False)
self.assertRaises(ValueError, iris.analysis.maths.exponentiate, a, 0.3)
def test_type_error(self):
diff --git a/noxfile.py b/noxfile.py
index 7bfcc73dd7..dc365b59d7 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -19,7 +19,7 @@
PACKAGE = str("lib" / Path("iris"))
#: Cirrus-CI environment variable hook.
-PY_VER = os.environ.get("PY_VER", ["3.6", "3.7"])
+PY_VER = os.environ.get("PY_VER", ["3.6", "3.7", "3.8"])
#: Default cartopy cache directory.
CARTOPY_CACHE_DIR = os.environ.get("HOME") / Path(".local/share/cartopy")
diff --git a/requirements/ci/iris.yml b/requirements/ci/iris.yml
index e9adb956db..a76932b56e 120000
--- a/requirements/ci/iris.yml
+++ b/requirements/ci/iris.yml
@@ -1 +1 @@
-py37.yml
\ No newline at end of file
+py38.yml
\ No newline at end of file
diff --git a/requirements/ci/py38.yml b/requirements/ci/py38.yml
new file mode 100644
index 0000000000..da29d30d71
--- /dev/null
+++ b/requirements/ci/py38.yml
@@ -0,0 +1,51 @@
+name: iris-dev
+
+channels:
+ - conda-forge
+
+dependencies:
+ - python=3.8
+
+# Setup dependencies.
+ - setuptools>=40.8.0
+ - pyke
+
+# Core dependencies.
+ - cartopy>=0.18
+ - cf-units>=2
+ - cftime<1.3.0
+ - dask>=2
+ - matplotlib
+ - netcdf4
+ - numpy>=1.14
+ - python-xxhash
+ - scipy
+
+# Optional dependencies.
+ - esmpy>=7.0
+ - graphviz
+ - iris-sample-data
+ - mo_pack
+ - nc-time-axis
+ - pandas
+ - python-stratify
+ - pyugrid
+
+# Test dependencies.
+ - asv
+ - black=20.8b1
+ - filelock
+ - flake8
+ - imagehash>=4.0
+ - nose
+ - pillow<7
+ - pre-commit
+ - requests
+
+# Documentation dependencies.
+ - sphinx
+ - sphinxcontrib-napoleon
+ - sphinx-copybutton
+ - sphinx-gallery
+ - sphinx-panels
+ - sphinx_rtd_theme