Repository: SciTools/iris (language: python)

Issue:
Document how to suppress warnings
Needs #5472

Explain to users how they can get Iris' warnings to work for **them** - only showing the warnings they need, either via Python scripts or command line configuration.

[User Guide](https://scitools-iris.readthedocs.io/en/stable/userguide/index.html)? [Further Topics](https://scitools-iris.readthedocs.io/en/stable/further_topics/metadata.html)? Somewhere else?

## Some notes from @bjlittle

- Standard warnings filter initialisation through:
  - Python CLI e.g., [python –W ](https://docs.python.org/3/using/cmdline.html)[arg](https://docs.python.org/3/using/cmdline.html)
  - Python environment variable [PYTHONWARNINGS](https://docs.python.org/3/using/cmdline.html)
  - Convenient shorthand e.g., -Wi and -Wd
- Use of [–W](https://docs.python.org/3/using/cmdline.html) and [PYTHONWARNINGS](https://docs.python.org/3/using/cmdline.html) allows user warnings control with no code changes
- Can interpret warnings customisation through [sys.warnoptions](https://docs.python.org/3/library/sys.html) (unparsed)
- Warnings filter specifications action:message:category:module:line
- There are several types of [warnings filter action](https://docs.python.org/3/library/warnings.html)

Categorise warnings
## 🚀 Pull Request

### Description
<!-- Provide a clear description about your awesome pull request -->
<!-- Tell us all about your new feature, improvement, or bug fix -->

Closes #5472 

### To do

- [x] Actually categorise all the warnings!
- [x] Ensure we have test coverage for the new subcategories by editing existing tests
  - Is this appropriate to do in a second PR?
  - If we lose coverage because there are NO existing tests for a certain warning, should we be writing new tests for that warning or is that scope creep?

---
[Consult Iris pull request check list]( https://scitools-iris.readthedocs.io/en/latest/developers_guide/contributing_pull_request_checklist.html)



Discussion / hints:

f4e6a35d8b37b43e412b74b8f4a6a517358b23b6

I _think_ I got all of them. Unfortunately the regex test I wrote doesn't cope with any nested brackets in a `warn()` call, so that will still fail. Any suggestions for how else to achieve the below test?

https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/tests/test_coding_standards.py#L137-L181
| Location                                                                                                                                                                                                                                           | Warnings                                                                                                                                                                                                                                                                   |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`fileformats/netcdf/saver.py`  \|  ?](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/saver.py#L2612)                                                                                  | [`IrisUserWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L190),                                                                                                                                           |
| [`_concatenate.py`  \|  Overlap on concatenate axis](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/_concatenate.py#L1002)                                                                                | [`IrisUserWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L190),                                                                                                                                           |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L445)                                                                                           | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L526)                                                                                           | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L535)                                                                                           | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L603)                                                                                           | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L691)                                                                                           | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L749)                                                                                           | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L818)                                                                                           | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L910)                                                                                           | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L1027)                                                                                          | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L1204)                                                                                          | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L1287)                                                                                          | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L1370)                                                                                          | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L1467)                                                                                          | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L1568)                                                                                          | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L1664)                                                                                          | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L1769)                                                                                          | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L1870)                                                                                          | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`aux_factory.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/aux_factory.py#L1971)                                                                                          | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`config.py`  \|  Ignoring config](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/config.py#L150)                                                                                                         | [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216),                                                                                                                                       |
| [`config.py`  \|  Invalid value / defaulting](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/config.py#L259)                                                                                              | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227),                                                                                                                                     |
| [`coord_systems.py`  \|  inverse_flattening limited effect](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/coord_systems.py#L454)                                                                         | [`IrisUserWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L190),                                                                                                                                           |
| [`coord_systems.py`  \|  Discard false_easting/northing](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/coord_systems.py#L821)                                                                            | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227),                                                                                                                                     |
| [`coords.py`  \|  Guessing bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/coords.py#L2058)                                                                                                        | [`IrisGuessBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L340),                                                                                                                                    |
| [`coords.py`  \|  Metadata not fully descriptive](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/coords.py#L2228)                                                                                         | [`IrisVagueMetadataWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L238),                                                                                                                                  |
| [`coords.py`  \|  Disregarding bounds (Metadata not fully descriptive)](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/coords.py#L2241)                                                                   | [`IrisVagueMetadataWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L238),                                                                                                                                  |
| [`coords.py`  \|  Metadata not fully descriptive](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/coords.py#L2252)                                                                                         | [`IrisVagueMetadataWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L238),                                                                                                                                  |
| [`cube.py`  \|  Collapsing without weighting](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/cube.py#L3860)                                                                                               | [`IrisUserWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L190),                                                                                                                                           |
| [`cube.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/cube.py#L4448)                                                                                                        | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`iterate.py`  \|  Coordinate values differ (but matching definitions)](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/iterate.py#L166)                                                                   | [`IrisUserWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L190),                                                                                                                                           |
| [`pandas.py`  \|  Pandas structure is series](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/pandas.py#L450)                                                                                              | [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216),                                                                                                                                       |
| [`plot.py`  \|  Plotting module might not be supported](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/plot.py#L2026)                                                                                     | [`IrisUnsupportedPlottingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L244),                                                                                                                            |
| [`plot.py`  \|  Plotting function might not be supported](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/plot.py#L2035)                                                                                   | [`IrisUnsupportedPlottingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L244),                                                                                                                            |
| [`analysis/_regrid.py`  \|  Dropped coordinates prevent update](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/_regrid.py#L1140)                                                                 | [`IrisImpossibleUpdateWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L250),                                                                                                                               |
| [`analysis/calculus.py`  \|  Circular mismatch](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/calculus.py#L89)                                                                                  | [`IrisUserWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L190),                                                                                                                                           |
| [`analysis/cartography.py`  \|  Assuming spherical Earth from ellipsoid](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/cartography.py#L404)                                                     | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227),                                                                                                                                     |
| [`analysis/cartography.py`  \|  Assuming spherical Earth from ellipsoid](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/cartography.py#L413)                                                     | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227),                                                                                                                                     |
| [`analysis/cartography.py`  \|  Default spherical Earth radius](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/cartography.py#L419)                                                              | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227),                                                                                                                                     |
| [`analysis/cartography.py`  \|  Clipping out of range latitude](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/cartography.py#L560)                                                              | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227),                                                                                                                                     |
| [`analysis/cartography.py`  \|  Defaulting coordinate system](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/cartography.py#L675)                                                                | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227),                                                                                                                                     |
| [`analysis/cartography.py`  \|  Discarding coordinates](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/cartography.py#L864)                                                                      | [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216),                                                                                                                                       |
| [`analysis/geometry.py`  \|  Geometry exceeds dimension](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/geometry.py#L75)                                                                         | [`IrisGeometryExceedWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L262),                                                                                                                                 |
| [`analysis/geometry.py`  \|  Geometry exceeds dimension](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/geometry.py#L85)                                                                         | [`IrisGeometryExceedWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L262),                                                                                                                                 |
| [`analysis/geometry.py`  \|  Geometry exceeds dimension](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/geometry.py#L95)                                                                         | [`IrisGeometryExceedWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L262),                                                                                                                                 |
| [`analysis/geometry.py`  \|  Geometry exceeds dimension](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/geometry.py#L105)                                                                        | [`IrisGeometryExceedWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L262),                                                                                                                                 |
| [`analysis/maths.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/analysis/maths.py#L989)                                                                                     | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324),                                                                                                                                 |
| [`experimental/regrid.py`  \|  Dropped coordinates prevent update](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/experimental/regrid.py#L542)                                                            | [`IrisImpossibleUpdateWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L250),                                                                                                                               |
| [`fileformats/_ff.py`  \|  Assuming standard c grid](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_ff.py#L437)                                                                              | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227), [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198)     |
| [`fileformats/_ff.py`  \|  Incorrect coordinates used](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_ff.py#L563)                                                                            | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198),                                                                                                                                           |
| [`fileformats/_ff.py`  \|  bdy below zero](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_ff.py#L633)                                                                                        | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198),                                                                                                                                           |
| [`fileformats/_ff.py`  \|  Assuming P grid](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_ff.py#L746)                                                                                       | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227), [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198)     |
| [`fileformats/_ff.py`  \|  Picking P position as cell type](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_ff.py#L770)                                                                       | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227), [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198)     |
| [`fileformats/_ff.py`  \|  Partially missing coord values](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_ff.py#L781)                                                                        | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198),                                                                                                                                           |
| [`fileformats/_ff.py`  \|  Skipped field](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_ff.py#L829)                                                                                         | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198),                                                                                                                                           |
| [`tests/graphics/idiff.py`  \|  Ignoring unregistered test result](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/tests/graphics/idiff.py#L160)                                                           | [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216),                                                                                                                                       |
| [`fileformats/name_loaders.py`  \|  Unknown units](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/name_loaders.py#L276)                                                                       | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198),                                                                                                                                           |
| [`fileformats/name_loaders.py`  \|  Unable to create cell method](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/name_loaders.py#L614)                                                        | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198),                                                                                                                                           |
| [`fileformats/nimrod_load_rules.py`  \|  Unhandled units recorded](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/nimrod_load_rules.py#L190)                                                  | [`IrisNimrodTranslationWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L364),                                                                                                                              |
| [`fileformats/nimrod_load_rules.py`  \|  Incomplete coordinate reference system](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/nimrod_load_rules.py#L428)                                    | [`IrisNimrodTranslationWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L364),                                                                                                                              |
| [`fileformats/nimrod_load_rules.py`  \|  Assuming vertical coord type](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/nimrod_load_rules.py#L553)                                              | [`IrisNimrodTranslationWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L364),                                                                                                                              |
| [`fileformats/nimrod_load_rules.py`  \|  No default units, metdata may be incomplete](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/nimrod_load_rules.py#L843)                               | [`IrisNimrodTranslationWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L364),                                                                                                                              |
| [`fileformats/pp.py`  \|  Mask value match](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/pp.py#L1170)                                                                                       | [`IrisMaskValueMatchWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L268), [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198) |
| [`fileformats/pp.py`  \|  Downcasting array precision](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/pp.py#L1298)                                                                            | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227), [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198)     |
| [`fileformats/pp.py`  \|  Missing landmask decompression](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/pp.py#L1744)                                                                         | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198),                                                                                                                                           |
| [`fileformats/pp.py`  \|  Uninterpretable field / skipping rest of file](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/pp.py#L1917)                                                          | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198), [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216)       |
| [`fileformats/pp.py`  \|  Inconsistent fields / skipping rest of file](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/pp.py#L1940)                                                            | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198), [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216)       |
| [`fileformats/pp_save_rules.py`  \|  PP conditional warning](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/pp_save_rules.py#L894)                                                            | [`IrisPpClimModifiedWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L348),                                                                                                                                 |
| [`fileformats/rules.py`  \|  Multiple reference cubes](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/rules.py#L49)                                                                           | [`IrisUserWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L190),                                                                                                                                           |
| [`fileformats/rules.py`  \|  Ignoring invalid units (PP)](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/rules.py#L333)                                                                       | [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216),                                                                                                                                       |
| [`fileformats/rules.py`  \|  Unable to create factory](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/rules.py#L354)                                                                          | [`IrisUserWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L190),                                                                                                                                           |
| [`fileformats/_nc_load_rules/actions.py`  \|  Ignoring unrecognised formula](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/actions.py#L476)                                   | [`IrisCfLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L277), [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216)     |
| [`fileformats/_nc_load_rules/actions.py`  \|  Skipping some hybrid factories / hybrid coords sharing variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/actions.py#L497) | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198), [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216)       |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Cell methods may be incorrectly parsed](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L260)                          | [`IrisCfLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L277),                                                                                                                                         |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Cell methods not fully parsed](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L283)                                   | [`IrisCfLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L277),                                                                                                                                         |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Skipping global attribute](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L450)                                       | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198), [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216)       |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Rotated pole not fully specified](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L532)                                | [`IrisCfLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L277),                                                                                                                                         |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Ignoring invalid units](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L882)                                          | [`IrisCfLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L277), [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216)     |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Ignoring climatology](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L975)                                            | [`IrisCfLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L277), [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216)     |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Filling masked points](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1040)                                          | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227), [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198)     |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Filling masked points](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1056)                                          | [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227), [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198)     |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Demoting to aux coord](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1127)                                          | [`IrisCfLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L277), [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227)   |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Skipped coord - could not add](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1148)                                  | [`IrisCannotAddWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L332),                                                                                                                                      |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Skipped coord - could not add](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1148)                                  | [`IrisCannotAddWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L332),                                                                                                                                      |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Skipped coord - could not add](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1243)                                  | [`IrisCannotAddWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L332),                                                                                                                                      |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Skipped cell measure - could not add](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1297)                           | [`IrisCannotAddWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L332),                                                                                                                                      |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Skipped ancil var - could not add](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1297)                              | [`IrisCannotAddWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L332),                                                                                                                                      |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Invalid coord parameter](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1567)                                        | [`IrisCfInvalidCoordParamWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L289),                                                                                                                            |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Invalid coord parameter](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1600)                                        | [`IrisCfInvalidCoordParamWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L289),                                                                                                                            |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Invalid coord parameter](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1610)                                        | [`IrisCfInvalidCoordParamWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L289),                                                                                                                            |
| [`fileformats/_nc_load_rules/helpers.py`  \|  Invalid coord parameter](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/_nc_load_rules/helpers.py#L1618)                                        | [`IrisCfInvalidCoordParamWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L289),                                                                                                                            |
| [`fileformats/netcdf/loader.py`  \|  Coordinate not found](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/loader.py#L354)                                                              | [`IrisFactoryCoordNotFoundWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L356),                                                                                                                           |
| [`fileformats/netcdf/loader.py`  \|  Disregarding bounds](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/loader.py#L398)                                                               | [`IrisIgnoringBoundsWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L324), [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198) |
| [`fileformats/netcdf/loader.py`  \|  AuxFactory loading problem](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/loader.py#L595)                                                        | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198),                                                                                                                                           |
| [`fileformats/netcdf/saver.py`  \|  Mask value match](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/saver.py#L368)                                                                    | [`IrisMaskValueMatchWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L268),                                                                                                                                 |
| [`fileformats/netcdf/saver.py`  \|  No cf patch defined](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/saver.py#L748)                                                                 | [`IrisCfSaveWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L283),                                                                                                                                         |
| [`fileformats/netcdf/saver.py`  \|  Can't determine formula terms](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/saver.py#L1159)                                                      | [`IrisSaveWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L204),                                                                                                                                           |
| [`fileformats/netcdf/saver.py`  \|  Unsupported coord system](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/saver.py#L2141)                                                           | [`IrisSaveWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L204),                                                                                                                                           |
| [`fileformats/netcdf/saver.py`  \|  Unsupported coord system](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/saver.py#L2210)                                                           | [`IrisSaveWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L204),                                                                                                                                           |
| [`fileformats/netcdf/saver.py`  \|  Must be global attribute](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/saver.py#L2378)                                                           | [`IrisCfSaveWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L283),                                                                                                                                         |
| [`fileformats/netcdf/saver.py`  \|  No cf patch conventions defined](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/netcdf/saver.py#L2932)                                                    | [`IrisCfSaveWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L283),                                                                                                                                         |
| [`fileformats/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L284)                                                                                     | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`fileformats/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L330)                                                                                     | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`fileformats/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L379)                                                                                     | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`fileformats/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L454)                                                                                     | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`fileformats/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L597)                                                                                     | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`fileformats/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L663)                                                                                     | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`fileformats/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L705)                                                                                     | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`fileformats/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L879)                                                                                     | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`fileformats/cf.py`  \|  Recommend NetCDF4](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L1091)                                                                                      | [`IrisLoadWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L198),                                                                                                                                           |
| [`fileformats/cf.py`  \|  Non-spanning dimensions / ignoring variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L1235)                                                            | [`IrisCfNonSpanningVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L313),                                                                                                                               |
| [`fileformats/cf.py`  \|  Non-spanning dimensions / ignoring variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/fileformats/cf.py#L1289)                                                            | [`IrisCfNonSpanningVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L313),                                                                                                                               |
| [`experimental/ugrid/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/experimental/ugrid/cf.py#L69)                                                                        | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`experimental/ugrid/cf.py`  \|  Ignoring cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/experimental/ugrid/cf.py#L86)                                                                       | [`IrisCfLabelVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L305),                                                                                                                                     |
| [`experimental/ugrid/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/experimental/ugrid/cf.py#L144)                                                                       | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`experimental/ugrid/cf.py`  \|  Ignoring cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/experimental/ugrid/cf.py#L165)                                                                      | [`IrisCfLabelVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L305),                                                                                                                                     |
| [`experimental/ugrid/cf.py`  \|  Missing cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/experimental/ugrid/cf.py#L225)                                                                       | [`IrisCfMissingVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L297),                                                                                                                                   |
| [`experimental/ugrid/cf.py`  \|  Ignoring cf variable](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/experimental/ugrid/cf.py#L242)                                                                      | [`IrisCfLabelVarWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L305),                                                                                                                                     |
| [`experimental/ugrid/load.py`  \|  Incorrect cf_role, defaulting](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/experimental/ugrid/load.py#L360)                                                         | [`IrisCfWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L210), [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227)       |
| [`experimental/ugrid/load.py`  \|  No topology_dimension, assuming](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/experimental/ugrid/load.py#L381)                                                       | [`IrisCfWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L210), [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227)       |
| [`experimental/ugrid/load.py`  \|  Wrong topology_dimension, replacing](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/experimental/ugrid/load.py#L393)                                                   | [`IrisCfWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L210), [`IrisDefaultingWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L227), [`IrisIgnoringWarning`](https://github.com/SciTools/iris/blob/f4e6a35d8b37b43e412b74b8f4a6a517358b23b6/lib/iris/exceptions.py#L216)                                                                                                                                                                                                                                                                     |
## [Codecov](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools) Report
Patch coverage: **`83.42%`** and project coverage change: **`+0.04%`** :tada:
> Comparison is base [(`10cec69`)](https://app.codecov.io/gh/SciTools/iris/commit/10cec6911db04782b9b532601b2929c60ab3125c?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools) 89.37% compared to head [(`01db6a9`)](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools) 89.41%.

<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff             @@
##             main    #5498      +/-   ##
==========================================
+ Coverage   89.37%   89.41%   +0.04%     
==========================================
  Files          89       89              
  Lines       22446    22539      +93     
  Branches     5387     5387              
==========================================
+ Hits        20061    20154      +93     
  Misses       1639     1639              
  Partials      746      746              
```


| [Files Changed](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools) | Coverage Δ | |
|---|---|---|
| [lib/iris/\_\_init\_\_.py](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools#diff-bGliL2lyaXMvX19pbml0X18ucHk=) | `88.88% <ø> (ø)` | |
| [lib/iris/analysis/geometry.py](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools#diff-bGliL2lyaXMvYW5hbHlzaXMvZ2VvbWV0cnkucHk=) | `79.04% <ø> (ø)` | |
| [lib/iris/analysis/maths.py](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools#diff-bGliL2lyaXMvYW5hbHlzaXMvbWF0aHMucHk=) | `89.73% <ø> (ø)` | |
| [lib/iris/aux\_factory.py](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools#diff-bGliL2lyaXMvYXV4X2ZhY3RvcnkucHk=) | `77.82% <26.66%> (+0.02%)` | :arrow_up: |
| [lib/iris/analysis/cartography.py](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools#diff-bGliL2lyaXMvYW5hbHlzaXMvY2FydG9ncmFwaHkucHk=) | `86.41% <33.33%> (ø)` | |
| [lib/iris/plot.py](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools#diff-bGliL2lyaXMvcGxvdC5weQ==) | `86.45% <33.33%> (ø)` | |
| [lib/iris/analysis/\_regrid.py](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools#diff-bGliL2lyaXMvYW5hbHlzaXMvX3JlZ3JpZC5weQ==) | `83.37% <50.00%> (+0.03%)` | :arrow_up: |
| [lib/iris/analysis/calculus.py](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools#diff-bGliL2lyaXMvYW5hbHlzaXMvY2FsY3VsdXMucHk=) | `85.86% <50.00%> (+0.05%)` | :arrow_up: |
| [lib/iris/experimental/regrid.py](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools#diff-bGliL2lyaXMvZXhwZXJpbWVudGFsL3JlZ3JpZC5weQ==) | `77.51% <50.00%> (+0.13%)` | :arrow_up: |
| [lib/iris/fileformats/netcdf/saver.py](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools#diff-bGliL2lyaXMvZmlsZWZvcm1hdHMvbmV0Y2RmL3NhdmVyLnB5) | `89.14% <60.00%> (+0.02%)` | :arrow_up: |
| ... and [21 more](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools) | |


</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/SciTools/iris/pull/5498?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=SciTools).

### fb63268c6ec03de60178ccd5eb3cd9500a128978

I have confirmed using text searches that the fixed test is finding all `... warn( ...` calls
### 37df50be68bcc7f36daa3bbeaf0e12b112e0add0

There are still many tests asserting for `UserWarning`s. CI passes at this commit demonstrate that the sub-categorisation is a non-breaking change - any code expecting a `UserWarning` is still getting one.
### Coverage

I have not made a concerted effort to have tests for all the new warning sub-categories. I did have to reference several of them in 37df50be68bcc7f36daa3bbeaf0e12b112e0add0 just to get the tests to work.

Codecov seems happy with test coverage (https://github.com/SciTools/iris/pull/5498#issuecomment-1727643927) already. As noted, there are still many tests asserting for `UserWarning`s that I could change. I don't believe we have tests for all ~130 of our different warnings, however the existing tests may or may-not cover all the new sub-categories if I made them more specialised.

#### Options

@HGWright?

1. The coverage report already looks good, no further action.
2. Replace all assertions for `UserWarning`s with more specific sub-categories.
3. Do **2**, AND write tests for any sub-categories not already covered.

Fix patch:
diff --git a/docs/src/further_topics/filtering_warnings.rst b/docs/src/further_topics/filtering_warnings.rst
new file mode 100644
index 0000000000..689ea69a52
--- /dev/null
+++ b/docs/src/further_topics/filtering_warnings.rst
@@ -0,0 +1,271 @@
+.. _filtering-warnings:
+
+==================
+Filtering Warnings
+==================
+
+Since Iris cannot predict your specific needs, it by default raises Warnings
+for anything that might be a problem for **any** user, and is designed to work with
+you to ``ignore`` Warnings which you do not find helpful.
+
+.. testsetup:: filtering_warnings
+
+    from pathlib import Path
+    import sys
+    import warnings
+
+    import iris
+    import iris.coord_systems
+    import iris.exceptions
+
+    # Hack to ensure doctests actually see Warnings that are raised, and that
+    #  they have a relative path (so a test pass is not machine-dependent).
+    warnings.filterwarnings("default")
+    IRIS_FILE = Path(iris.__file__)
+    def custom_warn(message, category, filename, lineno, file=None, line=None):
+        filepath = Path(filename)
+        filename = str(filepath.relative_to(IRIS_FILE.parents[1]))
+        sys.stdout.write(warnings.formatwarning(message, category, filename, lineno))
+    warnings.showwarning = custom_warn
+
+    geog_cs_globe = iris.coord_systems.GeogCS(6400000)
+    orthographic_coord_system = iris.coord_systems.Orthographic(
+        longitude_of_projection_origin=0,
+        latitude_of_projection_origin=0,
+        ellipsoid=geog_cs_globe,
+    )
+
+
+    def my_operation():
+        geog_cs_globe.inverse_flattening = 0.1
+        _ = orthographic_coord_system.as_cartopy_crs()
+
+Here is a hypothetical operation - ``my_operation()`` - which raises two
+Warnings:
+
+.. doctest:: filtering_warnings
+
+    >>> my_operation()
+    ...
+    iris/coord_systems.py:454: IrisUserWarning: Setting inverse_flattening does not affect other properties of the GeogCS object. To change other properties set them explicitly or create a new GeogCS instance.
+      warnings.warn(wmsg, category=iris.exceptions.IrisUserWarning)
+    iris/coord_systems.py:821: IrisDefaultingWarning: Discarding false_easting and false_northing that are not used by Cartopy.
+      warnings.warn(
+
+Warnings can be suppressed using the Python warnings filter with the ``ignore``
+action. Detailed information is available in the Python documentation:
+:external+python:mod:`warnings`.
+
+The key points are:
+
+- :ref:`When<warning-filter-application>`: a warnings filter can be applied
+  either from the command line or from within Python.
+- :ref:`What<warning-filter-specificity>`: a warnings filter accepts
+  various arguments to specify which Warnings are being filtered. Both broad
+  and narrow filters are possible.
+
+.. _warning-filter-application:
+
+**When** a Warnings Filter can be Applied
+-----------------------------------------
+
+- **Command line:** setting the :external+python:envvar:`PYTHONWARNINGS`
+  environment variable.
+- **Command line:** the `python -W <https://docs.python.org/3/using/cmdline.html#cmdoption-W>`_
+  command line argument.
+- **Within Python:** use :func:`warnings.filterwarnings` .
+
+The :ref:`warning-filter-specificity` section demonstrates using
+:func:`warnings.filterwarnings`, and shows the equivalent **command line**
+approaches.
+
+
+.. _warning-filter-specificity:
+
+**What** Warnings will be Filtered
+----------------------------------
+
+.. note::
+
+    For all of these examples we are using the
+    :class:`~warnings.catch_warnings` context manager to ensure any changes to
+    settings are temporary.
+
+    This should always work fine for the ``ignore``
+    warning filter action, but note that some of the other actions
+    may not behave correctly with all Iris operations, as
+    :class:`~warnings.catch_warnings` is not thread-safe (e.g. using the
+    ``once`` action may cause 1 warning per chunk of lazy data).
+
+Specific Warnings
+~~~~~~~~~~~~~~~~~
+
+**When you do not want a specific warning, but still want all others.**
+
+You can target specific Warning messages, e.g.
+
+.. doctest:: filtering_warnings
+
+    >>> with warnings.catch_warnings():
+    ...     warnings.filterwarnings("ignore", message="Discarding false_easting")
+    ...     my_operation()
+    ...
+    iris/coord_systems.py:454: IrisUserWarning: Setting inverse_flattening does not affect other properties of the GeogCS object. To change other properties set them explicitly or create a new GeogCS instance.
+      warnings.warn(wmsg, category=iris.exceptions.IrisUserWarning)
+
+::
+
+    python -W ignore:"Discarding false_easting"
+    export PYTHONWARNINGS=ignore:"Discarding false_easting"
+
+----
+
+Or you can target Warnings raised by specific lines of specific modules, e.g.
+
+.. doctest:: filtering_warnings
+
+    >>> with warnings.catch_warnings():
+    ...     warnings.filterwarnings("ignore", module="iris.coord_systems", lineno=454)
+    ...     my_operation()
+    ...
+    iris/coord_systems.py:821: IrisDefaultingWarning: Discarding false_easting and false_northing that are not used by Cartopy.
+      warnings.warn(
+
+::
+
+    python -W ignore:::iris.coord_systems:454
+    export PYTHONWARNINGS=ignore:::iris.coord_systems:454
+
+Warnings from a Common Source
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**When you do not want ANY warnings raised by a module, or collection of
+modules.**
+
+E.g. filtering the ``coord_systems`` module:
+
+.. doctest:: filtering_warnings
+
+    >>> with warnings.catch_warnings():
+    ...     warnings.filterwarnings("ignore", module="iris.coord_systems")
+    ...     my_operation()
+
+::
+
+    python -W ignore:::iris.coord_systems
+    export PYTHONWARNINGS=ignore:::iris.coord_systems
+
+----
+
+If using :func:`warnings.filterwarnings` , you can also use partial
+definitions. The below example will ``ignore`` all Warnings from ``iris`` as a
+whole.
+
+.. doctest:: filtering_warnings
+
+    >>> with warnings.catch_warnings():
+    ...     warnings.filterwarnings("ignore", module="iris")
+    ...     my_operation()
+
+The above 'partial' filter is not available with the command line approaches.
+
+Warnings of a Common Type
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+**When you do not want any Warnings of the same nature, from anywhere in the
+code you are calling.**
+
+The below example will ``ignore`` any
+:class:`~iris.exceptions.IrisDefaultingWarning` that gets raised by *any*
+module during execution:
+
+.. doctest:: filtering_warnings
+
+    >>> with warnings.catch_warnings():
+    ...     warnings.filterwarnings(
+    ...         "ignore",
+    ...         category=iris.exceptions.IrisDefaultingWarning
+    ...     )
+    ...     my_operation()
+    ...
+    iris/coord_systems.py:454: IrisUserWarning: Setting inverse_flattening does not affect other properties of the GeogCS object. To change other properties set them explicitly or create a new GeogCS instance.
+      warnings.warn(wmsg, category=iris.exceptions.IrisUserWarning)
+
+----
+
+Using :class:`~iris.exceptions.IrisUserWarning` in the filter will ``ignore``
+both Warnings, since :class:`~iris.exceptions.IrisDefaultingWarning` subclasses
+:class:`~iris.exceptions.IrisUserWarning` :
+
+.. doctest:: filtering_warnings
+
+    >>> with warnings.catch_warnings():
+    ...     warnings.filterwarnings(
+    ...         "ignore",
+    ...         category=iris.exceptions.IrisUserWarning
+    ...     )
+    ...     my_operation()
+
+----
+
+The command line approaches can only handle the built-in Warning
+categories (`cpython#66733`_)::
+
+    python -W ignore::UserWarning
+    export PYTHONWARNINGS=ignore::UserWarning
+
+----
+
+There are several built-in Python warning categories that can be used here
+(:class:`DeprecationWarning` being a popular example, see
+:external+python:mod:`warnings` for more). Since Iris has
+so many different warnings that might be raised, Iris subclasses
+:class:`UserWarning` to :class:`~iris.exceptions.IrisUserWarning`, which itself
+has **many** specialised subclasses. These subclasses exist to give you more
+granularity in your warning filtering; you can see the full list by
+searching the :mod:`iris.exceptions` page for ``warning`` .
+
+.. attention::
+
+    If you have ideas for adding/altering Iris' warning categories, please
+    :ref:`get in touch<development_where_to_start>`! The categories exist to
+    make your life easier, and it is simple to make modifications.
+
+
+More Detail
+-----------
+
+Different people use Iris for very different purposes, from quick file
+visualisation to extract-transform-load to statistical analysis. These
+contrasting priorities mean disagreement on which Iris problems can be ignored
+and which are critically important.
+
+For problems that prevent Iris functioning: **Concrete Exceptions** are raised, which
+stop code from running any further - no debate here. For less catastrophic
+problems: **Warnings** are raised,
+which notify you (in ``stderr``) but allow code to continue running. The Warnings are
+there because Iris may **OR may not** function in the way you expect,
+depending on what you need - e.g. a problem might prevent data being saved to
+NetCDF, but statistical analysis will still work fine.
+
+Examples of Iris Warnings
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- If you attempt to plot un-bounded point data as a ``pcolormesh``: Iris will
+  guess appropriate bounds around each point so that quadrilaterals can be
+  plotted. This permanently modifies the relevant coordinates, so the you are
+  warned in case downstream operations assume un-bounded coordinates.
+- If you load a NetCDF file where a CF variable references another variable -
+  e.g. ``my_var:coordinates = "depth_var" ;`` - but the referenced variable
+  (``depth_var``) is not in the file: Iris will still construct
+  its data model, but without this reference relationship. You are warned since
+  the file includes an error and the loaded result might therefore not be as
+  expected.
+
+
+.. testcleanup:: filtering_warnings
+
+    warnings.filterwarnings("ignore")
+
+
+.. _cpython#66733: https://github.com/python/cpython/issues/66733
diff --git a/docs/src/userguide/index.rst b/docs/src/userguide/index.rst
index 771aa450a3..c87323da8e 100644
--- a/docs/src/userguide/index.rst
+++ b/docs/src/userguide/index.rst
@@ -42,6 +42,7 @@ they may serve as a useful reference for future exploration.
    :maxdepth: 2
    :caption: Further Topics
 
+   ../further_topics/filtering_warnings
    ../further_topics/metadata
    ../further_topics/lenient_metadata
    ../further_topics/lenient_maths


Test patch:
diff --git a/docs/src/whatsnew/latest.rst b/docs/src/whatsnew/latest.rst
index 4c732c43df..8cf829e1c3 100644
--- a/docs/src/whatsnew/latest.rst
+++ b/docs/src/whatsnew/latest.rst
@@ -72,7 +72,8 @@ This document explains the changes made to Iris for this release
 📚 Documentation
 ================
 
-#. N/A
+#. `@trexfeathers`_ documented the intended use of warnings filtering with
+   Iris. See :ref:`filtering-warnings`. (:pull:`5509`)
 
 
 💼 Internal