diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..c3e3c386a5 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,9 @@ +## 🚀 Pull Request + +### Description + + + + +--- +[Consult Iris pull request check list]( https://scitools-iris.readthedocs.io/en/latest/developers_guide/pulls.html#the-iris-check-list) diff --git a/docs/iris/src/developers_guide/documenting/docstrings.rst b/docs/iris/src/developers_guide/documenting/docstrings.rst index 641bf7717e..323d753a52 100644 --- a/docs/iris/src/developers_guide/documenting/docstrings.rst +++ b/docs/iris/src/developers_guide/documenting/docstrings.rst @@ -1,3 +1,5 @@ +.. _docstrings: + ========== Docstrings ========== @@ -7,8 +9,8 @@ appropriate docstring. This document has been influenced by the following PEP's, - * Attribute Docstrings `PEP-224 `_ - * Docstring Conventions `PEP-257 `_ + * Attribute Docstrings :pep:`224` + * Docstring Conventions :pep:`257` For consistency, always use ``"""triple double quotes"""`` around docstrings. Use ``r"""raw triple double quotes"""`` if you use any backslashes in your docstrings. For Unicode docstrings, use ``u"""Unicode triple-quoted string"""``. @@ -42,7 +44,7 @@ Here is a simple example of a standard docstring: This would be rendered as: .. currentmodule:: documenting.docstrings_sample_routine - + .. automodule:: documenting.docstrings_sample_routine :members: :undoc-members: diff --git a/docs/iris/src/developers_guide/documenting/whats_new_contributions.rst b/docs/iris/src/developers_guide/documenting/whats_new_contributions.rst index b4ca483075..b18a89ca66 100644 --- a/docs/iris/src/developers_guide/documenting/whats_new_contributions.rst +++ b/docs/iris/src/developers_guide/documenting/whats_new_contributions.rst @@ -10,8 +10,42 @@ document are written by the developer most familiar with the change made. The contribution should be included as part of the Iris Pull Request that introduces the change. -The ``latest.rst`` and the past release notes are kept in -``docs/iris/src/whatsnew/``. +The ``latest.rst`` and the past release notes are kept in +``docs/iris/src/whatsnew/``. If you are writing the first contribution after +an Iris release: **create the new** ``latest.rst`` by copying the content from +``latest.rst.template`` in the same directory. + +Since the `Contribution categories`_ include Internal changes, **all** Iris +Pull Requests should be accompanied by a "What's New" contribution. + + +Git Conflicts +============= + +If changes to ``latest.rst`` are being suggested in several simultaneous +Iris Pull Requests, Git will likely encounter merge conflicts. If this +situation is thought likely (large PR, high repo activity etc.): + +* PR author: Do not include a "What's New" entry. Mention in the PR text that a + "What's New" entry is pending + +* PR reviewer: Review the PR as normal. Once the PR is acceptable, ask that + a **new pull request** be created specifically for the "What's New" entry, + which references the main pull request and titled (e.g. for PR#9999): + + What's New for #9999 + +* PR author: create the "What's New" pull request + +* PR reviewer: once the "What's New" PR is created, **merge the main PR**. + (this will fix any `travis-ci`_ linkcheck errors where the links in the + "What's New" PR reference new features introduced in the main PR) + +* PR reviewer: review the "What's New" PR, merge once acceptable + +These measures should mean the suggested ``latest.rst`` changes are outstanding +for the minimum time, minimising conflicts and minimising the need to rebase or +merge from trunk. Writing a contribution @@ -22,28 +56,49 @@ which improved Iris in some way. As such, a single Iris Pull Request may contain multiple changes that are worth highlighting as contributions to the what's new document. +The appropriate contribution for a pull request might in fact be an addition or +change to an existing "What's New" entry. + Each contribution will ideally be written as a single concise bullet point -in a reStructuredText format with a trailing blank line. For example:: +in a reStructuredText format. Where possible do not exceed **column 80** and +ensure that any subsequent lines of the same bullet point are aligned with the +first. The content should target an Iris user as the audience. The required +content, in order, is as follows: - * Fixed :issue:`9999`. Lorem ipsum dolor sit amet, consectetur adipiscing - elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - +* Names of those who contributed the change. These should be their GitHub + display name, or if that is not available use their GitHub user name. Link + the name to their GitHub profile. E.g. + ```Bill Little `_ and + `tkknight `_ changed...`` -Note that this example also cites the related issue, optionally you may also -include the pull request using the notation ``:pull:`9999```. Where possible -do not exceed **column 80** and ensure that any subsequent lines -of the same bullet point is aligned with the first. +* The new/changed behaviour -The content of the bullet point should highlight the change that has been made -to Iris, targeting an Iris user as the audience. +* Context to the change. Possible examples include: what this fixes, why + something was added, issue references (e.g. ``:issue:`9999```), more specific + detail on the change itself. -For inspiration that may include adding links to code please examine past -what's :ref:`iris_whatsnew` entries. +* Pull request references, bracketed, following the final period. E.g. + ``(:pull:`1111`, :pull:`9999`)`` + +* A trailing blank line (standard reStructuredText bullet format) + +For example:: + + * `Bill Little `_ and + `tkknight `_ changed changed argument ``x`` + to be optional in :class:`~iris.module.class` and + :meth:`iris.module.method`. This allows greater flexibility as requested in + :issue:`9999`. (:pull:`1111`, :pull:`9999`) + + +The above example also demonstrates some of the possible syntax for including +links to code. For more inspiration on possible content and references, please +examine past what's :ref:`iris_whatsnew` entries. .. note:: The reStructuredText syntax will be checked as part of building - the documentation. Any warnings should be corrected. + the documentation. Any warnings should be corrected. `travis-ci`_ will automatically build the documentation when - creating a pull request, however you can also manually + creating a pull request, however you can also manually :ref:`build ` the documentation. .. _travis-ci: https://travis-ci.org/github/SciTools/iris @@ -64,12 +119,15 @@ users. To achieve this several categories may be used. *Incompatible Changes* A change that causes an incompatibility with prior versions of Iris. -*Internal* - Changes to any internal or development related topics, such as testing, - environment dependencies etc - *Deprecations* Deprecations of functionality. +*Dependencies* + Additions, removals and version changes in Iris' package dependencies. + *Documentation* Changes to documentation. + +*Internal* + Changes to any internal or development related topics, such as testing, + environment dependencies etc. diff --git a/docs/iris/src/developers_guide/pulls.rst b/docs/iris/src/developers_guide/pulls.rst index 366cedd159..26b55d693a 100644 --- a/docs/iris/src/developers_guide/pulls.rst +++ b/docs/iris/src/developers_guide/pulls.rst @@ -1,7 +1,7 @@ .. _pr_check: -Pull request check List +Pull request check list *********************** A pull request to a SciTools project master should be ready to merge into the @@ -10,7 +10,7 @@ master branch. All pull request will be reviewed by a core developer who will manage the process of merging. It is the responsibility of a developer submitting a pull request to do their best to deliver a pull request which meets the -requirements of the project it is submitted to. +requirements of the project it is submitted to. The check list summarises criteria which will be checked before a pull request is merged. Before submitting a pull request please consider this list. @@ -24,33 +24,26 @@ The Iris check list * the aim of the change ; the problem addressed ; a link to the issue. * how the change has been delivered. - * a "What's New" entry, submitted as a new file added in the pull request. - See `Contributing a "What's New" entry`_. + * a "What's New" entry - see :ref:`whats_new_contributions`. * Do all the tests pass locally? - * The Iris tests may be run with ``python setup.py test`` which has a command + * The Iris tests may be run with ``python setup.py test`` which has a command line utility included. * Have new tests been provided for all additional functionality? -* Do all modified and new source files pass PEP8? +* Do all modified and new source files conform to the required + :ref:`iris_code_format`? - * PEP8_ is the Python source code style guide. - * There is a python module for checking pep8 compliance: python-pep8_ - * a standard Iris test checks that all source files meet PEP8 compliance - (see "iris.tests.test_coding_standards.TestCodeFormat"). - -* Do all modified and new source files have a correct, up-to-date copyright - header? +* Do all modified and new source files have a correct copyright header? * a standard Iris test checks that all source files include a copyright - message, including the correct year of the latest change - (see "iris.tests.test_coding_standards.TestLicenseHeaders"). + message (see "iris.tests.test_coding_standards.TestLicenseHeaders"). * Has the documentation been updated to explain all new or changed features? - * refer to the developer guide on docstrings_ + * refer to the developer guide on :ref:`docstrings` * Have code examples been provided inside docstrings, where relevant? @@ -67,8 +60,7 @@ The Iris check list * Have you provided a "what's new" contribution? - * this should be done for all changes that affect API or behaviour. - See :ref:`whats_new_contributions` + * this should be done for **all** changes - see :ref:`whats_new_contributions` * Does the documentation build without errors? @@ -98,7 +90,7 @@ The Iris check list tests. * iris-sample-data_ is a github project containing all the data to support the gallery and examples. - * test-images-scitools_ is a github project containing reference plot images + * test-iris-imagehash_ is a github project containing reference plot images to support iris graphics tests : see :ref:`developer_graphics_tests`. * If new files are required by tests or code examples, they must be added to @@ -112,6 +104,4 @@ The Iris check list .. _conda: https://docs.conda.io/en/latest/ .. _iris-test-data: https://github.com/SciTools/iris-test-data .. _iris-sample-data: https://github.com/SciTools/iris-sample-data -.. _test-images-scitools: https://github.com/SciTools/test-images-scitools -.. _docstrings: http://scitools.org.uk/iris/docs/latest/developers_guide/documenting/docstrings.html -.. _Contributing a "What's New" entry: http://scitools.org.uk/iris/docs/latest/developers_guide/documenting/whats_new_contributions.html +.. _test-iris-imagehash: https://github.com/SciTools/test-iris-imagehash diff --git a/docs/iris/src/whatsnew/latest.rst b/docs/iris/src/whatsnew/latest.rst index 09bb5207d0..a0f1b9559e 100644 --- a/docs/iris/src/whatsnew/latest.rst +++ b/docs/iris/src/whatsnew/latest.rst @@ -13,84 +13,75 @@ This document explains the changes made to Iris for this release Features ======== -* The :mod:`~iris.fileformats.nimrod` module provides richer meta-data translation - when loading ``Nimrod`` data into cubes. This covers most known - operational use-cases. +* `Stephen Moseley`_ greatly enhanced the :mod:`~iris.fileformats.nimrod` + module to provide richer meta-data translation when loading ``Nimrod`` data + into cubes. This covers most known operational use-cases. (:pull:`3647`) -* 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 - associated with an axis over which the statistic is being run. +* `stephenworsley`_ improved the handling of :class:`iris.coord.CellMeasure` in + the statistical operations :meth:`iris.cube.Cube.collapsed`, + :meth:`iris.cube.Cube.aggregated_by` and + :meth:`iris.cube.Cube.rolling_window`. These 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. (:pull:`3549`) -* 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`_. +* `stephenworsley`_, `Patrick Peglar`_ and `abooton`_ added support for + `CF Ancillary Data`_ variables, which can be loaded from and saved to + NetCDF-CF files. Support for `Quality Flags`_ is also provided to ensure they + load and save with appropriate units. (:pull:`3800`) -* `CF Ancillary Data`_ variables are now supported, and can be loaded from and - saved to NetCDF-CF files. Support for `Quality Flags`_ is also provided to - ensure they load and save with appropriate units. See :pull:`3800`. +* `Bouwe Andela`_ implemented lazy regridding for the + :class:`~iris.analysis.Linear`, :class:`~iris.analysis.Nearest`, and + :class:`~iris.analysis.AreaWeighted` regridding schemes. (:pull:`3701`) -* Lazy regridding with the :class:`~iris.analysis.Linear`, - :class:`~iris.analysis.Nearest`, and - :class:`~iris.analysis.AreaWeighted` regridding schemes. - See :pull:`3701`. - - -Dependency Updates -================== - -* Iris now supports the latest version of `Proj `_. - -* Iris now requires `Cartopy `_ >= 0.18 in - order to remain compatible with the latest version of `Matplotlib`_. - -* GDAL is removed from the extensions dependency group. We no longer consider it to - be an extension. - -* Configuring Iris and :ref:`installing_from_source` as a developer, with all the - required package dependencies is now easier with our curated conda environment - YAML files. See :pull:`3812`. Bugs Fixed ========== -* The method :meth:`~iris.Cube.cube.remove_coord` would fail to remove derived - coordinates, will now remove derived coordinates by removing aux_factories. +* `stephenworsley`_ fixed :meth:`~iris.Cube.cube.remove_coord` to now also + remove derived coordinates by removing aux_factories. (:pull:`3641`) -* The ``__iter__()`` method in :class:`~iris.cube.Cube` was set to ``None``. - ``TypeError`` is still raised if a :class:`~iris.cube.Cube` is iterated over - but ``isinstance(cube, collections.Iterable)`` now behaves as expected. +* `Jon Seddon`_ fixed ``isinstance(cube, collections.Iterable)`` to now behave + as expected if a :class:`~iris.cube.Cube` is iterated over, while also + ensuring that ``TypeError`` is still raised. (Fixed by setting the + ``__iter__()`` method in :class:`~iris.cube.Cube` to ``None``). + (:pull:`3656`) -* 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. +* `stephenworsley`_ enabled cube concatenation along an axis shared by cell + measures; these cell measures are now concatenated together in the resulting + cube. Such a scenario would previously cause concatenation to inappropriately + fail. (:pull:`3566`) -* Copying a cube would previously ignore any attached - :class:`~iris.coords.CellMeasure`. These are now copied over. +* `stephenworsley`_ newly included :class:`~iris.coords.CellMeasure`s in + :class:`~iris.cube.Cube` copy operations. Previously copying a + :class:`~iris.cube.Cube` would ignore any attached + :class:`~iris.coords.CellMeasure`. (:pull:`3546`) -* A :class:`~iris.coords.CellMeasure` requires a string ``measure`` attribute - to be defined, which can only have a value of ``area`` or ``volume``. +* `Bill Little`_ set a :class:`~iris.coords.CellMeasure`'s + ``measure`` attribute to have a default value of ``area``. Previously, the ``measure`` was provided as a keyword argument to - :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. + :class:`~iris.coords.CellMeasure` with a default value of ``None``, which + caused a ``TypeError`` when no ``measure`` was provided, since ``area`` or + ``volume`` are the only accepted values. (:pull:`3533`) -* **All** plot types in `iris.plot` now use `matplotlib.dates.date2num +* `Martin Yeo`_ set **all** plot types in `iris.plot` to now use + `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). + this behaviour). (:pull:`3762`) -* Date/time axis labels in `iris.quickplot` are now **always** based on the - ``epoch`` used in `matplotlib.dates.date2num +* `Martin Yeo`_ changed date/time axis labels in `iris.quickplot` to now + **always** be based on the ``epoch`` used in `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``). + (:pull:`3762`) -* Attributes of cell measures in NetCDF-CF files were being discarded during - loading. They are now available on the :class:`~iris.coords.CellMeasure` in - the loaded :class:`~iris.cube.Cube`. See :pull:`3800`. +* `Patrick Peglar`_ newly included attributes of cell measures in NETCDF-CF + file loading; they were previously being discarded. They are now available on + the :class:`~iris.coords.CellMeasure` in the loaded :class:`~iris.cube.Cube`. + (:pull:`3800`) * the netcdf loader can now handle any grid-mapping variables with missing ``false_easting`` and ``false_northing`` properties, which was previously @@ -101,7 +92,10 @@ Bugs Fixed Incompatible Changes ==================== -* The method :meth:`~iris.cube.CubeList.extract_strict`, and the ``strict`` +* `Patrick Peglar`_ rationalised :class:`~iris.cube.CubeList` extraction + methods: + + The method :meth:`~iris.cube.CubeList.extract_strict`, and the ``strict`` keyword to :meth:`~iris.cube.CubeList.extract` method have been removed, and are replaced by the new routines :meth:`~iris.cube.CubeList.extract_cube` and :meth:`~iris.cube.CubeList.extract_cubes`. @@ -111,25 +105,26 @@ Incompatible Changes consistent : :meth:`~iris.cube.CubeList.extract_cube` always returns a :class:`~iris.cube.Cube`, and :meth:`~iris.cube.CubeList.extract_cubes` always returns an :class:`iris.cube.CubeList` of a length equal to the - number of constraints. + number of constraints. (:pull:`3715`) -* The former function ``iris.analysis.coord_comparison`` has been removed. +* `Patrick Peglar`_ removed the former function + ``iris.analysis.coord_comparison``. (:pull:`3562`) -* The :func:`iris.experimental.equalise_cubes.equalise_attributes` function - has been moved from the :mod:`iris.experimental` module into the - :mod:`iris.util` module. Please use the :func:`iris.util.equalise_attributes` - function instead. +* `Bill Little`_ moved the + :func:`iris.experimental.equalise_cubes.equalise_attributes` function from + the :mod:`iris.experimental` module into the :mod:`iris.util` module. Please + use the :func:`iris.util.equalise_attributes` function instead. + (:pull:`3527`) -* The :mod:`iris.experimental.concatenate` module has now been removed. In +* `Bill Little`_ removed the :mod:`iris.experimental.concatenate` module. 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 - exception. + exception. (:pull:`3523`) -* When loading data from NetCDF-CF files, where a variable has no ``units`` - property, the corresponding Iris object will have ``units='unknown'``. - Prior to Iris ``3.0.0``, these cases defaulted to ``units='1'``. - See :pull:`3795`. +* `stephenworsley`_ changed Iris objects loaded from NetCDF-CF files to have + ``units='unknown'`` where the corresponding NetCDF variable has no ``units`` + property. Previously these cases defaulted to ``units='1'``. (:pull:`3795`) * `Simon Peatman `_ added attribute ``var_name`` to coordinates created by the @@ -137,79 +132,146 @@ Incompatible Changes duplicate coordinate errors in certain circumstances. (:pull:`3718`). -Internal -======== +Deprecations +============ -* Changed the numerical values in tests involving the Robinson projection due - to improvements made in `Proj `_ (see - `proj#1292 `_ and - `proj#2151 `_). +* `stephenworsley`_ removed the deprecated :class:`iris.Future` flags + ``cell_date_time_objects``, ``netcdf_promote``, ``netcdf_no_unlimited`` and + ``clip_latitudes``. (:pull:`3459`) -* Change tests to account for more detailed descriptions of projections in - `GDAL `_ - (`see GDAL#1185 `_). +* `stephenworsley`_ changed :attr:`iris.fileformats.pp.PPField.lbproc` to be an + ``int``. The deprecated attributes ``flag1``, ``flag2`` etc. have been + removed from it. (:pull:`3461`). -* Change tests to account for `GDAL `_ now - saving fill values for data without masked points. -* Changed every graphics test that includes `Cartopy's coastlines - `_ - to account for new adaptive coastline scaling (`see cartopy#1105 - `_). +Dependencies +============ -* Changed graphics tests to account for some new default grid-line spacing in - `Cartopy `_ (`part of cartopy#1117 - `_). -* Additional acceptable graphics test targets to account for very minor changes - in `Matplotlib`_ version 3.3 (colormaps, fonts and axes borders). +* `stephenworsley`_, `Martin Yeo`_ and `Bill Little`_ removed ``Python2`` + support, modernising the codebase by switching to exclusive ``Python3`` + support. (:pull:`3513`) +* `Bill Little`_ improved the developer set up process. Configuring Iris and + :ref:`installing_from_source` as a developer with all the required package + dependencies is now easier with our curated conda environment YAML files. + (:pull:`3812`) -Deprecations -============ +* `stephenworsley`_ pinned Iris to require Dask >= 2.0. (:pull:`3460`) -* The deprecated :class:`iris.Future` flags ``cell_date_time_objects``, - ``netcdf_promote``, ``netcdf_no_unlimited`` and ``clip_latitudes`` have - been removed. +* `stephenworsley`_ and `Martin Yeo`_ pinned Iris to require + `Cartopy `_ >= 0.18, in + order to remain compatible with the latest version of `Matplotlib`_. + (:pull:`3762`) -* :attr:`iris.fileformats.pp.PPField.lbproc` is now an ``int``. The - deprecated attributes ``flag1``, ``flag2`` etc. have been removed from it. +* `Bill Little`_ unpinned Iris to use the latest version of `Matplotlib`_. + Supporting ``Iris`` for both ``Python2`` and ``Python3`` had resulted in + pinning our dependency on `Matplotlib`_ at ``v2.x``. But this is no longer + necessary now that ``Python2`` support has been dropped. (:pull:`3468`) + +* `stephenworsley`_ and `Martin Yeo`_ unpinned Iris to use the latest version + of `Proj `_. (:pull:`3762`) + +* `stephenworsley`_ and `Martin Yeo`_ removed GDAL from the extensions + dependency group. We no longer consider it to be an extension. (:pull:`3762`) Documentation ============= -* Moved the :ref:`sphx_glr_generated_gallery_oceanography_plot_orca_projection.py` - from the general part of the gallery to oceanography. +* `tkknight`_ moved the + :ref:`sphx_glr_generated_gallery_oceanography_plot_orca_projection.py` + from the general part of the gallery to oceanography. (:pull:`3761`) + +* `tkknight`_ updated documentation to use a modern sphinx theme and be + served from https://scitools-iris.readthedocs.io/en/latest/. (:pull:`3752`) + +* `Bill Little`_ added support for the + `black `_ 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 developer guide section on + :ref:`iris_code_format`. (:pull:`3518`) + +* `tkknight`_ and `Martin Yeo`_ 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`, :issue:`3451`, :issue:`3818`, :issue:`3837`. Also updated the + :ref:`iris_development_releases_steps` to follow when making a release. + (:pull:`3769`, :pull:`3838`, :pull:`3843`) -* Updated documentation to use a modern sphinx theme and be served from - https://scitools-iris.readthedocs.io/en/latest/. +* `tkknight`_ 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. (:pull:`3765`) -* Added support for the `black `_ 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 - developer guide section on :ref:`iris_code_format`. +* `stephenworsley`_ added a warning to the + :func:`iris.analysis.cartography.project` function regarding its behaviour on + projections with non-rectangular boundaries. (:pull:`3762`) -* 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 - :ref:`iris_development_releases_steps` to follow when making a release. +* `stephenworsley`_ added the :ref:`cube_maths_combining_units` section to the + user guide to clarify how ``Units`` are handled during cube arithmetic. + (:pull:`3803`) + + +Internal +======== + +* `Patrick Peglar`_ and `lbdreyer`_ removed all test dependencies on + `SciTools/iris-grib `_ by transferring + all relevant content to the iris-grib repository. (:pull:`3662`, + :pull:`3663`, :pull:`3664`, :pull:`3665`, :pull:`3666`, :pull:`3669`, + :pull:`3670`, :pull:`3671`, :pull:`3672`, :pull:`3742`, :pull:`3746`) + +* `lbdreyer`_ and `Patrick Peglar`_ overhauled the handling of dimensional + metadata to remove duplication. (:pull:`3422`, :pull:`3551`) + +* `Martin Yeo`_ simplified the standard license header for all files, which + removes the need to repeatedly update year numbers in the header. + (:pull:`3489`) + +* `stephenworsley`_ changed the numerical values in tests involving the + Robinson projection due to improvements made in + `Proj `_. (:pull:`3762`) (see also + `proj#1292 `_ and + `proj#2151 `_) + +* `stephenworsley`_ changed tests to account for more detailed descriptions of + projections in `GDAL `_. (:pull:`3762`) + (`see also GDAL#1185 `_) + +* `stephenworsley`_ changed tests to account for + `GDAL `_ now saving fill values for data + without masked points. (:pull:`3762`) + +* `Martin Yeo`_ changed every graphics test that includes `Cartopy's coastlines + `_ + to account for new adaptive coastline scaling. (:pull:`3762`) (`see also + cartopy#1105 `_) -* 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. +* `Martin Yeo`_ changed graphics tests to account for some new default + grid-line spacing in `Cartopy `_. + (:pull:`3762`) + (`see also cartopy#1117 `_) -* Added a warning to the :func:`iris.analysis.cartography.project` function - regarding its behaviour on projections with non-rectangular boundaries. +* `Martin Yeo`_ added additional acceptable graphics test targets to account + for very minor changes in `Matplotlib`_ version 3.3 (colormaps, fonts and + axes borders). (:pull:`3762`) -* Added the :ref:`cube_maths_combining_units` section to the user guide to - clarify how ``Units`` are handled during cube arithmetic. .. _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 .. _Quality Flags: https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html#flags +.. _Stephen Moseley: https://github.com/MoseleyS +.. _stephenworsley: https://github.com/stephenworsley +.. _Patrick Peglar: https://github.com/pp-mo +.. _abooton: https://github.com/abooton +.. _Bouwe Andela: https://github.com/bouweandela +.. _Bill Little: https://github.com/bjlittle +.. _Martin Yeo: https://github.com/trexfeathers +.. _Jon Seddon: https://github.com/jonseddon +.. _tkknight: https://github.com/tkknight +.. _lbdreyer: https://github.com/lbdreyer diff --git a/docs/iris/src/whatsnew/latest.rst.template b/docs/iris/src/whatsnew/latest.rst.template index 82f87d9e5a..5a7ec9c1da 100644 --- a/docs/iris/src/whatsnew/latest.rst.template +++ b/docs/iris/src/whatsnew/latest.rst.template @@ -34,13 +34,13 @@ Dependencies * N/A -Internal -======== +Documentation +============= * N/A -Documentation -============= +Internal +======== -* N/A \ No newline at end of file +* N/A