Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions ci/requirements/readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,11 @@ dependencies:

# Without these, iris won't even import.

- cartopy>=0.12
- proj4<6
- cartopy>=0.18
- cf-units>=2
- cftime
- dask>=2
- matplotlib<3.3
- matplotlib
- netcdf4
- numpy>=1.14
- scipy
Expand Down
87 changes: 71 additions & 16 deletions docs/iris/src/whatsnew/latest.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,31 @@ Features

* Statistical operations :meth:`iris.cube.Cube.collapsed`,
:meth:`iris.cube.Cube.aggregated_by` and :meth:`iris.cube.Cube.rolling_window`
previously removed every :class:`iris.coord.CellMeasure` attached to the
cube. Now, a :class:`iris.coord.CellMeasure` will only be removed if it is
previously removed every :class:`iris.coord.CellMeasure` attached to the
cube. Now, a :class:`iris.coord.CellMeasure` will only be removed if it is
associated with an axis over which the statistic is being run.

* Supporting ``Iris`` for both ``Python2`` and ``Python3`` resulted in pinning our
dependency on `matplotlib`_ at ``v2.x``. Now that ``Python2`` support has
been dropped, ``Iris`` is free to use the latest version of `matplotlib`_.

* `CF Ancillary Data`_ variables are now supported.


Dependency Updates
==================

* Iris now supports the latest version of
`Proj <https://github.com/OSGeo/PROJ>`_.

* Iris now requires `Cartopy <https://github.com/SciTools/cartopy>`_ >= 0.18 in
order to remain compatible with the latest version of
`Matplotlib <https://github.com/matplotlib/matplotlib>`_.

* GDAL is removed from the extensions dependency group. We no longer consider it to
be an extension.


Bugs Fixed
==========

Expand All @@ -40,20 +54,32 @@ Bugs Fixed
``TypeError`` is still raised if a :class:`~iris.cube.Cube` is iterated over
but ``isinstance(cube, collections.Iterable)`` now behaves as expected.

* Concatenating cubes along an axis shared by cell measures would cause
concatenation to inappropriately fail. These cell measures are now
* Concatenating cubes along an axis shared by cell measures would cause
concatenation to inappropriately fail. These cell measures are now
concatenated together in the resulting cube.

* Copying a cube would previously ignore any attached
* Copying a cube would previously ignore any attached
:class:`~iris.coords.CellMeasure`. These are now copied over.

* A :class:`~iris.coords.CellMeasure` requires a string ``measure`` attribute
to be defined, which can only have a value of ``area`` or ``volume``.
to be defined, which can only have a value of ``area`` or ``volume``.
Previously, the ``measure`` was provided as a keyword argument to
:class:`~iris.coords.CellMeasure` with an default value of ``None``, which
:class:`~iris.coords.CellMeasure` with an default value of ``None``, which
caused a ``TypeError`` when no ``measure`` was provided. The default value
of ``area`` is now used.

* **All** plot types in `iris.plot` now use `matplotlib.dates.date2num
<https://matplotlib.org/api/dates_api.html#matplotlib.dates.date2num>`_
to format date/time coordinates for use on a plot axis (previously
:meth:`~iris.plot.pcolor` and :meth:`~iris.plot.pcolormesh` did not include
this behaviour).

* Date/time axis labels in `iris.quickplot` are now **always** based on the
``epoch`` used in `matplotlib.dates.date2num
<https://matplotlib.org/api/dates_api.html#matplotlib.dates.date2num>`_
(previously would take the unit from a time coordinate, if present, even
though the coordinate's value had been changed via ``date2num``).


Incompatible Changes
====================
Expand All @@ -77,12 +103,38 @@ Incompatible Changes
:mod:`iris.util` module. Please use the :func:`iris.util.equalise_attributes`
function instead.

* The :mod:`iris.experimental.concatenate` module has now been removed. In
* The :mod:`iris.experimental.concatenate` module has now been removed. In
``v1.6.0`` the experimental ``concatenate`` functionality was moved to the
:meth:`iris.cube.CubeList.concatenate` method. Since then, calling the
:func:`iris.experimental.concatenate.concatenate` function raised an
:func:`iris.experimental.concatenate.concatenate` function raised an
exception.

Internal
========

* Changed the numerical values in tests involving the Robinson projection due
to improvements made in `Proj <https://github.com/OSGeo/PROJ>`_ (see `proj#1292 <https://github.com/OSGeo/PROJ/pull/1292>`_ and `proj#2151 <https://github.com/OSGeo/PROJ/pull/2151>`_).

* Change tests to account for more detailed descriptions of projections in
`GDAL <https://github.com/OSGeo/gdal>`_ (`see GDAL#1185 <https://github.com/OSGeo/gdal/pull/1185>`_).

* Change tests to account for `GDAL <https://github.com/OSGeo/gdal>`_ now
saving fill values for data without masked points.

* Changed every graphics test that includes `Cartopy's coastlines
<https://scitools.org.uk/cartopy/docs/latest/matplotlib/
geoaxes.html?highlight=coastlines#cartopy.mpl.geoaxes.GeoAxes.coastlines>`_
to account for new adaptive coastline scaling (`see cartopy#1105
<https://github.com/SciTools/cartopy/pull/1105>`_).

* Changed graphics tests to account for some new default grid-line spacing in
`Cartopy <https://github.com/SciTools/cartopy>`_ (`part of cartopy#1117
<https://github.com/SciTools/cartopy/pull/1117>`_).

* Additional acceptable graphics test targets to account for very minor changes
in `Matplotlib <https://github.com/matplotlib/matplotlib>`_ version 3.3
(colormaps, fonts and axes borders).


Deprecations
============
Expand All @@ -101,26 +153,29 @@ Documentation
* Moved the :ref:`sphx_glr_generated_gallery_oceanography_plot_orca_projection.py`
from the general part of the gallery to oceanography.

* Updated documentation to use a modern sphinx theme and be served from
* Updated documentation to use a modern sphinx theme and be served from
https://scitools-iris.readthedocs.io/en/latest/.

* Added support for the `black <https://black.readthedocs.io/en/stable/>`_ code
formatter. This is now automatically checked on GitHub PRs, replacing the
* Added support for the `black <https://black.readthedocs.io/en/stable/>`_ code
formatter. This is now automatically checked on GitHub PRs, replacing the
older, unittest-based "iris.tests.test_coding_standards.TestCodeFormat".
Black provides automatic code format correction for most IDEs. See the new
Black provides automatic code format correction for most IDEs. See the new
developer guide section on :ref:`iris_code_format`.

* Refreshed the :ref:`whats_new_contributions` for the :ref:`iris_whatsnew`.
This includes always creating the ``latest`` what's new page so it appears
on the latest documentation at
https://scitools-iris.readthedocs.io/en/latest/whatsnew. This resolves
:issue:`2104` and :issue:`3451`. Also updated the
:issue:`2104` and :issue:`3451`. Also updated the
:ref:`iris_development_releases_steps` to follow when making a release.

* Enabled the PDF creation of the documentation on the `Read the Docs`_ service.
The PDF may be accessed by clicking on the version at the bottom of the side
bar, then selecting ``PDF`` from the ``Downloads`` section.

* Added a warning to the :func:`iris.analysis.cartography.project` function
regarding its behaviour on projections with non-rectangular boundaries.

.. _Read the Docs: https://scitools-iris.readthedocs.io/en/latest/
.. _matplotlib: https://matplotlib.org/
.. _CF Ancillary Data: https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html#ancillary-data
.. _CF Ancillary Data: https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html#ancillary-data