diff --git a/lib/iris/tests/__init__.py b/lib/iris/tests/__init__.py
index d732a70072..04814ce547 100644
--- a/lib/iris/tests/__init__.py
+++ b/lib/iris/tests/__init__.py
@@ -45,6 +45,7 @@
import json
import io
import logging
+import math
import os
import os.path
import shutil
@@ -281,12 +282,11 @@ def assertCMLApproxData(self, cubes, reference_filename=None, *args,
reference_filename = [self.get_result_path(reference_filename)]
for i, cube in enumerate(cubes):
fname = list(reference_filename)
- # don't want the ".cml" for the numpy data file
+ # don't want the ".cml" for the json stats file
if fname[-1].endswith(".cml"):
fname[-1] = fname[-1][:-4]
- fname[-1] += '.data.%d.npy' % i
+ fname[-1] += '.data.%d.json' % i
self.assertCubeDataAlmostEqual(cube, fname, *args, **kwargs)
-
self.assertCML(cubes, reference_filename, checksum=False)
def assertCDL(self, netcdf_filename, reference_filename=None, flags='-h'):
@@ -398,32 +398,38 @@ def assertTextFile(self, source_filename, reference_filename, desc="text file"):
diff = ''.join(difflib.unified_diff(reference_text, source_text, 'Reference', 'Test result', '', '', 0))
self.fail("%s does not match reference file: %s\n%s" % (desc, reference_filename, diff))
- def assertCubeDataAlmostEqual(self, cube, reference_filename, *args, **kwargs):
+ def assertCubeDataAlmostEqual(self, cube, reference_filename, *args,
+ **kwargs):
reference_path = self.get_result_path(reference_filename)
if self._check_reference_file(reference_path):
kwargs.setdefault('err_msg', 'Reference file %s' % reference_path)
-
- result = np.load(reference_path)
- if isinstance(result, np.lib.npyio.NpzFile):
- self.assertIsInstance(cube.data, ma.MaskedArray, 'Cube data was not a masked array.')
- # Avoid comparing any non-initialised array data.
- data = cube.data.filled()
- np.testing.assert_array_almost_equal(data, result['data'],
- *args, **kwargs)
- np.testing.assert_array_equal(cube.data.mask, result['mask'])
- else:
- np.testing.assert_array_almost_equal(cube.data, result, *args, **kwargs)
+ with open(reference_path, 'r') as reference_file:
+ stats = json.load(reference_file)
+ self.assertEqual(stats.get('shape', []), list(cube.shape))
+ self.assertEqual(stats.get('masked', False),
+ isinstance(cube.data, ma.MaskedArray))
+ nstats = np.array((stats.get('mean', 0.), stats.get('std', 0.),
+ stats.get('max', 0), stats.get('min', 0)))
+ if math.isnan(stats.get('mean', 0)):
+ self.assertEqual(math.isnan(stats.get('mean', 0)),
+ math.isnan(cube.data.mean()))
+ else:
+ cube_stats = np.array((cube.data.mean(), cube.data.std(),
+ cube.data.max(), cube.data.min()))
+ self.assertArrayAllClose(nstats, cube_stats, **kwargs)
else:
self._ensure_folder(reference_path)
logger.warning('Creating result file: %s', reference_path)
+ masked = False
if isinstance(cube.data, ma.MaskedArray):
- # Avoid recording any non-initialised array data.
- data = cube.data.filled()
- with open(reference_path, 'wb') as reference_file:
- np.savez(reference_file, data=data, mask=cube.data.mask)
- else:
- with open(reference_path, 'wb') as reference_file:
- np.save(reference_file, cube.data)
+ masked = True
+ stats = {'mean': np.float_(cube.data.mean()),
+ 'std': np.float_(cube.data.std()),
+ 'max': np.float_(cube.data.max()),
+ 'min': np.float_(cube.data.min()),
+ 'shape': cube.shape, 'masked': masked}
+ with open(reference_path, 'w') as reference_file:
+ reference_file.write(json.dumps(stats))
def assertFilesEqual(self, test_filename, reference_filename):
reference_path = self.get_result_path(reference_filename)
diff --git a/lib/iris/tests/results/analysis/apply_ifunc.data.0.json b/lib/iris/tests/results/analysis/apply_ifunc.data.0.json
new file mode 100644
index 0000000000..3c3dde46b3
--- /dev/null
+++ b/lib/iris/tests/results/analysis/apply_ifunc.data.0.json
@@ -0,0 +1 @@
+{"std": 600.0958251953125, "min": 5.4993666708469391e-05, "max": 2069.03369140625, "shape": [73, 96], "masked": false, "mean": 664.99627685546875}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/apply_ifunc.data.0.npy b/lib/iris/tests/results/analysis/apply_ifunc.data.0.npy
deleted file mode 100644
index 5eabfad532..0000000000
Binary files a/lib/iris/tests/results/analysis/apply_ifunc.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/apply_ifunc_frompyfunc.data.0.json b/lib/iris/tests/results/analysis/apply_ifunc_frompyfunc.data.0.json
new file mode 100644
index 0000000000..1b77395e01
--- /dev/null
+++ b/lib/iris/tests/results/analysis/apply_ifunc_frompyfunc.data.0.json
@@ -0,0 +1 @@
+{"std": 848.63707924732125, "min": 2.0000550754478277, "max": 2927.4700625478599, "shape": [73, 96], "masked": false, "mean": 941.88598170710736}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/apply_ifunc_frompyfunc.data.0.npy b/lib/iris/tests/results/analysis/apply_ifunc_frompyfunc.data.0.npy
deleted file mode 100644
index d9faaaf93e..0000000000
Binary files a/lib/iris/tests/results/analysis/apply_ifunc_frompyfunc.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/apply_ifunc_original.data.0.json b/lib/iris/tests/results/analysis/apply_ifunc_original.data.0.json
new file mode 100644
index 0000000000..a612f9728c
--- /dev/null
+++ b/lib/iris/tests/results/analysis/apply_ifunc_original.data.0.json
@@ -0,0 +1 @@
+{"std": 16.345842361450195, "min": -15.285690307617188, "max": 45.48663330078125, "shape": [73, 96], "masked": false, "mean": 19.945165634155273}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/apply_ifunc_original.data.0.npy b/lib/iris/tests/results/analysis/apply_ifunc_original.data.0.npy
deleted file mode 100644
index 102b6cd64c..0000000000
Binary files a/lib/iris/tests/results/analysis/apply_ifunc_original.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/apply_ufunc.data.0.json b/lib/iris/tests/results/analysis/apply_ufunc.data.0.json
new file mode 100644
index 0000000000..3c3dde46b3
--- /dev/null
+++ b/lib/iris/tests/results/analysis/apply_ufunc.data.0.json
@@ -0,0 +1 @@
+{"std": 600.0958251953125, "min": 5.4993666708469391e-05, "max": 2069.03369140625, "shape": [73, 96], "masked": false, "mean": 664.99627685546875}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/apply_ufunc.data.0.npy b/lib/iris/tests/results/analysis/apply_ufunc.data.0.npy
deleted file mode 100644
index 5eabfad532..0000000000
Binary files a/lib/iris/tests/results/analysis/apply_ufunc.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/apply_ufunc_frompyfunc.data.0.json b/lib/iris/tests/results/analysis/apply_ufunc_frompyfunc.data.0.json
new file mode 100644
index 0000000000..1b77395e01
--- /dev/null
+++ b/lib/iris/tests/results/analysis/apply_ufunc_frompyfunc.data.0.json
@@ -0,0 +1 @@
+{"std": 848.63707924732125, "min": 2.0000550754478277, "max": 2927.4700625478599, "shape": [73, 96], "masked": false, "mean": 941.88598170710736}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/apply_ufunc_frompyfunc.data.0.npy b/lib/iris/tests/results/analysis/apply_ufunc_frompyfunc.data.0.npy
deleted file mode 100644
index d9faaaf93e..0000000000
Binary files a/lib/iris/tests/results/analysis/apply_ufunc_frompyfunc.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/apply_ufunc_original.data.0.json b/lib/iris/tests/results/analysis/apply_ufunc_original.data.0.json
new file mode 100644
index 0000000000..a612f9728c
--- /dev/null
+++ b/lib/iris/tests/results/analysis/apply_ufunc_original.data.0.json
@@ -0,0 +1 @@
+{"std": 16.345842361450195, "min": -15.285690307617188, "max": 45.48663330078125, "shape": [73, 96], "masked": false, "mean": 19.945165634155273}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/apply_ufunc_original.data.0.npy b/lib/iris/tests/results/analysis/apply_ufunc_original.data.0.npy
deleted file mode 100644
index 102b6cd64c..0000000000
Binary files a/lib/iris/tests/results/analysis/apply_ufunc_original.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/delta_handmade_simple_wrt_x.data.0.json b/lib/iris/tests/results/analysis/calculus/delta_handmade_simple_wrt_x.data.0.json
new file mode 100644
index 0000000000..dc7edcae22
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/delta_handmade_simple_wrt_x.data.0.json
@@ -0,0 +1 @@
+{"std": 0.21794494986534119, "min": 1.0, "max": 2.0, "shape": [4, 5], "masked": false, "mean": 1.0499999523162842}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/delta_handmade_simple_wrt_x.data.0.npy b/lib/iris/tests/results/analysis/calculus/delta_handmade_simple_wrt_x.data.0.npy
deleted file mode 100644
index 8b6fec90ee..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/delta_handmade_simple_wrt_x.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lat.data.0.json b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lat.data.0.json
new file mode 100644
index 0000000000..32b3104232
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lat.data.0.json
@@ -0,0 +1 @@
+{"std": 0.24206146597862244, "min": 1.0, "max": 2.0, "shape": [4, 4], "masked": false, "mean": 1.0625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lat.data.0.npy b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lat.data.0.npy
deleted file mode 100644
index 5afca70510..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lat.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lon.data.0.json b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lon.data.0.json
new file mode 100644
index 0000000000..9d98a55251
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lon.data.0.json
@@ -0,0 +1 @@
+{"std": 1.8708287477493286, "min": -4.0, "max": 2.0, "shape": [4, 5], "masked": false, "mean": 0.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lon.data.0.npy b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lon.data.0.npy
deleted file mode 100644
index e400581400..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_lon.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_x.data.0.json b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_x.data.0.json
new file mode 100644
index 0000000000..9d98a55251
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_x.data.0.json
@@ -0,0 +1 @@
+{"std": 1.8708287477493286, "min": -4.0, "max": 2.0, "shape": [4, 5], "masked": false, "mean": 0.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_x.data.0.npy b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_x.data.0.npy
deleted file mode 100644
index e400581400..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_x.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_y.data.0.json b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_y.data.0.json
new file mode 100644
index 0000000000..32b3104232
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_y.data.0.json
@@ -0,0 +1 @@
+{"std": 0.24206146597862244, "min": 1.0, "max": 2.0, "shape": [4, 4], "masked": false, "mean": 1.0625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_y.data.0.npy b/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_y.data.0.npy
deleted file mode 100644
index 5afca70510..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/delta_handmade_wrt_y.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lat.data.0.json b/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lat.data.0.json
new file mode 100644
index 0000000000..f085c17bc3
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lat.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 0.2222222238779068, "max": 0.2222222238779068, "shape": [50, 49], "masked": false, "mean": 0.2222222238779068}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lat.data.0.npy b/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lat.data.0.npy
deleted file mode 100644
index 33b1bb6b7e..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lat.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lon.data.0.json b/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lon.data.0.json
new file mode 100644
index 0000000000..325c7d9d0c
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lon.data.0.json
@@ -0,0 +1 @@
+{"std": 9.5367431640625e-07, "min": 11.111110687255859, "max": 11.111110687255859, "shape": [49, 50], "masked": false, "mean": 11.111111640930176}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lon.data.0.npy b/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lon.data.0.npy
deleted file mode 100644
index 6e8db0618c..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/handmade2_wrt_lon.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/handmade_simple_wrt_x.data.0.json b/lib/iris/tests/results/analysis/calculus/handmade_simple_wrt_x.data.0.json
new file mode 100644
index 0000000000..dc7edcae22
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/handmade_simple_wrt_x.data.0.json
@@ -0,0 +1 @@
+{"std": 0.21794494986534119, "min": 1.0, "max": 2.0, "shape": [4, 5], "masked": false, "mean": 1.0499999523162842}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/handmade_simple_wrt_x.data.0.npy b/lib/iris/tests/results/analysis/calculus/handmade_simple_wrt_x.data.0.npy
deleted file mode 100644
index 8b6fec90ee..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/handmade_simple_wrt_x.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/handmade_wrt_lat.data.0.json b/lib/iris/tests/results/analysis/calculus/handmade_wrt_lat.data.0.json
new file mode 100644
index 0000000000..ec37eb3937
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/handmade_wrt_lat.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0053791436366736889, "min": 0.02222222276031971, "max": 0.04444444552063942, "shape": [4, 4], "masked": false, "mean": 0.023611113429069519}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/handmade_wrt_lat.data.0.npy b/lib/iris/tests/results/analysis/calculus/handmade_wrt_lat.data.0.npy
deleted file mode 100644
index acf3201df1..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/handmade_wrt_lat.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/handmade_wrt_lon.data.0.json b/lib/iris/tests/results/analysis/calculus/handmade_wrt_lon.data.0.json
new file mode 100644
index 0000000000..baa77f637d
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/handmade_wrt_lon.data.0.json
@@ -0,0 +1 @@
+{"std": 0.020786985754966736, "min": -0.04444444552063942, "max": 0.02222222276031971, "shape": [4, 5], "masked": false, "mean": 3.7252903539730653e-10}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/handmade_wrt_lon.data.0.npy b/lib/iris/tests/results/analysis/calculus/handmade_wrt_lon.data.0.npy
deleted file mode 100644
index 78b21dacce..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/handmade_wrt_lon.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/handmade_wrt_x.data.0.json b/lib/iris/tests/results/analysis/calculus/handmade_wrt_x.data.0.json
new file mode 100644
index 0000000000..a1de71d548
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/handmade_wrt_x.data.0.json
@@ -0,0 +1 @@
+{"std": 0.22607769072055817, "min": 1.0, "max": 2.0, "shape": [4, 5], "masked": false, "mean": 1.0666667222976685}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/handmade_wrt_x.data.0.npy b/lib/iris/tests/results/analysis/calculus/handmade_wrt_x.data.0.npy
deleted file mode 100644
index c498544b3f..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/handmade_wrt_x.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/calculus/handmade_wrt_y.data.0.json b/lib/iris/tests/results/analysis/calculus/handmade_wrt_y.data.0.json
new file mode 100644
index 0000000000..32b3104232
--- /dev/null
+++ b/lib/iris/tests/results/analysis/calculus/handmade_wrt_y.data.0.json
@@ -0,0 +1 @@
+{"std": 0.24206146597862244, "min": 1.0, "max": 2.0, "shape": [4, 4], "masked": false, "mean": 1.0625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/calculus/handmade_wrt_y.data.0.npy b/lib/iris/tests/results/analysis/calculus/handmade_wrt_y.data.0.npy
deleted file mode 100644
index 5afca70510..0000000000
Binary files a/lib/iris/tests/results/analysis/calculus/handmade_wrt_y.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/exp.data.0.json b/lib/iris/tests/results/analysis/exp.data.0.json
new file mode 100644
index 0000000000..1e52495f02
--- /dev/null
+++ b/lib/iris/tests/results/analysis/exp.data.0.json
@@ -0,0 +1 @@
+{"std": 6401.1652629017917, "min": 1.0, "max": 22026.465794806718, "shape": [11], "masked": false, "mean": 3167.7067132119382}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/exp.data.0.npy b/lib/iris/tests/results/analysis/exp.data.0.npy
deleted file mode 100644
index d5887314c5..0000000000
Binary files a/lib/iris/tests/results/analysis/exp.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/exponentiate.data.0.json b/lib/iris/tests/results/analysis/exponentiate.data.0.json
new file mode 100644
index 0000000000..e7425d0e4a
--- /dev/null
+++ b/lib/iris/tests/results/analysis/exponentiate.data.0.json
@@ -0,0 +1 @@
+{"std": 978472.15716317657, "min": 3.0243033780422146e-09, "max": 4280900.9029495027, "shape": [73, 96], "masked": false, "mean": 802335.05663924129}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/exponentiate.data.0.npy b/lib/iris/tests/results/analysis/exponentiate.data.0.npy
deleted file mode 100644
index bf1d6bd75a..0000000000
Binary files a/lib/iris/tests/results/analysis/exponentiate.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/gmean_latitude.data.0.json b/lib/iris/tests/results/analysis/gmean_latitude.data.0.json
new file mode 100644
index 0000000000..81da27a8d4
--- /dev/null
+++ b/lib/iris/tests/results/analysis/gmean_latitude.data.0.json
@@ -0,0 +1 @@
+{"std": 306.9084856481536, "min": 100878.38609750666, "max": 101988.84048626159, "shape": [10, 720], "masked": false, "mean": 101441.5793318709}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/gmean_latitude.data.0.npy b/lib/iris/tests/results/analysis/gmean_latitude.data.0.npy
deleted file mode 100644
index 7c235bc402..0000000000
Binary files a/lib/iris/tests/results/analysis/gmean_latitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/gmean_latitude_longitude.data.0.json b/lib/iris/tests/results/analysis/gmean_latitude_longitude.data.0.json
new file mode 100644
index 0000000000..55a6386cbc
--- /dev/null
+++ b/lib/iris/tests/results/analysis/gmean_latitude_longitude.data.0.json
@@ -0,0 +1 @@
+{"std": 1.4551915228366852e-11, "min": 101441.11521734977, "max": 101441.11521734977, "shape": [10], "masked": false, "mean": 101441.11521734975}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/gmean_latitude_longitude.data.0.npy b/lib/iris/tests/results/analysis/gmean_latitude_longitude.data.0.npy
deleted file mode 100644
index 3eb2c7d3aa..0000000000
Binary files a/lib/iris/tests/results/analysis/gmean_latitude_longitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/gmean_latitude_longitude_1call.data.0.json b/lib/iris/tests/results/analysis/gmean_latitude_longitude_1call.data.0.json
new file mode 100644
index 0000000000..c6c36b2a45
--- /dev/null
+++ b/lib/iris/tests/results/analysis/gmean_latitude_longitude_1call.data.0.json
@@ -0,0 +1 @@
+{"std": 1.4551915228366852e-11, "min": 101441.11521735013, "max": 101441.11521735013, "shape": [10], "masked": false, "mean": 101441.11521735015}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/gmean_latitude_longitude_1call.data.0.npy b/lib/iris/tests/results/analysis/gmean_latitude_longitude_1call.data.0.npy
deleted file mode 100644
index ec3b18b06d..0000000000
Binary files a/lib/iris/tests/results/analysis/gmean_latitude_longitude_1call.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/hmean_latitude.data.0.json b/lib/iris/tests/results/analysis/hmean_latitude.data.0.json
new file mode 100644
index 0000000000..de3773040e
--- /dev/null
+++ b/lib/iris/tests/results/analysis/hmean_latitude.data.0.json
@@ -0,0 +1 @@
+{"std": 62791732.052807324, "min": 10173628652.643913, "max": 10401222118.976389, "shape": [10, 720], "masked": false, "mean": 10289063259.465273}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/hmean_latitude.data.0.npy b/lib/iris/tests/results/analysis/hmean_latitude.data.0.npy
deleted file mode 100644
index a5a6b5f729..0000000000
Binary files a/lib/iris/tests/results/analysis/hmean_latitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/hmean_latitude_longitude.data.0.json b/lib/iris/tests/results/analysis/hmean_latitude_longitude.data.0.json
new file mode 100644
index 0000000000..9007f1fdf7
--- /dev/null
+++ b/lib/iris/tests/results/analysis/hmean_latitude_longitude.data.0.json
@@ -0,0 +1 @@
+{"std": 1.9073486328125e-06, "min": 10288680426.032187, "max": 10288680426.032187, "shape": [10], "masked": false, "mean": 10288680426.032185}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/hmean_latitude_longitude.data.0.npy b/lib/iris/tests/results/analysis/hmean_latitude_longitude.data.0.npy
deleted file mode 100644
index 70b32616cf..0000000000
Binary files a/lib/iris/tests/results/analysis/hmean_latitude_longitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/hmean_latitude_longitude_1call.data.0.json b/lib/iris/tests/results/analysis/hmean_latitude_longitude_1call.data.0.json
new file mode 100644
index 0000000000..10d9962912
--- /dev/null
+++ b/lib/iris/tests/results/analysis/hmean_latitude_longitude_1call.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 10288680426.032185, "max": 10288680426.032185, "shape": [10], "masked": false, "mean": 10288680426.032185}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/hmean_latitude_longitude_1call.data.0.npy b/lib/iris/tests/results/analysis/hmean_latitude_longitude_1call.data.0.npy
deleted file mode 100644
index 35e77acf32..0000000000
Binary files a/lib/iris/tests/results/analysis/hmean_latitude_longitude_1call.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/positive.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/positive.data.0.json
new file mode 100644
index 0000000000..9bb2969bbd
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/positive.data.0.json
@@ -0,0 +1 @@
+{"std": 0.33973028517732512, "min": 0.0, "max": 1.1000000000000001, "shape": [3, 24], "masked": false, "mean": 0.55000000000000004}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/positive.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/positive.data.0.npy
deleted file mode 100644
index 24c285e4d5..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/positive.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/symmetric.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/symmetric.data.0.json
new file mode 100644
index 0000000000..9bb2969bbd
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/symmetric.data.0.json
@@ -0,0 +1 @@
+{"std": 0.33973028517732512, "min": 0.0, "max": 1.1000000000000001, "shape": [3, 24], "masked": false, "mean": 0.55000000000000004}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/symmetric.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/symmetric.data.0.npy
deleted file mode 100644
index 8b2771133f..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/circular_wrapping/symmetric.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_0.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_0.data.0.json
new file mode 100644
index 0000000000..526e4b6aab
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_0.data.0.json
@@ -0,0 +1 @@
+{"std": 3.2659863237109041, "min": 2.0, "max": 10.0, "shape": [3, 4], "masked": false, "mean": 6.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_0.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_0.data.0.npy
deleted file mode 100644
index 86d6e81709..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_0.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_1.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_1.data.0.json
new file mode 100644
index 0000000000..b22387080a
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_1.data.0.json
@@ -0,0 +1 @@
+{"std": 1.1180339887498949, "min": 4.0, "max": 7.0, "shape": [4, 4], "masked": false, "mean": 5.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_1.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_1.data.0.npy
deleted file mode 100644
index a47b258d82..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_1.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_nan.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_nan.data.0.json
new file mode 100644
index 0000000000..c3bc9b5673
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_nan.data.0.json
@@ -0,0 +1 @@
+{"std": NaN, "min": NaN, "max": NaN, "shape": [3, 3], "masked": false, "mean": NaN}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_nan.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_nan.data.0.npy
deleted file mode 100644
index 676e8f6ca7..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_nan.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_same.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_same.data.0.json
new file mode 100644
index 0000000000..e52d7576da
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_same.data.0.json
@@ -0,0 +1 @@
+{"std": 3.2659863237109041, "min": 2.0, "max": 10.0, "shape": [3, 3], "masked": false, "mean": 6.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_same.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_same.data.0.npy
deleted file mode 100644
index a489bfae8e..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_many_same.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_same_pt.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_same_pt.data.0.json
new file mode 100644
index 0000000000..083821afc1
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_same_pt.data.0.json
@@ -0,0 +1 @@
+{"std": 3.2659863237109041, "min": 2.0, "max": 10.0, "shape": [3, 1], "masked": false, "mean": 6.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_same_pt.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_same_pt.data.0.npy
deleted file mode 100644
index 71bec8fd98..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_same_pt.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_0.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_0.data.0.json
new file mode 100644
index 0000000000..6b64ed5556
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_0.data.0.json
@@ -0,0 +1 @@
+{"std": 3.2659863237109041, "min": 2.0, "max": 10.0, "shape": [3], "masked": false, "mean": 6.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_0.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_0.data.0.npy
deleted file mode 100644
index da195dd91d..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_0.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_1.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_1.data.0.json
new file mode 100644
index 0000000000..7d9a7486b6
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_1.data.0.json
@@ -0,0 +1 @@
+{"std": 1.1180339887498949, "min": 4.0, "max": 7.0, "shape": [4], "masked": false, "mean": 5.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_1.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_1.data.0.npy
deleted file mode 100644
index 7596c5e945..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_1.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_nan.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_nan.data.0.json
new file mode 100644
index 0000000000..28e588dc39
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_nan.data.0.json
@@ -0,0 +1 @@
+{"std": NaN, "min": NaN, "max": NaN, "shape": [3], "masked": false, "mean": NaN}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_nan.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_nan.data.0.npy
deleted file mode 100644
index 988998331b..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_scalar_nan.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_0.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_0.data.0.json
new file mode 100644
index 0000000000..083821afc1
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_0.data.0.json
@@ -0,0 +1 @@
+{"std": 3.2659863237109041, "min": 2.0, "max": 10.0, "shape": [3, 1], "masked": false, "mean": 6.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_0.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_0.data.0.npy
deleted file mode 100644
index 71bec8fd98..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_0.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_1.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_1.data.0.json
new file mode 100644
index 0000000000..6eb7f12a11
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_1.data.0.json
@@ -0,0 +1 @@
+{"std": 1.1180339887498949, "min": 4.0, "max": 7.0, "shape": [1, 4], "masked": false, "mean": 5.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_1.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_1.data.0.npy
deleted file mode 100644
index 28f66974d8..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_1.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_nan.data.0.json b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_nan.data.0.json
new file mode 100644
index 0000000000..ba31ec5d67
--- /dev/null
+++ b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_nan.data.0.json
@@ -0,0 +1 @@
+{"std": NaN, "min": NaN, "max": NaN, "shape": [3, 1], "masked": false, "mean": NaN}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_nan.data.0.npy b/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_nan.data.0.npy
deleted file mode 100644
index 351715ceb0..0000000000
Binary files a/lib/iris/tests/results/analysis/interpolation/linear/single_pt_to_single_pt_nan.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/log.data.0.json b/lib/iris/tests/results/analysis/log.data.0.json
new file mode 100644
index 0000000000..c17557292d
--- /dev/null
+++ b/lib/iris/tests/results/analysis/log.data.0.json
@@ -0,0 +1 @@
+{"std": 0.059119906276464462, "min": 5.500091552734375, "max": 5.7219061851501465, "shape": [73, 96], "masked": false, "mean": 5.6328606605529785}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/log.data.0.npy b/lib/iris/tests/results/analysis/log.data.0.npy
deleted file mode 100644
index 0d2533c3e8..0000000000
Binary files a/lib/iris/tests/results/analysis/log.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/log10.data.0.json b/lib/iris/tests/results/analysis/log10.data.0.json
new file mode 100644
index 0000000000..d5c0091b03
--- /dev/null
+++ b/lib/iris/tests/results/analysis/log10.data.0.json
@@ -0,0 +1 @@
+{"std": 0.025675451382994652, "min": 2.3886594772338867, "max": 2.4849922657012939, "shape": [73, 96], "masked": false, "mean": 2.4463202953338623}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/log10.data.0.npy b/lib/iris/tests/results/analysis/log10.data.0.npy
deleted file mode 100644
index ab3c8084f4..0000000000
Binary files a/lib/iris/tests/results/analysis/log10.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/log2.data.0.json b/lib/iris/tests/results/analysis/log2.data.0.json
new file mode 100644
index 0000000000..08b3b3fac5
--- /dev/null
+++ b/lib/iris/tests/results/analysis/log2.data.0.json
@@ -0,0 +1 @@
+{"std": 0.085292011499404907, "min": 7.9349546432495117, "max": 8.2549657821655273, "shape": [73, 96], "masked": false, "mean": 8.126500129699707}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/log2.data.0.npy b/lib/iris/tests/results/analysis/log2.data.0.npy
deleted file mode 100644
index 29dd4162a7..0000000000
Binary files a/lib/iris/tests/results/analysis/log2.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/maths_original.data.0.npy b/lib/iris/tests/results/analysis/maths_original.data.0.npy
deleted file mode 100644
index 102b6cd64c..0000000000
Binary files a/lib/iris/tests/results/analysis/maths_original.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/max_latitude.data.0.json b/lib/iris/tests/results/analysis/max_latitude.data.0.json
new file mode 100644
index 0000000000..d9698a928c
--- /dev/null
+++ b/lib/iris/tests/results/analysis/max_latitude.data.0.json
@@ -0,0 +1 @@
+{"std": 331.70321238027685, "min": 101864.0, "max": 102977.0, "shape": [10, 720], "masked": true, "mean": 102466.40277777778}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/max_latitude.data.0.npy b/lib/iris/tests/results/analysis/max_latitude.data.0.npy
deleted file mode 100644
index a95c8e6355..0000000000
Binary files a/lib/iris/tests/results/analysis/max_latitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/max_latitude_longitude.data.0.json b/lib/iris/tests/results/analysis/max_latitude_longitude.data.0.json
new file mode 100644
index 0000000000..5e9a638999
--- /dev/null
+++ b/lib/iris/tests/results/analysis/max_latitude_longitude.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 102977.0, "max": 102977.0, "shape": [10], "masked": true, "mean": 102977.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/max_latitude_longitude.data.0.npy b/lib/iris/tests/results/analysis/max_latitude_longitude.data.0.npy
deleted file mode 100644
index 46d6c7e814..0000000000
Binary files a/lib/iris/tests/results/analysis/max_latitude_longitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/max_latitude_longitude_1call.data.0.json b/lib/iris/tests/results/analysis/max_latitude_longitude_1call.data.0.json
new file mode 100644
index 0000000000..5e9a638999
--- /dev/null
+++ b/lib/iris/tests/results/analysis/max_latitude_longitude_1call.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 102977.0, "max": 102977.0, "shape": [10], "masked": true, "mean": 102977.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/max_latitude_longitude_1call.data.0.npy b/lib/iris/tests/results/analysis/max_latitude_longitude_1call.data.0.npy
deleted file mode 100644
index 46d6c7e814..0000000000
Binary files a/lib/iris/tests/results/analysis/max_latitude_longitude_1call.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/mean_latitude.data.0.json b/lib/iris/tests/results/analysis/mean_latitude.data.0.json
new file mode 100644
index 0000000000..f6017416ee
--- /dev/null
+++ b/lib/iris/tests/results/analysis/mean_latitude.data.0.json
@@ -0,0 +1 @@
+{"std": 305.67198815976997, "min": 100885.3425925926, "max": 101990.07175925926, "shape": [10, 720], "masked": true, "mean": 101445.07356931583}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/mean_latitude.data.0.npy b/lib/iris/tests/results/analysis/mean_latitude.data.0.npy
deleted file mode 100644
index 4691185210..0000000000
Binary files a/lib/iris/tests/results/analysis/mean_latitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/mean_latitude_longitude.data.0.json b/lib/iris/tests/results/analysis/mean_latitude_longitude.data.0.json
new file mode 100644
index 0000000000..bab6eae4c3
--- /dev/null
+++ b/lib/iris/tests/results/analysis/mean_latitude_longitude.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 101445.07356931586, "max": 101445.07356931586, "shape": [10], "masked": true, "mean": 101445.07356931586}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/mean_latitude_longitude.data.0.npy b/lib/iris/tests/results/analysis/mean_latitude_longitude.data.0.npy
deleted file mode 100644
index 522980b4fe..0000000000
Binary files a/lib/iris/tests/results/analysis/mean_latitude_longitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/mean_latitude_longitude_1call.data.0.json b/lib/iris/tests/results/analysis/mean_latitude_longitude_1call.data.0.json
new file mode 100644
index 0000000000..66443fd131
--- /dev/null
+++ b/lib/iris/tests/results/analysis/mean_latitude_longitude_1call.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 101445.07356931585, "max": 101445.07356931585, "shape": [10], "masked": true, "mean": 101445.07356931585}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/mean_latitude_longitude_1call.data.0.npy b/lib/iris/tests/results/analysis/mean_latitude_longitude_1call.data.0.npy
deleted file mode 100644
index 2e21c2a497..0000000000
Binary files a/lib/iris/tests/results/analysis/mean_latitude_longitude_1call.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/median_latitude.data.0.json b/lib/iris/tests/results/analysis/median_latitude.data.0.json
new file mode 100644
index 0000000000..d04da6ef95
--- /dev/null
+++ b/lib/iris/tests/results/analysis/median_latitude.data.0.json
@@ -0,0 +1 @@
+{"std": 247.17003116388435, "min": 101023.5, "max": 102126.0, "shape": [10, 720], "masked": true, "mean": 101629.08333333333}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/median_latitude.data.0.npy b/lib/iris/tests/results/analysis/median_latitude.data.0.npy
deleted file mode 100644
index 5ad4a357cf..0000000000
Binary files a/lib/iris/tests/results/analysis/median_latitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/median_latitude_longitude.data.0.json b/lib/iris/tests/results/analysis/median_latitude_longitude.data.0.json
new file mode 100644
index 0000000000..2d27048e94
--- /dev/null
+++ b/lib/iris/tests/results/analysis/median_latitude_longitude.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 101658.25, "max": 101658.25, "shape": [10], "masked": true, "mean": 101658.25}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/median_latitude_longitude.data.0.npy b/lib/iris/tests/results/analysis/median_latitude_longitude.data.0.npy
deleted file mode 100644
index bd726f476e..0000000000
Binary files a/lib/iris/tests/results/analysis/median_latitude_longitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/median_latitude_longitude_1call.data.0.json b/lib/iris/tests/results/analysis/median_latitude_longitude_1call.data.0.json
new file mode 100644
index 0000000000..f257cb5a6a
--- /dev/null
+++ b/lib/iris/tests/results/analysis/median_latitude_longitude_1call.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 101604.0, "max": 101604.0, "shape": [10], "masked": true, "mean": 101604.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/median_latitude_longitude_1call.data.0.npy b/lib/iris/tests/results/analysis/median_latitude_longitude_1call.data.0.npy
deleted file mode 100644
index 1a70039a62..0000000000
Binary files a/lib/iris/tests/results/analysis/median_latitude_longitude_1call.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/min_latitude.data.0.json b/lib/iris/tests/results/analysis/min_latitude.data.0.json
new file mode 100644
index 0000000000..51a5656efe
--- /dev/null
+++ b/lib/iris/tests/results/analysis/min_latitude.data.0.json
@@ -0,0 +1 @@
+{"std": 812.32687602393321, "min": 98385.0, "max": 101362.0, "shape": [10, 720], "masked": true, "mean": 99766.430555555562}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/min_latitude.data.0.npy b/lib/iris/tests/results/analysis/min_latitude.data.0.npy
deleted file mode 100644
index 61d32da1b0..0000000000
Binary files a/lib/iris/tests/results/analysis/min_latitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/min_latitude_longitude.data.0.json b/lib/iris/tests/results/analysis/min_latitude_longitude.data.0.json
new file mode 100644
index 0000000000..be45ae3906
--- /dev/null
+++ b/lib/iris/tests/results/analysis/min_latitude_longitude.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 98385.0, "max": 98385.0, "shape": [10], "masked": true, "mean": 98385.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/min_latitude_longitude.data.0.npy b/lib/iris/tests/results/analysis/min_latitude_longitude.data.0.npy
deleted file mode 100644
index 8ae56407a3..0000000000
Binary files a/lib/iris/tests/results/analysis/min_latitude_longitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/min_latitude_longitude_1call.data.0.json b/lib/iris/tests/results/analysis/min_latitude_longitude_1call.data.0.json
new file mode 100644
index 0000000000..be45ae3906
--- /dev/null
+++ b/lib/iris/tests/results/analysis/min_latitude_longitude_1call.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 98385.0, "max": 98385.0, "shape": [10], "masked": true, "mean": 98385.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/min_latitude_longitude_1call.data.0.npy b/lib/iris/tests/results/analysis/min_latitude_longitude_1call.data.0.npy
deleted file mode 100644
index 8ae56407a3..0000000000
Binary files a/lib/iris/tests/results/analysis/min_latitude_longitude_1call.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/linear_both_circular.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_both_circular.data.0.json
new file mode 100644
index 0000000000..9a7f53d9b4
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_both_circular.data.0.json
@@ -0,0 +1 @@
+{"std": 2.5880997180938721, "min": 254.64399719238281, "max": 261.7274169921875, "shape": [4, 4], "masked": false, "mean": 258.11480712890625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_both_circular.data.0.npy b/lib/iris/tests/results/analysis/regrid/linear_both_circular.data.0.npy
deleted file mode 100644
index 4076eaa086..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/linear_both_circular.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/linear_circular_grid.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_circular_grid.data.0.json
new file mode 100644
index 0000000000..1496975251
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_circular_grid.data.0.json
@@ -0,0 +1 @@
+{"std": 2.5862049308282899, "min": 254.64399719238281, "max": 261.68328857421875, "shape": [4, 4], "masked": true, "mean": 258.11273193359375}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_circular_grid.data.0.npy b/lib/iris/tests/results/analysis/regrid/linear_circular_grid.data.0.npy
deleted file mode 100644
index f54d537169..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/linear_circular_grid.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/linear_circular_src.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_circular_src.data.0.json
new file mode 100644
index 0000000000..9a7f53d9b4
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_circular_src.data.0.json
@@ -0,0 +1 @@
+{"std": 2.5880997180938721, "min": 254.64399719238281, "max": 261.7274169921875, "shape": [4, 4], "masked": false, "mean": 258.11480712890625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_circular_src.data.0.npy b/lib/iris/tests/results/analysis/regrid/linear_circular_src.data.0.npy
deleted file mode 100644
index 4076eaa086..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/linear_circular_src.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/linear_circular_srcmissingmask.cml b/lib/iris/tests/results/analysis/regrid/linear_circular_srcmissingmask.cml
new file mode 100644
index 0000000000..fc218d2157
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_circular_srcmissingmask.cml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lib/iris/tests/results/analysis/regrid/linear_circular_srcmissingmask.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_circular_srcmissingmask.data.0.json
new file mode 100644
index 0000000000..c84a1ac854
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_circular_srcmissingmask.data.0.json
@@ -0,0 +1 @@
+{"std": 2.588099748331198, "min": 254.64399719238281, "max": 261.7274169921875, "shape": [4, 4], "masked": true, "mean": 258.11480712890625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_masked_altitude.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_masked_altitude.data.0.json
new file mode 100644
index 0000000000..36714edf9c
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_masked_altitude.data.0.json
@@ -0,0 +1 @@
+{"std": 0.33354389667510986, "min": 286.5152587890625, "max": 288.0738525390625, "shape": [5, 2, 4, 5], "masked": false, "mean": 287.3565673828125}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_masked_altitude.data.0.npy b/lib/iris/tests/results/analysis/regrid/linear_masked_altitude.data.0.npy
deleted file mode 100644
index ea15d32b53..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/linear_masked_altitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/linear_non_circular.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_non_circular.data.0.json
new file mode 100644
index 0000000000..1496975251
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_non_circular.data.0.json
@@ -0,0 +1 @@
+{"std": 2.5862049308282899, "min": 254.64399719238281, "max": 261.68328857421875, "shape": [4, 4], "masked": true, "mean": 258.11273193359375}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_non_circular.data.0.npy b/lib/iris/tests/results/analysis/regrid/linear_non_circular.data.0.npy
deleted file mode 100644
index f54d537169..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/linear_non_circular.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/linear_partial_overlap.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_partial_overlap.data.0.json
new file mode 100644
index 0000000000..19bcce33e2
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_partial_overlap.data.0.json
@@ -0,0 +1 @@
+{"std": 0.33802566423192859, "min": 286.60049438476562, "max": 287.97402954101562, "shape": [5, 2, 4, 4], "masked": true, "mean": 287.31777343750002}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_partial_overlap.data.0.npy b/lib/iris/tests/results/analysis/regrid/linear_partial_overlap.data.0.npy
deleted file mode 100644
index 86c93e538a..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/linear_partial_overlap.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/linear_subset.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_subset.data.0.json
new file mode 100644
index 0000000000..36714edf9c
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_subset.data.0.json
@@ -0,0 +1 @@
+{"std": 0.33354389667510986, "min": 286.5152587890625, "max": 288.0738525390625, "shape": [5, 2, 4, 5], "masked": false, "mean": 287.3565673828125}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_subset.data.0.npy b/lib/iris/tests/results/analysis/regrid/linear_subset.data.0.npy
deleted file mode 100644
index ea15d32b53..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/linear_subset.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/linear_subset_anon.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_subset_anon.data.0.json
new file mode 100644
index 0000000000..36714edf9c
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_subset_anon.data.0.json
@@ -0,0 +1 @@
+{"std": 0.33354389667510986, "min": 286.5152587890625, "max": 288.0738525390625, "shape": [5, 2, 4, 5], "masked": false, "mean": 287.3565673828125}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_subset_anon.data.0.npy b/lib/iris/tests/results/analysis/regrid/linear_subset_anon.data.0.npy
deleted file mode 100644
index ea15d32b53..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/linear_subset_anon.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/linear_subset_masked_1.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_subset_masked_1.data.0.json
new file mode 100644
index 0000000000..f74b89b3ec
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_subset_masked_1.data.0.json
@@ -0,0 +1 @@
+{"std": 0.32071127247937192, "min": 286.5152587890625, "max": 287.922607421875, "shape": [5, 2, 4, 5], "masked": true, "mean": 287.31103515625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_subset_masked_1.data.0.npy b/lib/iris/tests/results/analysis/regrid/linear_subset_masked_1.data.0.npy
deleted file mode 100644
index c6cbc66f6c..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/linear_subset_masked_1.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/linear_subset_masked_2.data.0.json b/lib/iris/tests/results/analysis/regrid/linear_subset_masked_2.data.0.json
new file mode 100644
index 0000000000..9202c611db
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/linear_subset_masked_2.data.0.json
@@ -0,0 +1 @@
+{"std": 0.30926843652344405, "min": 286.81167602539062, "max": 288.0738525390625, "shape": [5, 2, 4, 5], "masked": true, "mean": 287.44599609375001}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/linear_subset_masked_2.data.0.npy b/lib/iris/tests/results/analysis/regrid/linear_subset_masked_2.data.0.npy
deleted file mode 100644
index f9ee1d948b..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/linear_subset_masked_2.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_both_circular.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_both_circular.data.0.json
new file mode 100644
index 0000000000..484b8b268c
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_both_circular.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 254.64399719238281, "max": 254.64399719238281, "shape": [4, 4], "masked": false, "mean": 254.64399719238281}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_both_circular.data.0.npy b/lib/iris/tests/results/analysis/regrid/nearest_both_circular.data.0.npy
deleted file mode 100644
index fe9a1ba4db..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/nearest_both_circular.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_circular_grid.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_circular_grid.data.0.json
new file mode 100644
index 0000000000..dfccef151d
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_circular_grid.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 254.64399719238281, "max": 254.64399719238281, "shape": [4, 4], "masked": true, "mean": 254.64399719238281}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_circular_grid.data.0.npy b/lib/iris/tests/results/analysis/regrid/nearest_circular_grid.data.0.npy
deleted file mode 100644
index 788eabcd5e..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/nearest_circular_grid.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_circular_src.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_circular_src.data.0.json
new file mode 100644
index 0000000000..484b8b268c
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_circular_src.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 254.64399719238281, "max": 254.64399719238281, "shape": [4, 4], "masked": false, "mean": 254.64399719238281}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_circular_src.data.0.npy b/lib/iris/tests/results/analysis/regrid/nearest_circular_src.data.0.npy
deleted file mode 100644
index fe9a1ba4db..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/nearest_circular_src.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_circular_srcmissingmask.cml b/lib/iris/tests/results/analysis/regrid/nearest_circular_srcmissingmask.cml
new file mode 100644
index 0000000000..00ba3885bf
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_circular_srcmissingmask.cml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_circular_srcmissingmask.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_circular_srcmissingmask.data.0.json
new file mode 100644
index 0000000000..dfccef151d
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_circular_srcmissingmask.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 254.64399719238281, "max": 254.64399719238281, "shape": [4, 4], "masked": true, "mean": 254.64399719238281}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_masked_altitude.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_masked_altitude.data.0.json
new file mode 100644
index 0000000000..32fef225f0
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_masked_altitude.data.0.json
@@ -0,0 +1 @@
+{"std": 0.33481752872467041, "min": 286.47329711914062, "max": 288.09292602539062, "shape": [5, 2, 4, 5], "masked": false, "mean": 287.353515625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_masked_altitude.data.0.npy b/lib/iris/tests/results/analysis/regrid/nearest_masked_altitude.data.0.npy
deleted file mode 100644
index c4c568168c..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/nearest_masked_altitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_non_circular.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_non_circular.data.0.json
new file mode 100644
index 0000000000..dfccef151d
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_non_circular.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 254.64399719238281, "max": 254.64399719238281, "shape": [4, 4], "masked": true, "mean": 254.64399719238281}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_non_circular.data.0.npy b/lib/iris/tests/results/analysis/regrid/nearest_non_circular.data.0.npy
deleted file mode 100644
index 0d93e3f62e..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/nearest_non_circular.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_partial_overlap.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_partial_overlap.data.0.json
new file mode 100644
index 0000000000..fd10f58692
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_partial_overlap.data.0.json
@@ -0,0 +1 @@
+{"std": 0.34504886689951209, "min": 286.47329711914062, "max": 288.02426147460938, "shape": [5, 2, 4, 4], "masked": true, "mean": 287.30825195312502}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_partial_overlap.data.0.npy b/lib/iris/tests/results/analysis/regrid/nearest_partial_overlap.data.0.npy
deleted file mode 100644
index 69c3be79a2..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/nearest_partial_overlap.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_subset.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_subset.data.0.json
new file mode 100644
index 0000000000..32fef225f0
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_subset.data.0.json
@@ -0,0 +1 @@
+{"std": 0.33481752872467041, "min": 286.47329711914062, "max": 288.09292602539062, "shape": [5, 2, 4, 5], "masked": false, "mean": 287.353515625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_subset.data.0.npy b/lib/iris/tests/results/analysis/regrid/nearest_subset.data.0.npy
deleted file mode 100644
index c4c568168c..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/nearest_subset.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_subset_anon.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_subset_anon.data.0.json
new file mode 100644
index 0000000000..32fef225f0
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_subset_anon.data.0.json
@@ -0,0 +1 @@
+{"std": 0.33481752872467041, "min": 286.47329711914062, "max": 288.09292602539062, "shape": [5, 2, 4, 5], "masked": false, "mean": 287.353515625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_subset_anon.data.0.npy b/lib/iris/tests/results/analysis/regrid/nearest_subset_anon.data.0.npy
deleted file mode 100644
index c4c568168c..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/nearest_subset_anon.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_1.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_1.data.0.json
new file mode 100644
index 0000000000..c45dbec59e
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_1.data.0.json
@@ -0,0 +1 @@
+{"std": 0.32882911282299754, "min": 286.47329711914062, "max": 288.02426147460938, "shape": [5, 2, 4, 5], "masked": true, "mean": 287.33749999999998}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_1.data.0.npy b/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_1.data.0.npy
deleted file mode 100644
index c3e719426e..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_1.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_2.data.0.json b/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_2.data.0.json
new file mode 100644
index 0000000000..e9b376cdd4
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_2.data.0.json
@@ -0,0 +1 @@
+{"std": 0.3384940347877971, "min": 286.47329711914062, "max": 288.09292602539062, "shape": [5, 2, 4, 5], "masked": true, "mean": 287.3533935546875}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_2.data.0.npy b/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_2.data.0.npy
deleted file mode 100644
index a922c28593..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/nearest_subset_masked_2.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/regrid/no_overlap.data.0.json b/lib/iris/tests/results/analysis/regrid/no_overlap.data.0.json
new file mode 100644
index 0000000000..addd0b83c8
--- /dev/null
+++ b/lib/iris/tests/results/analysis/regrid/no_overlap.data.0.json
@@ -0,0 +1 @@
+{"std": NaN, "min": NaN, "max": NaN, "shape": [5, 2, 4, 4], "masked": true, "mean": NaN}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/regrid/no_overlap.data.0.npy b/lib/iris/tests/results/analysis/regrid/no_overlap.data.0.npy
deleted file mode 100644
index 26dae819e6..0000000000
Binary files a/lib/iris/tests/results/analysis/regrid/no_overlap.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/rms_latitude.data.0.json b/lib/iris/tests/results/analysis/rms_latitude.data.0.json
new file mode 100644
index 0000000000..ccf6ad33f9
--- /dev/null
+++ b/lib/iris/tests/results/analysis/rms_latitude.data.0.json
@@ -0,0 +1 @@
+{"std": 304.4558865010406, "min": 100892.27635006171, "max": 101991.30432025448, "shape": [10, 720], "masked": false, "mean": 101448.55325547748}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/rms_latitude.data.0.npy b/lib/iris/tests/results/analysis/rms_latitude.data.0.npy
deleted file mode 100644
index 3c9dc955d9..0000000000
Binary files a/lib/iris/tests/results/analysis/rms_latitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/rms_latitude_longitude.data.0.json b/lib/iris/tests/results/analysis/rms_latitude_longitude.data.0.json
new file mode 100644
index 0000000000..e52a5c046a
--- /dev/null
+++ b/lib/iris/tests/results/analysis/rms_latitude_longitude.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 101449.01010367858, "max": 101449.01010367858, "shape": [10], "masked": false, "mean": 101449.01010367858}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/rms_latitude_longitude.data.0.npy b/lib/iris/tests/results/analysis/rms_latitude_longitude.data.0.npy
deleted file mode 100644
index 6ee521e928..0000000000
Binary files a/lib/iris/tests/results/analysis/rms_latitude_longitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/rms_latitude_longitude_1call.data.0.json b/lib/iris/tests/results/analysis/rms_latitude_longitude_1call.data.0.json
new file mode 100644
index 0000000000..e52a5c046a
--- /dev/null
+++ b/lib/iris/tests/results/analysis/rms_latitude_longitude_1call.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 101449.01010367858, "max": 101449.01010367858, "shape": [10], "masked": false, "mean": 101449.01010367858}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/rms_latitude_longitude_1call.data.0.npy b/lib/iris/tests/results/analysis/rms_latitude_longitude_1call.data.0.npy
deleted file mode 100644
index 3495d9d96b..0000000000
Binary files a/lib/iris/tests/results/analysis/rms_latitude_longitude_1call.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/std_dev_latitude.data.0.json b/lib/iris/tests/results/analysis/std_dev_latitude.data.0.json
new file mode 100644
index 0000000000..429ea4dfea
--- /dev/null
+++ b/lib/iris/tests/results/analysis/std_dev_latitude.data.0.json
@@ -0,0 +1 @@
+{"std": 275.39299405545052, "min": 376.13037125253311, "max": 1345.9708206598209, "shape": [10, 720], "masked": false, "mean": 794.39235307916192}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/std_dev_latitude.data.0.npy b/lib/iris/tests/results/analysis/std_dev_latitude.data.0.npy
deleted file mode 100644
index 8246d19271..0000000000
Binary files a/lib/iris/tests/results/analysis/std_dev_latitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/std_dev_latitude_longitude.data.0.json b/lib/iris/tests/results/analysis/std_dev_latitude_longitude.data.0.json
new file mode 100644
index 0000000000..cac908a787
--- /dev/null
+++ b/lib/iris/tests/results/analysis/std_dev_latitude_longitude.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 275.5844386347452, "max": 275.5844386347452, "shape": [10], "masked": false, "mean": 275.5844386347452}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/std_dev_latitude_longitude.data.0.npy b/lib/iris/tests/results/analysis/std_dev_latitude_longitude.data.0.npy
deleted file mode 100644
index 3b20329695..0000000000
Binary files a/lib/iris/tests/results/analysis/std_dev_latitude_longitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/std_dev_latitude_longitude_1call.data.0.json b/lib/iris/tests/results/analysis/std_dev_latitude_longitude_1call.data.0.json
new file mode 100644
index 0000000000..20844c6e6d
--- /dev/null
+++ b/lib/iris/tests/results/analysis/std_dev_latitude_longitude_1call.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 893.70134844777931, "max": 893.70134844777931, "shape": [10], "masked": false, "mean": 893.70134844777931}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/std_dev_latitude_longitude_1call.data.0.npy b/lib/iris/tests/results/analysis/std_dev_latitude_longitude_1call.data.0.npy
deleted file mode 100644
index 0fa3864bf7..0000000000
Binary files a/lib/iris/tests/results/analysis/std_dev_latitude_longitude_1call.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/sum_latitude.data.0.json b/lib/iris/tests/results/analysis/sum_latitude.data.0.json
new file mode 100644
index 0000000000..e6dfa6bee7
--- /dev/null
+++ b/lib/iris/tests/results/analysis/sum_latitude.data.0.json
@@ -0,0 +1 @@
+{"std": 132050.29888502066, "min": 43582468.0, "max": 44059711.0, "shape": [10, 720], "masked": false, "mean": 43824271.781944446}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/sum_latitude.data.0.npy b/lib/iris/tests/results/analysis/sum_latitude.data.0.npy
deleted file mode 100644
index 4b74a4f3ca..0000000000
Binary files a/lib/iris/tests/results/analysis/sum_latitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/sum_latitude_longitude.data.0.json b/lib/iris/tests/results/analysis/sum_latitude_longitude.data.0.json
new file mode 100644
index 0000000000..7209db3059
--- /dev/null
+++ b/lib/iris/tests/results/analysis/sum_latitude_longitude.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 31553475683.0, "max": 31553475683.0, "shape": [10], "masked": false, "mean": 31553475683.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/sum_latitude_longitude.data.0.npy b/lib/iris/tests/results/analysis/sum_latitude_longitude.data.0.npy
deleted file mode 100644
index 9a08dab1f8..0000000000
Binary files a/lib/iris/tests/results/analysis/sum_latitude_longitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/sum_latitude_longitude_1call.data.0.json b/lib/iris/tests/results/analysis/sum_latitude_longitude_1call.data.0.json
new file mode 100644
index 0000000000..7209db3059
--- /dev/null
+++ b/lib/iris/tests/results/analysis/sum_latitude_longitude_1call.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 31553475683.0, "max": 31553475683.0, "shape": [10], "masked": false, "mean": 31553475683.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/sum_latitude_longitude_1call.data.0.npy b/lib/iris/tests/results/analysis/sum_latitude_longitude_1call.data.0.npy
deleted file mode 100644
index 9a08dab1f8..0000000000
Binary files a/lib/iris/tests/results/analysis/sum_latitude_longitude_1call.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/variance_latitude.data.0.json b/lib/iris/tests/results/analysis/variance_latitude.data.0.json
new file mode 100644
index 0000000000..a2a3f796fc
--- /dev/null
+++ b/lib/iris/tests/results/analysis/variance_latitude.data.0.json
@@ -0,0 +1 @@
+{"std": 463000.43254353397, "min": 141474.0561785684, "max": 1811637.4500676715, "shape": [10, 720], "masked": false, "mean": 706900.51180547348}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/variance_latitude.data.0.npy b/lib/iris/tests/results/analysis/variance_latitude.data.0.npy
deleted file mode 100644
index 2d55210df0..0000000000
Binary files a/lib/iris/tests/results/analysis/variance_latitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/variance_latitude_longitude.data.0.json b/lib/iris/tests/results/analysis/variance_latitude_longitude.data.0.json
new file mode 100644
index 0000000000..176e8d427e
--- /dev/null
+++ b/lib/iris/tests/results/analysis/variance_latitude_longitude.data.0.json
@@ -0,0 +1 @@
+{"std": 3.0517578125e-05, "min": 214667549910.37509, "max": 214667549910.37509, "shape": [10], "masked": false, "mean": 214667549910.37506}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/variance_latitude_longitude.data.0.npy b/lib/iris/tests/results/analysis/variance_latitude_longitude.data.0.npy
deleted file mode 100644
index 4a9f2caff2..0000000000
Binary files a/lib/iris/tests/results/analysis/variance_latitude_longitude.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/variance_latitude_longitude_1call.data.0.json b/lib/iris/tests/results/analysis/variance_latitude_longitude_1call.data.0.json
new file mode 100644
index 0000000000..912e415819
--- /dev/null
+++ b/lib/iris/tests/results/analysis/variance_latitude_longitude_1call.data.0.json
@@ -0,0 +1 @@
+{"std": 1.1641532182693481e-10, "min": 798702.10021737905, "max": 798702.10021737905, "shape": [10], "masked": false, "mean": 798702.10021737893}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/variance_latitude_longitude_1call.data.0.npy b/lib/iris/tests/results/analysis/variance_latitude_longitude_1call.data.0.npy
deleted file mode 100644
index b115cf6f1a..0000000000
Binary files a/lib/iris/tests/results/analysis/variance_latitude_longitude_1call.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/weighted_mean_lat.data.0.json b/lib/iris/tests/results/analysis/weighted_mean_lat.data.0.json
new file mode 100644
index 0000000000..164a524b42
--- /dev/null
+++ b/lib/iris/tests/results/analysis/weighted_mean_lat.data.0.json
@@ -0,0 +1 @@
+{"std": 0.61282587616379602, "min": 3.0, "max": 4.5, "shape": [3], "masked": true, "mean": 3.7666667302449546}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/weighted_mean_lat.data.0.npy b/lib/iris/tests/results/analysis/weighted_mean_lat.data.0.npy
deleted file mode 100644
index e756186220..0000000000
Binary files a/lib/iris/tests/results/analysis/weighted_mean_lat.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/weighted_mean_latlon.data.0.json b/lib/iris/tests/results/analysis/weighted_mean_latlon.data.0.json
new file mode 100644
index 0000000000..5bbe261527
--- /dev/null
+++ b/lib/iris/tests/results/analysis/weighted_mean_latlon.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 3.6666667461395264, "max": 3.6666667461395264, "shape": [], "masked": false, "mean": 3.6666667461395264}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/weighted_mean_latlon.data.0.npy b/lib/iris/tests/results/analysis/weighted_mean_latlon.data.0.npy
deleted file mode 100644
index b9a095a7ec..0000000000
Binary files a/lib/iris/tests/results/analysis/weighted_mean_latlon.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/analysis/weighted_mean_lon.data.0.json b/lib/iris/tests/results/analysis/weighted_mean_lon.data.0.json
new file mode 100644
index 0000000000..8de8439349
--- /dev/null
+++ b/lib/iris/tests/results/analysis/weighted_mean_lon.data.0.json
@@ -0,0 +1 @@
+{"std": 2.347693920135498, "min": 1.9166666269302368, "max": 7.6666665077209473, "shape": [3], "masked": false, "mean": 4.8166666030883789}
\ No newline at end of file
diff --git a/lib/iris/tests/results/analysis/weighted_mean_lon.data.0.npy b/lib/iris/tests/results/analysis/weighted_mean_lon.data.0.npy
deleted file mode 100644
index 13519b51fe..0000000000
Binary files a/lib/iris/tests/results/analysis/weighted_mean_lon.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_longitude_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/latitude_longitude_dual_stage.data.0.json
new file mode 100644
index 0000000000..ab473d237f
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/latitude_longitude_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20155135161352, "min": 286.57607421875002, "max": 1326.6421875000001, "shape": [6, 70], "masked": true, "mean": 368.57896210007442}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_longitude_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/latitude_longitude_dual_stage.data.0.npy
deleted file mode 100644
index aeb34aa664..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/latitude_longitude_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_longitude_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/latitude_longitude_single_stage.data.0.json
new file mode 100644
index 0000000000..412750edee
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/latitude_longitude_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20154787243786, "min": 286.5760498046875, "max": 1326.642333984375, "shape": [6, 70], "masked": true, "mean": 368.57894345238094}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_longitude_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/latitude_longitude_single_stage.data.0.npy
deleted file mode 100644
index 0f99d6627c..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/latitude_longitude_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_dual_stage.data.0.json
new file mode 100644
index 0000000000..ad71fdbfdb
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.070972059805802012, "min": 368.37784598214284, "max": 368.75493861607146, "shape": [6, 100], "masked": true, "mean": 368.57896214657734}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_dual_stage.data.0.npy
deleted file mode 100644
index 4acb36e6d7..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_single_stage.data.0.json
new file mode 100644
index 0000000000..9191df68be
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.070973517507074896, "min": 368.3778076171875, "max": 368.7548828125, "shape": [6, 100], "masked": true, "mean": 368.57895833333333}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_single_stage.data.0.npy
deleted file mode 100644
index a2a7c5ca10..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/latitude_model_level_number_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_time_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/latitude_time_dual_stage.data.0.json
new file mode 100644
index 0000000000..45b2b84210
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/latitude_time_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20140423648354, "min": 286.94415283203125, "max": 1326.8153483072917, "shape": [70, 100], "masked": true, "mean": 368.5789633527483}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_time_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/latitude_time_dual_stage.data.0.npy
deleted file mode 100644
index fb8204d385..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/latitude_time_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_time_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/latitude_time_single_stage.data.0.json
new file mode 100644
index 0000000000..1aab8b15ab
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/latitude_time_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20140361283885, "min": 286.94415283203125, "max": 1326.8154296875, "shape": [70, 100], "masked": true, "mean": 368.57896428571428}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/latitude_time_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/latitude_time_single_stage.data.0.npy
deleted file mode 100644
index 6b8c8f3f49..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/latitude_time_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_latitude_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/longitude_latitude_dual_stage.data.0.json
new file mode 100644
index 0000000000..66fb367494
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/longitude_latitude_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20155278295425, "min": 286.5760546875, "max": 1326.6421875000001, "shape": [6, 70], "masked": true, "mean": 368.57896330915179}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_latitude_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/longitude_latitude_dual_stage.data.0.npy
deleted file mode 100644
index deade421fe..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/longitude_latitude_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_latitude_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/longitude_latitude_single_stage.data.0.json
new file mode 100644
index 0000000000..412750edee
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/longitude_latitude_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20154787243786, "min": 286.5760498046875, "max": 1326.642333984375, "shape": [6, 70], "masked": true, "mean": 368.57894345238094}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_latitude_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/longitude_latitude_single_stage.data.0.npy
deleted file mode 100644
index 8a7246504c..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/longitude_latitude_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_dual_stage.data.0.json
new file mode 100644
index 0000000000..2c5695846f
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.076507800752643393, "min": 368.36489955357143, "max": 368.74302455357144, "shape": [6, 100], "masked": true, "mean": 368.57896340215774}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_dual_stage.data.0.npy
deleted file mode 100644
index c1df2dc58a..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_single_stage.data.0.json
new file mode 100644
index 0000000000..839b833658
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.076507733018594218, "min": 368.36489868164062, "max": 368.7430419921875, "shape": [6, 100], "masked": true, "mean": 368.57895833333333}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_single_stage.data.0.npy
deleted file mode 100644
index de4ab908f3..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/longitude_model_level_number_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_time_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/longitude_time_dual_stage.data.0.json
new file mode 100644
index 0000000000..62f2171d77
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/longitude_time_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20142290782221, "min": 287.06424967447919, "max": 1327.0152180989583, "shape": [70, 100], "masked": true, "mean": 368.57896332077746}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_time_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/longitude_time_dual_stage.data.0.npy
deleted file mode 100644
index b95d08eab5..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/longitude_time_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_time_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/longitude_time_single_stage.data.0.json
new file mode 100644
index 0000000000..83adfce54a
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/longitude_time_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20142856585872, "min": 287.06423950195312, "max": 1327.0152587890625, "shape": [70, 100], "masked": true, "mean": 368.57896428571428}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/longitude_time_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/longitude_time_single_stage.data.0.npy
deleted file mode 100644
index afa26f763c..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/longitude_time_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_dual_stage.data.0.json
new file mode 100644
index 0000000000..b3a6c3bc25
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.070973870961262162, "min": 368.3778125, "max": 368.7548828125, "shape": [6, 100], "masked": true, "mean": 368.57896432291665}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_dual_stage.data.0.npy
deleted file mode 100644
index a55d42ea73..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_single_stage.data.0.json
new file mode 100644
index 0000000000..9191df68be
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.070973517507074896, "min": 368.3778076171875, "max": 368.7548828125, "shape": [6, 100], "masked": true, "mean": 368.57895833333333}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_single_stage.data.0.npy
deleted file mode 100644
index 93a972e4a9..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/model_level_number_latitude_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_dual_stage.data.0.json
new file mode 100644
index 0000000000..e6f86468ae
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.076508496136123455, "min": 368.36492187499999, "max": 368.743046875, "shape": [6, 100], "masked": true, "mean": 368.57896223958329}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_dual_stage.data.0.npy
deleted file mode 100644
index e472a606f3..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_single_stage.data.0.json
new file mode 100644
index 0000000000..839b833658
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.076507733018594218, "min": 368.36489868164062, "max": 368.7430419921875, "shape": [6, 100], "masked": true, "mean": 368.57895833333333}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_single_stage.data.0.npy
deleted file mode 100644
index b910549a56..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/model_level_number_longitude_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_time_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/model_level_number_time_dual_stage.data.0.json
new file mode 100644
index 0000000000..b41a83f3d7
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/model_level_number_time_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.1376022048268124, "min": 368.2593994140625, "max": 369.01175944010419, "shape": [100, 100], "masked": true, "mean": 368.57896353352874}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_time_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/model_level_number_time_dual_stage.data.0.npy
deleted file mode 100644
index 81ca71d092..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/model_level_number_time_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_time_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/model_level_number_time_single_stage.data.0.json
new file mode 100644
index 0000000000..5af0b688f9
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/model_level_number_time_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.13760229016549494, "min": 368.2593994140625, "max": 369.01174926757812, "shape": [100, 100], "masked": true, "mean": 368.57897500000001}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/model_level_number_time_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/model_level_number_time_single_stage.data.0.npy
deleted file mode 100644
index 9a5e8b1ede..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/model_level_number_time_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/time_latitude_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/time_latitude_dual_stage.data.0.json
new file mode 100644
index 0000000000..a6109dbb88
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/time_latitude_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20140556610502, "min": 286.94416015625001, "max": 1326.81546875, "shape": [70, 100], "masked": true, "mean": 368.57896378906258}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/time_latitude_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/time_latitude_dual_stage.data.0.npy
deleted file mode 100644
index b102725174..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/time_latitude_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/time_latitude_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/time_latitude_single_stage.data.0.json
new file mode 100644
index 0000000000..1aab8b15ab
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/time_latitude_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20140361283885, "min": 286.94415283203125, "max": 1326.8154296875, "shape": [70, 100], "masked": true, "mean": 368.57896428571428}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/time_latitude_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/time_latitude_single_stage.data.0.npy
deleted file mode 100644
index 01ab0da11a..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/time_latitude_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/time_longitude_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/time_longitude_dual_stage.data.0.json
new file mode 100644
index 0000000000..fb1045cc73
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/time_longitude_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20142267719854, "min": 287.06423828125003, "max": 1327.0153124999999, "shape": [70, 100], "masked": true, "mean": 368.57896318080356}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/time_longitude_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/time_longitude_dual_stage.data.0.npy
deleted file mode 100644
index 197a221272..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/time_longitude_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/time_longitude_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/time_longitude_single_stage.data.0.json
new file mode 100644
index 0000000000..83adfce54a
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/time_longitude_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 183.20142856585872, "min": 287.06423950195312, "max": 1327.0152587890625, "shape": [70, 100], "masked": true, "mean": 368.57896428571428}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/time_longitude_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/time_longitude_single_stage.data.0.npy
deleted file mode 100644
index f8da8ad229..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/time_longitude_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/time_model_level_number_dual_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/time_model_level_number_dual_stage.data.0.json
new file mode 100644
index 0000000000..edfac448f5
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/time_model_level_number_dual_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.13760184846046464, "min": 368.25937499999998, "max": 369.01171875, "shape": [100, 100], "masked": true, "mean": 368.5789632645089}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/time_model_level_number_dual_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/time_model_level_number_dual_stage.data.0.npy
deleted file mode 100644
index d87b1cb89f..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/time_model_level_number_dual_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/time_model_level_number_single_stage.data.0.json b/lib/iris/tests/results/cube_collapsed/time_model_level_number_single_stage.data.0.json
new file mode 100644
index 0000000000..5af0b688f9
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/time_model_level_number_single_stage.data.0.json
@@ -0,0 +1 @@
+{"std": 0.13760229016549494, "min": 368.2593994140625, "max": 369.01174926757812, "shape": [100, 100], "masked": true, "mean": 368.57897500000001}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/time_model_level_number_single_stage.data.0.npy b/lib/iris/tests/results/cube_collapsed/time_model_level_number_single_stage.data.0.npy
deleted file mode 100644
index 05888551f9..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/time_model_level_number_single_stage.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/triple_collapse_lat_ml_pt.data.0.json b/lib/iris/tests/results/cube_collapsed/triple_collapse_lat_ml_pt.data.0.json
new file mode 100644
index 0000000000..37b188d743
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/triple_collapse_lat_ml_pt.data.0.json
@@ -0,0 +1 @@
+{"std": 0.048989868829430488, "min": 368.46124267578125, "max": 368.68606567382812, "shape": [100], "masked": true, "mean": 368.57249999999999}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/triple_collapse_lat_ml_pt.data.0.npy b/lib/iris/tests/results/cube_collapsed/triple_collapse_lat_ml_pt.data.0.npy
deleted file mode 100644
index 0754ae5809..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/triple_collapse_lat_ml_pt.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/cube_collapsed/triple_collapse_ml_pt_lon.data.0.json b/lib/iris/tests/results/cube_collapsed/triple_collapse_ml_pt_lon.data.0.json
new file mode 100644
index 0000000000..d44be9ceff
--- /dev/null
+++ b/lib/iris/tests/results/cube_collapsed/triple_collapse_ml_pt_lon.data.0.json
@@ -0,0 +1 @@
+{"std": 0.059104604901192966, "min": 368.43679809570312, "max": 368.67816162109375, "shape": [100], "masked": true, "mean": 368.57890624999999}
\ No newline at end of file
diff --git a/lib/iris/tests/results/cube_collapsed/triple_collapse_ml_pt_lon.data.0.npy b/lib/iris/tests/results/cube_collapsed/triple_collapse_ml_pt_lon.data.0.npy
deleted file mode 100644
index 0a90ca50e0..0000000000
Binary files a/lib/iris/tests/results/cube_collapsed/triple_collapse_ml_pt_lon.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/basic_orthogonal_cube.data.0.json b/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/basic_orthogonal_cube.data.0.json
new file mode 100644
index 0000000000..e9e8754bee
--- /dev/null
+++ b/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/basic_orthogonal_cube.data.0.json
@@ -0,0 +1 @@
+{"std": 6.551081657409668, "min": 0.0, "max": 21.0, "shape": [3, 3, 2], "masked": false, "mean": 12.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/basic_orthogonal_cube.data.0.npy b/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/basic_orthogonal_cube.data.0.npy
deleted file mode 100644
index 27a7645dab..0000000000
Binary files a/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/basic_orthogonal_cube.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/orthogonal_cube_1d_squashed.data.0.json b/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/orthogonal_cube_1d_squashed.data.0.json
new file mode 100644
index 0000000000..5b8ba329e1
--- /dev/null
+++ b/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/orthogonal_cube_1d_squashed.data.0.json
@@ -0,0 +1 @@
+{"std": 3.3040380477905273, "min": 0.0, "max": 9.0, "shape": [3, 2], "masked": false, "mean": 4.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/orthogonal_cube_1d_squashed.data.0.npy b/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/orthogonal_cube_1d_squashed.data.0.npy
deleted file mode 100644
index 43a3d28cf3..0000000000
Binary files a/lib/iris/tests/results/experimental/analysis/interpolate/LinearInterpolator/orthogonal_cube_1d_squashed.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd.data.0.json b/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd.data.0.json
new file mode 100644
index 0000000000..6778a301c3
--- /dev/null
+++ b/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd.data.0.json
@@ -0,0 +1 @@
+{"std": 3.4520525932312012, "min": 6.0, "max": 17.0, "shape": [3, 4], "masked": false, "mean": 11.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd.data.0.npy b/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd.data.0.npy
deleted file mode 100644
index 6a2ccb6b6d..0000000000
Binary files a/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_2_coords.data.0.json b/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_2_coords.data.0.json
new file mode 100644
index 0000000000..b85c1c8353
--- /dev/null
+++ b/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_2_coords.data.0.json
@@ -0,0 +1 @@
+{"std": 6.0, "min": 7.5, "max": 19.5, "shape": [2], "masked": false, "mean": 13.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_2_coords.data.0.npy b/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_2_coords.data.0.npy
deleted file mode 100644
index 4516f68d76..0000000000
Binary files a/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_2_coords.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_with_extrapolation.data.0.json b/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_with_extrapolation.data.0.json
new file mode 100644
index 0000000000..1c18659523
--- /dev/null
+++ b/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_with_extrapolation.data.0.json
@@ -0,0 +1 @@
+{"std": 3.4520523548126221, "min": -5.1000003814697266, "max": 5.899998664855957, "shape": [3, 4], "masked": false, "mean": 0.39999952912330627}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_with_extrapolation.data.0.npy b/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_with_extrapolation.data.0.npy
deleted file mode 100644
index e58f7f2f2b..0000000000
Binary files a/lib/iris/tests/results/experimental/analysis/interpolate/linear_nd_with_extrapolation.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lat_cross_section.data.0.json b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lat_cross_section.data.0.json
new file mode 100644
index 0000000000..c99b0ef25d
--- /dev/null
+++ b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lat_cross_section.data.0.json
@@ -0,0 +1 @@
+{"std": 0.049194271888948204, "min": 287.83400456072997, "max": 288.09036649547346, "shape": [5, 18], "masked": false, "mean": 288.00649837715025}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lat_cross_section.data.0.npy b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lat_cross_section.data.0.npy
deleted file mode 100644
index 07af002dea..0000000000
Binary files a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lat_cross_section.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lon_cross_section.data.0.json b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lon_cross_section.data.0.json
new file mode 100644
index 0000000000..29d6aa3488
--- /dev/null
+++ b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lon_cross_section.data.0.json
@@ -0,0 +1 @@
+{"std": 0.053120598663116025, "min": 287.90810573168818, "max": 288.14679568802029, "shape": [5, 12], "masked": false, "mean": 288.02641852126851}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lon_cross_section.data.0.npy b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lon_cross_section.data.0.npy
deleted file mode 100644
index e512bd9332..0000000000
Binary files a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/const_lon_cross_section.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/higher.data.0.json b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/higher.data.0.json
new file mode 100644
index 0000000000..ca78693c58
--- /dev/null
+++ b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/higher.data.0.json
@@ -0,0 +1 @@
+{"std": 3.3421254401075182, "min": 0.0, "max": 11.0, "shape": [10, 14], "masked": false, "mean": 5.4999959381734458}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/higher.data.0.npy b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/higher.data.0.npy
deleted file mode 100644
index 28ac6fc5d3..0000000000
Binary files a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/higher.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/hybridheight.data.0.json b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/hybridheight.data.0.json
new file mode 100644
index 0000000000..732977b903
--- /dev/null
+++ b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/hybridheight.data.0.json
@@ -0,0 +1 @@
+{"std": 0.10611990310218537, "min": 287.59569757163996, "max": 288.16508077725081, "shape": [2, 5, 16, 21], "masked": false, "mean": 287.91804930402083}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/hybridheight.data.0.npy b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/hybridheight.data.0.npy
deleted file mode 100644
index 2a7043b2a8..0000000000
Binary files a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/hybridheight.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/latlonreduced.data.0.json b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/latlonreduced.data.0.json
new file mode 100644
index 0000000000..afc254dc97
--- /dev/null
+++ b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/latlonreduced.data.0.json
@@ -0,0 +1 @@
+{"std": 3.1622776601683786, "min": 2.5, "max": 10.499999999999998, "shape": [2, 2], "masked": false, "mean": 6.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/latlonreduced.data.0.npy b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/latlonreduced.data.0.npy
deleted file mode 100644
index c70ff258cf..0000000000
Binary files a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/latlonreduced.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lonhalved.data.0.json b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lonhalved.data.0.json
new file mode 100644
index 0000000000..902c6b1ccc
--- /dev/null
+++ b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lonhalved.data.0.json
@@ -0,0 +1 @@
+{"std": 3.4156391123995582, "min": 0.50001583411168193, "max": 10.499984163856872, "shape": [3, 2], "masked": false, "mean": 5.4999999993228519}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lonhalved.data.0.npy b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lonhalved.data.0.npy
deleted file mode 100644
index f37374a16e..0000000000
Binary files a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lonhalved.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lower.data.0.json b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lower.data.0.json
new file mode 100644
index 0000000000..223c1fa48b
--- /dev/null
+++ b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lower.data.0.json
@@ -0,0 +1 @@
+{"std": 2.8551710936291563, "min": 1.5833798185348189, "max": 9.4164170613250846, "shape": [2, 3], "masked": false, "mean": 5.4998984399299529}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lower.data.0.npy b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lower.data.0.npy
deleted file mode 100644
index 6d5ad92beb..0000000000
Binary files a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/lower.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/simple.data.0.json b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/simple.data.0.json
new file mode 100644
index 0000000000..59542e9e83
--- /dev/null
+++ b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/simple.data.0.json
@@ -0,0 +1 @@
+{"std": 3.4520525295346629, "min": 0.0, "max": 11.0, "shape": [3, 4], "masked": false, "mean": 5.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/simple.data.0.npy b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/simple.data.0.npy
deleted file mode 100644
index ea8827ec09..0000000000
Binary files a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/simple.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/trasposed.data.0.json b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/trasposed.data.0.json
new file mode 100644
index 0000000000..0525283f0a
--- /dev/null
+++ b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/trasposed.data.0.json
@@ -0,0 +1 @@
+{"std": 1.0, "min": 4.499593812507495, "max": 6.499593812507495, "shape": [2], "masked": false, "mean": 5.499593812507495}
\ No newline at end of file
diff --git a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/trasposed.data.0.npy b/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/trasposed.data.0.npy
deleted file mode 100644
index 1be15f3f01..0000000000
Binary files a/lib/iris/tests/results/experimental/regrid/regrid_area_weighted_rectilinear_src_and_grid/trasposed.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/integration/grib2/TestDRT3/grid_complex_spatial_differencing.data.0.json b/lib/iris/tests/results/integration/grib2/TestDRT3/grid_complex_spatial_differencing.data.0.json
new file mode 100644
index 0000000000..f42d355d31
--- /dev/null
+++ b/lib/iris/tests/results/integration/grib2/TestDRT3/grid_complex_spatial_differencing.data.0.json
@@ -0,0 +1 @@
+{"std": 7.798695691713748, "min": -34.43, "max": 33.009999999999998, "shape": [73, 144], "masked": true, "mean": 2.3147813807531383}
\ No newline at end of file
diff --git a/lib/iris/tests/results/integration/grib2/TestDRT3/grid_complex_spatial_differencing.data.0.npy b/lib/iris/tests/results/integration/grib2/TestDRT3/grid_complex_spatial_differencing.data.0.npy
deleted file mode 100644
index a378f79a21..0000000000
Binary files a/lib/iris/tests/results/integration/grib2/TestDRT3/grid_complex_spatial_differencing.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/integration/grib2/TestGDT30/lambert.data.0.json b/lib/iris/tests/results/integration/grib2/TestGDT30/lambert.data.0.json
new file mode 100644
index 0000000000..99d58c5e34
--- /dev/null
+++ b/lib/iris/tests/results/integration/grib2/TestGDT30/lambert.data.0.json
@@ -0,0 +1 @@
+{"std": 5.3916288115779398, "min": 265.550048828125, "max": 300.862548828125, "shape": [799, 1199], "masked": false, "mean": 287.6306666328037}
\ No newline at end of file
diff --git a/lib/iris/tests/results/integration/grib2/TestGDT30/lambert.data.0.npy b/lib/iris/tests/results/integration/grib2/TestGDT30/lambert.data.0.npy
deleted file mode 100644
index 29d5c9f5ef..0000000000
Binary files a/lib/iris/tests/results/integration/grib2/TestGDT30/lambert.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/integration/grib2/TestGDT40/reduced.data.0.json b/lib/iris/tests/results/integration/grib2/TestGDT40/reduced.data.0.json
new file mode 100644
index 0000000000..4cd44b531e
--- /dev/null
+++ b/lib/iris/tests/results/integration/grib2/TestGDT40/reduced.data.0.json
@@ -0,0 +1 @@
+{"std": 6295.5250434859099, "min": -6419.0146484375, "max": 55403.9853515625, "shape": [13280], "masked": false, "mean": 2446.3044780685241}
\ No newline at end of file
diff --git a/lib/iris/tests/results/integration/grib2/TestGDT40/reduced.data.0.npy b/lib/iris/tests/results/integration/grib2/TestGDT40/reduced.data.0.npy
deleted file mode 100644
index d65911aabf..0000000000
Binary files a/lib/iris/tests/results/integration/grib2/TestGDT40/reduced.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/integration/grib2/TestGDT40/regular.data.0.json b/lib/iris/tests/results/integration/grib2/TestGDT40/regular.data.0.json
new file mode 100644
index 0000000000..9595f90e89
--- /dev/null
+++ b/lib/iris/tests/results/integration/grib2/TestGDT40/regular.data.0.json
@@ -0,0 +1 @@
+{"std": 290.49181302067751, "min": 4388.16162109375, "max": 5576.53662109375, "shape": [96, 192], "masked": false, "mean": 5210.564598931207}
\ No newline at end of file
diff --git a/lib/iris/tests/results/integration/grib2/TestGDT40/regular.data.0.npy b/lib/iris/tests/results/integration/grib2/TestGDT40/regular.data.0.npy
deleted file mode 100644
index 152aa39cc4..0000000000
Binary files a/lib/iris/tests/results/integration/grib2/TestGDT40/regular.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/integration/grib2/TestImport/gdt1.data.0.json b/lib/iris/tests/results/integration/grib2/TestImport/gdt1.data.0.json
new file mode 100644
index 0000000000..2b416f6a93
--- /dev/null
+++ b/lib/iris/tests/results/integration/grib2/TestImport/gdt1.data.0.json
@@ -0,0 +1 @@
+{"std": 6.1629553729365423, "min": 266.625, "max": 302.25, "shape": [360, 600], "masked": false, "mean": 284.43164236111113}
\ No newline at end of file
diff --git a/lib/iris/tests/results/integration/grib2/TestImport/gdt1.data.0.npy b/lib/iris/tests/results/integration/grib2/TestImport/gdt1.data.0.npy
deleted file mode 100644
index 3031475c78..0000000000
Binary files a/lib/iris/tests/results/integration/grib2/TestImport/gdt1.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/integration/grib2/TestImport/gdt90_with_bitmap.data.0.json b/lib/iris/tests/results/integration/grib2/TestImport/gdt90_with_bitmap.data.0.json
new file mode 100644
index 0000000000..08c3cb82cb
--- /dev/null
+++ b/lib/iris/tests/results/integration/grib2/TestImport/gdt90_with_bitmap.data.0.json
@@ -0,0 +1 @@
+{"std": 13.780125280995835, "min": 208.90541992187502, "max": 287.25541992187499, "shape": [227, 390], "masked": true, "mean": 266.3984425053925}
\ No newline at end of file
diff --git a/lib/iris/tests/results/integration/grib2/TestImport/gdt90_with_bitmap.data.0.npy b/lib/iris/tests/results/integration/grib2/TestImport/gdt90_with_bitmap.data.0.npy
deleted file mode 100644
index a59dcf6562..0000000000
Binary files a/lib/iris/tests/results/integration/grib2/TestImport/gdt90_with_bitmap.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_field.data.0.json b/lib/iris/tests/results/name/NAMEIII_field.data.0.json
new file mode 100644
index 0000000000..883332a4d5
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_field.data.0.json
@@ -0,0 +1 @@
+{"std": 9.2157414144367067e-08, "min": 0.0, "max": 4.62122034150525e-06, "shape": [200, 200], "masked": false, "mean": 4.639838735442936e-09}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_field.data.0.npy b/lib/iris/tests/results/name/NAMEIII_field.data.0.npy
deleted file mode 100644
index c950864dec..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_field.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_field.data.1.json b/lib/iris/tests/results/name/NAMEIII_field.data.1.json
new file mode 100644
index 0000000000..f08f477bde
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_field.data.1.json
@@ -0,0 +1 @@
+{"std": 2.5599286579414127e-11, "min": 0.0, "max": 1.283672279583925e-09, "shape": [200, 200], "masked": false, "mean": 1.2888440314995364e-12}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_field.data.1.npy b/lib/iris/tests/results/name/NAMEIII_field.data.1.npy
deleted file mode 100644
index be1510693f..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_field.data.1.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_field.data.2.json b/lib/iris/tests/results/name/NAMEIII_field.data.2.json
new file mode 100644
index 0000000000..62bb264316
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_field.data.2.json
@@ -0,0 +1 @@
+{"std": 2.9475852314497786e-10, "min": 0.0, "max": 1.5096331296149401e-08, "shape": [200, 200], "masked": false, "mean": 1.4808954409972763e-11}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_field.data.2.npy b/lib/iris/tests/results/name/NAMEIII_field.data.2.npy
deleted file mode 100644
index 71d9f06400..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_field.data.2.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_field.data.3.json b/lib/iris/tests/results/name/NAMEIII_field.data.3.json
new file mode 100644
index 0000000000..aec65f4682
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_field.data.3.json
@@ -0,0 +1 @@
+{"std": 1.8573325100135207e-09, "min": 0.0, "max": 1.231626072240033e-07, "shape": [200, 200], "masked": false, "mean": 8.4571800951227516e-11}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_field.data.3.npy b/lib/iris/tests/results/name/NAMEIII_field.data.3.npy
deleted file mode 100644
index 212e34c3cc..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_field.data.3.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_field.data.4.json b/lib/iris/tests/results/name/NAMEIII_field.data.4.json
new file mode 100644
index 0000000000..01816dee83
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_field.data.4.json
@@ -0,0 +1 @@
+{"std": 2.1372636993532979e-09, "min": 0.0, "max": 1.3791643027616374e-07, "shape": [200, 200], "masked": false, "mean": 9.9380746687582899e-11}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_field.data.4.npy b/lib/iris/tests/results/name/NAMEIII_field.data.4.npy
deleted file mode 100644
index 895525b1ca..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_field.data.4.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_timeseries.data.0.json b/lib/iris/tests/results/name/NAMEIII_timeseries.data.0.json
new file mode 100644
index 0000000000..c27b4d01e2
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_timeseries.data.0.json
@@ -0,0 +1 @@
+{"std": 1.0903463650057284e-13, "min": 0.0, "max": 4.0756873000000001e-13, "shape": [72], "masked": false, "mean": 1.0429130496540107e-13}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_timeseries.data.0.npy b/lib/iris/tests/results/name/NAMEIII_timeseries.data.0.npy
deleted file mode 100644
index 02158cad2b..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_timeseries.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_timeseries.data.1.json b/lib/iris/tests/results/name/NAMEIII_timeseries.data.1.json
new file mode 100644
index 0000000000..a716c1476f
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_timeseries.data.1.json
@@ -0,0 +1 @@
+{"std": 3.9252465982468551e-10, "min": 0.0, "max": 1.4672473e-09, "shape": [72], "masked": false, "mean": 3.7544867036405361e-10}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_timeseries.data.1.npy b/lib/iris/tests/results/name/NAMEIII_timeseries.data.1.npy
deleted file mode 100644
index b50bd0acb2..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_timeseries.data.1.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_timeseries.data.2.json b/lib/iris/tests/results/name/NAMEIII_timeseries.data.2.json
new file mode 100644
index 0000000000..5063a2bbbe
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_timeseries.data.2.json
@@ -0,0 +1 @@
+{"std": 5.2873227247937624e-17, "min": 0.0, "max": 1.948949e-16, "shape": [72], "masked": false, "mean": 5.7200061676526515e-17}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_timeseries.data.2.npy b/lib/iris/tests/results/name/NAMEIII_timeseries.data.2.npy
deleted file mode 100644
index 73260ef02c..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_timeseries.data.2.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_timeseries.data.3.json b/lib/iris/tests/results/name/NAMEIII_timeseries.data.3.json
new file mode 100644
index 0000000000..4de7113959
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_timeseries.data.3.json
@@ -0,0 +1 @@
+{"std": 3.2318527050866585e-15, "min": 0.0, "max": 1.7424067e-14, "shape": [72], "masked": false, "mean": 1.2610151829633925e-15}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_timeseries.data.3.npy b/lib/iris/tests/results/name/NAMEIII_timeseries.data.3.npy
deleted file mode 100644
index cb840faccc..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_timeseries.data.3.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_timeseries.data.4.json b/lib/iris/tests/results/name/NAMEIII_timeseries.data.4.json
new file mode 100644
index 0000000000..9e1f769617
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_timeseries.data.4.json
@@ -0,0 +1 @@
+{"std": 3.2470735674477217e-15, "min": 0.0, "max": 1.7555705e-14, "shape": [72], "masked": false, "mean": 1.3182152734315856e-15}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_timeseries.data.4.npy b/lib/iris/tests/results/name/NAMEIII_timeseries.data.4.npy
deleted file mode 100644
index f06e1e768f..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_timeseries.data.4.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_version2.data.0.json b/lib/iris/tests/results/name/NAMEIII_version2.data.0.json
new file mode 100644
index 0000000000..ef507ff2db
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_version2.data.0.json
@@ -0,0 +1 @@
+{"std": 1.7932158868916304e-08, "min": 0.0, "max": 1.0494331803556634e-07, "shape": [24, 10], "masked": false, "mean": 4.7153978499636651e-09}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_version2.data.0.npy b/lib/iris/tests/results/name/NAMEIII_version2.data.0.npy
deleted file mode 100644
index e60424b0a7..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_version2.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_version2.data.1.json b/lib/iris/tests/results/name/NAMEIII_version2.data.1.json
new file mode 100644
index 0000000000..9d042e090d
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_version2.data.1.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 0.0, "max": 0.0, "shape": [24, 10], "masked": false, "mean": 0.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_version2.data.1.npy b/lib/iris/tests/results/name/NAMEIII_version2.data.1.npy
deleted file mode 100644
index c3202622ae..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_version2.data.1.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_version2.data.2.json b/lib/iris/tests/results/name/NAMEIII_version2.data.2.json
new file mode 100644
index 0000000000..f2be43debd
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_version2.data.2.json
@@ -0,0 +1 @@
+{"std": 3.3590910608616298e-10, "min": 0.0, "max": 1.910191560483554e-09, "shape": [24, 10], "masked": false, "mean": 1.5448627099790002e-10}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_version2.data.2.npy b/lib/iris/tests/results/name/NAMEIII_version2.data.2.npy
deleted file mode 100644
index 4fc71e43e9..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_version2.data.2.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEIII_version2.data.3.json b/lib/iris/tests/results/name/NAMEIII_version2.data.3.json
new file mode 100644
index 0000000000..9d042e090d
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEIII_version2.data.3.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 0.0, "max": 0.0, "shape": [24, 10], "masked": false, "mean": 0.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEIII_version2.data.3.npy b/lib/iris/tests/results/name/NAMEIII_version2.data.3.npy
deleted file mode 100644
index c3202622ae..0000000000
Binary files a/lib/iris/tests/results/name/NAMEIII_version2.data.3.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEII_field.data.0.json b/lib/iris/tests/results/name/NAMEII_field.data.0.json
new file mode 100644
index 0000000000..04dfa72151
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEII_field.data.0.json
@@ -0,0 +1 @@
+{"std": 2.1295469831983382e-09, "min": 0.0, "max": 4.8132168473102865e-08, "shape": [200, 200], "masked": false, "mean": 2.1555640605797066e-10}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEII_field.data.0.npy b/lib/iris/tests/results/name/NAMEII_field.data.0.npy
deleted file mode 100644
index 7082115bdf..0000000000
Binary files a/lib/iris/tests/results/name/NAMEII_field.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEII_field.data.1.json b/lib/iris/tests/results/name/NAMEII_field.data.1.json
new file mode 100644
index 0000000000..5aa4b4ccc5
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEII_field.data.1.json
@@ -0,0 +1 @@
+{"std": 2.2493359210784547e-05, "min": 0.0, "max": 0.00048885477008298039, "shape": [200, 200], "masked": false, "mean": 2.3138848064263584e-06}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEII_field.data.1.npy b/lib/iris/tests/results/name/NAMEII_field.data.1.npy
deleted file mode 100644
index 2fba787a8a..0000000000
Binary files a/lib/iris/tests/results/name/NAMEII_field.data.1.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEII_field.data.2.json b/lib/iris/tests/results/name/NAMEII_field.data.2.json
new file mode 100644
index 0000000000..d04d414178
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEII_field.data.2.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 0.0, "max": 0.0, "shape": [200, 200], "masked": false, "mean": 0.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEII_field.data.2.npy b/lib/iris/tests/results/name/NAMEII_field.data.2.npy
deleted file mode 100644
index 8d96945912..0000000000
Binary files a/lib/iris/tests/results/name/NAMEII_field.data.2.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEII_field.data.3.json b/lib/iris/tests/results/name/NAMEII_field.data.3.json
new file mode 100644
index 0000000000..03a03764d6
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEII_field.data.3.json
@@ -0,0 +1 @@
+{"std": 1.1607482264253122e-07, "min": 0.0, "max": 2.5288968572567683e-06, "shape": [200, 200], "masked": false, "mean": 1.1793673593274434e-08}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEII_field.data.3.npy b/lib/iris/tests/results/name/NAMEII_field.data.3.npy
deleted file mode 100644
index 16373092db..0000000000
Binary files a/lib/iris/tests/results/name/NAMEII_field.data.3.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEII_field.data.4.json b/lib/iris/tests/results/name/NAMEII_field.data.4.json
new file mode 100644
index 0000000000..03a03764d6
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEII_field.data.4.json
@@ -0,0 +1 @@
+{"std": 1.1607482264253122e-07, "min": 0.0, "max": 2.5288968572567683e-06, "shape": [200, 200], "masked": false, "mean": 1.1793673593274434e-08}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEII_field.data.4.npy b/lib/iris/tests/results/name/NAMEII_field.data.4.npy
deleted file mode 100644
index 16373092db..0000000000
Binary files a/lib/iris/tests/results/name/NAMEII_field.data.4.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEII_timeseries.data.0.json b/lib/iris/tests/results/name/NAMEII_timeseries.data.0.json
new file mode 100644
index 0000000000..5c23310a7b
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEII_timeseries.data.0.json
@@ -0,0 +1 @@
+{"std": 0.00033021471021460599, "min": 0.0, "max": 0.0015961617, "shape": [132], "masked": false, "mean": 0.00019860586272835146}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEII_timeseries.data.0.npy b/lib/iris/tests/results/name/NAMEII_timeseries.data.0.npy
deleted file mode 100644
index 20972b6393..0000000000
Binary files a/lib/iris/tests/results/name/NAMEII_timeseries.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/name/NAMEII_timeseries.data.1.json b/lib/iris/tests/results/name/NAMEII_timeseries.data.1.json
new file mode 100644
index 0000000000..936e74deb3
--- /dev/null
+++ b/lib/iris/tests/results/name/NAMEII_timeseries.data.1.json
@@ -0,0 +1 @@
+{"std": 0.00017462574781585265, "min": 0.0, "max": 0.00099772017000000009, "shape": [132], "masked": false, "mean": 9.5217456948642194e-05}
\ No newline at end of file
diff --git a/lib/iris/tests/results/name/NAMEII_timeseries.data.1.npy b/lib/iris/tests/results/name/NAMEII_timeseries.data.1.npy
deleted file mode 100644
index 54ef0eee77..0000000000
Binary files a/lib/iris/tests/results/name/NAMEII_timeseries.data.1.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/airpress_on_theta_0d.data.0.json b/lib/iris/tests/results/regrid/airpress_on_theta_0d.data.0.json
new file mode 100644
index 0000000000..bb55e1e464
--- /dev/null
+++ b/lib/iris/tests/results/regrid/airpress_on_theta_0d.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 102192.140625, "max": 102192.140625, "shape": [], "masked": false, "mean": 102192.140625}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/airpress_on_theta_0d.data.0.npy b/lib/iris/tests/results/regrid/airpress_on_theta_0d.data.0.npy
deleted file mode 100644
index 65c50e6291..0000000000
Binary files a/lib/iris/tests/results/regrid/airpress_on_theta_0d.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/airpress_on_theta_1d.data.0.json b/lib/iris/tests/results/regrid/airpress_on_theta_1d.data.0.json
new file mode 100644
index 0000000000..40af5a5f32
--- /dev/null
+++ b/lib/iris/tests/results/regrid/airpress_on_theta_1d.data.0.json
@@ -0,0 +1 @@
+{"std": 185.38343811035156, "min": 99609.65625, "max": 100038.796875, "shape": [3], "masked": false, "mean": 99781.375}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/airpress_on_theta_1d.data.0.npy b/lib/iris/tests/results/regrid/airpress_on_theta_1d.data.0.npy
deleted file mode 100644
index 6a43c17532..0000000000
Binary files a/lib/iris/tests/results/regrid/airpress_on_theta_1d.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/airpress_on_theta_2d.data.0.json b/lib/iris/tests/results/regrid/airpress_on_theta_2d.data.0.json
new file mode 100644
index 0000000000..5b4f8a1724
--- /dev/null
+++ b/lib/iris/tests/results/regrid/airpress_on_theta_2d.data.0.json
@@ -0,0 +1 @@
+{"std": 1048.704345703125, "min": 98272.953125, "max": 101113.84375, "shape": [2, 3], "masked": false, "mean": 99580.7421875}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/airpress_on_theta_2d.data.0.npy b/lib/iris/tests/results/regrid/airpress_on_theta_2d.data.0.npy
deleted file mode 100644
index 4e97ddb5fd..0000000000
Binary files a/lib/iris/tests/results/regrid/airpress_on_theta_2d.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/airpress_on_theta_3d.data.0.json b/lib/iris/tests/results/regrid/airpress_on_theta_3d.data.0.json
new file mode 100644
index 0000000000..59f6885bf3
--- /dev/null
+++ b/lib/iris/tests/results/regrid/airpress_on_theta_3d.data.0.json
@@ -0,0 +1 @@
+{"std": 1126.344970703125, "min": 97080.71875, "max": 101113.84375, "shape": [5, 2, 3], "masked": false, "mean": 99043.671875}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/airpress_on_theta_3d.data.0.npy b/lib/iris/tests/results/regrid/airpress_on_theta_3d.data.0.npy
deleted file mode 100644
index 4458cf2bf4..0000000000
Binary files a/lib/iris/tests/results/regrid/airpress_on_theta_3d.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/bilinear_larger.data.0.json b/lib/iris/tests/results/regrid/bilinear_larger.data.0.json
new file mode 100644
index 0000000000..ed0557ad4f
--- /dev/null
+++ b/lib/iris/tests/results/regrid/bilinear_larger.data.0.json
@@ -0,0 +1 @@
+{"std": 4.6904158592224121, "min": -2.5, "max": 13.5, "shape": [4, 5], "masked": false, "mean": 5.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/bilinear_larger.data.0.npy b/lib/iris/tests/results/regrid/bilinear_larger.data.0.npy
deleted file mode 100644
index fc2e56a782..0000000000
Binary files a/lib/iris/tests/results/regrid/bilinear_larger.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_left.data.0.json b/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_left.data.0.json
new file mode 100644
index 0000000000..ec738b52bd
--- /dev/null
+++ b/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_left.data.0.json
@@ -0,0 +1 @@
+{"std": 4.6518816947937012, "min": -2.5, "max": 13.0, "shape": [4, 5], "masked": false, "mean": 5.0999999046325684}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_left.data.0.npy b/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_left.data.0.npy
deleted file mode 100644
index 9b43cb98e8..0000000000
Binary files a/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_left.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_right.data.0.json b/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_right.data.0.json
new file mode 100644
index 0000000000..ca948c42df
--- /dev/null
+++ b/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_right.data.0.json
@@ -0,0 +1 @@
+{"std": 4.6518816947937012, "min": -2.0, "max": 13.5, "shape": [4, 5], "masked": false, "mean": 5.9000000953674316}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_right.data.0.npy b/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_right.data.0.npy
deleted file mode 100644
index 65e3a181d4..0000000000
Binary files a/lib/iris/tests/results/regrid/bilinear_larger_lon_extrapolate_right.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/bilinear_smaller.data.0.json b/lib/iris/tests/results/regrid/bilinear_smaller.data.0.json
new file mode 100644
index 0000000000..e3adacb147
--- /dev/null
+++ b/lib/iris/tests/results/regrid/bilinear_smaller.data.0.json
@@ -0,0 +1 @@
+{"std": 2.1602468490600586, "min": 2.5, "max": 8.5, "shape": [2, 3], "masked": false, "mean": 5.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/bilinear_smaller.data.0.npy b/lib/iris/tests/results/regrid/bilinear_smaller.data.0.npy
deleted file mode 100644
index 8d2eea8c73..0000000000
Binary files a/lib/iris/tests/results/regrid/bilinear_smaller.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_left.data.0.json b/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_left.data.0.json
new file mode 100644
index 0000000000..b60594f0a5
--- /dev/null
+++ b/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_left.data.0.json
@@ -0,0 +1 @@
+{"std": 2.1602468490600586, "min": 2.0, "max": 8.0, "shape": [2, 3], "masked": false, "mean": 5.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_left.data.0.npy b/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_left.data.0.npy
deleted file mode 100644
index a105d6bcb0..0000000000
Binary files a/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_left.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_right.data.0.json b/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_right.data.0.json
new file mode 100644
index 0000000000..74786e568a
--- /dev/null
+++ b/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_right.data.0.json
@@ -0,0 +1 @@
+{"std": 2.1602468490600586, "min": 3.0, "max": 9.0, "shape": [2, 3], "masked": false, "mean": 6.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_right.data.0.npy b/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_right.data.0.npy
deleted file mode 100644
index fe9a91636b..0000000000
Binary files a/lib/iris/tests/results/regrid/bilinear_smaller_lon_align_right.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/low_med_high.data.0.json b/lib/iris/tests/results/regrid/low_med_high.data.0.json
new file mode 100644
index 0000000000..d64741ce40
--- /dev/null
+++ b/lib/iris/tests/results/regrid/low_med_high.data.0.json
@@ -0,0 +1 @@
+{"std": 3.7925365302569376, "min": 0.0, "max": 11.0, "shape": [5, 6], "masked": false, "mean": 5.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/low_med_high.data.0.npy b/lib/iris/tests/results/regrid/low_med_high.data.0.npy
deleted file mode 100644
index aec9817eeb..0000000000
Binary files a/lib/iris/tests/results/regrid/low_med_high.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/low_med_high.data.1.json b/lib/iris/tests/results/regrid/low_med_high.data.1.json
new file mode 100644
index 0000000000..fb58052aab
--- /dev/null
+++ b/lib/iris/tests/results/regrid/low_med_high.data.1.json
@@ -0,0 +1 @@
+{"std": 6.0184900284225957, "min": 0.0, "max": 19.0, "shape": [5, 6], "masked": false, "mean": 8.3333333333333339}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/low_med_high.data.1.npy b/lib/iris/tests/results/regrid/low_med_high.data.1.npy
deleted file mode 100644
index e427fbff36..0000000000
Binary files a/lib/iris/tests/results/regrid/low_med_high.data.1.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/low_med_high.data.2.json b/lib/iris/tests/results/regrid/low_med_high.data.2.json
new file mode 100644
index 0000000000..ac1c1a2b8c
--- /dev/null
+++ b/lib/iris/tests/results/regrid/low_med_high.data.2.json
@@ -0,0 +1 @@
+{"std": 8.6554414483991895, "min": 0.0, "max": 29.0, "shape": [5, 6], "masked": false, "mean": 14.5}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/low_med_high.data.2.npy b/lib/iris/tests/results/regrid/low_med_high.data.2.npy
deleted file mode 100644
index e14d51a630..0000000000
Binary files a/lib/iris/tests/results/regrid/low_med_high.data.2.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/theta_on_airpress_0d.data.0.json b/lib/iris/tests/results/regrid/theta_on_airpress_0d.data.0.json
new file mode 100644
index 0000000000..292ae75826
--- /dev/null
+++ b/lib/iris/tests/results/regrid/theta_on_airpress_0d.data.0.json
@@ -0,0 +1 @@
+{"std": 0.0, "min": 282.12796020507812, "max": 282.12796020507812, "shape": [], "masked": false, "mean": 282.12796020507812}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/theta_on_airpress_0d.data.0.npy b/lib/iris/tests/results/regrid/theta_on_airpress_0d.data.0.npy
deleted file mode 100644
index f03d94aa6c..0000000000
Binary files a/lib/iris/tests/results/regrid/theta_on_airpress_0d.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/theta_on_airpress_1d.data.0.json b/lib/iris/tests/results/regrid/theta_on_airpress_1d.data.0.json
new file mode 100644
index 0000000000..0ad78fb933
--- /dev/null
+++ b/lib/iris/tests/results/regrid/theta_on_airpress_1d.data.0.json
@@ -0,0 +1 @@
+{"std": 0.20830129086971283, "min": 282.77932739257812, "max": 283.23013305664062, "shape": [4], "masked": false, "mean": 283.0235595703125}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/theta_on_airpress_1d.data.0.npy b/lib/iris/tests/results/regrid/theta_on_airpress_1d.data.0.npy
deleted file mode 100644
index d38bec2bb4..0000000000
Binary files a/lib/iris/tests/results/regrid/theta_on_airpress_1d.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/theta_on_airpress_2d.data.0.json b/lib/iris/tests/results/regrid/theta_on_airpress_2d.data.0.json
new file mode 100644
index 0000000000..1e19a7c045
--- /dev/null
+++ b/lib/iris/tests/results/regrid/theta_on_airpress_2d.data.0.json
@@ -0,0 +1 @@
+{"std": 0.89102786779403687, "min": 281.37478637695312, "max": 284.1317138671875, "shape": [4, 4], "masked": false, "mean": 282.7205810546875}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/theta_on_airpress_2d.data.0.npy b/lib/iris/tests/results/regrid/theta_on_airpress_2d.data.0.npy
deleted file mode 100644
index c8d6757e78..0000000000
Binary files a/lib/iris/tests/results/regrid/theta_on_airpress_2d.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/regrid/theta_on_airpress_3d.data.0.json b/lib/iris/tests/results/regrid/theta_on_airpress_3d.data.0.json
new file mode 100644
index 0000000000..62fbe8491a
--- /dev/null
+++ b/lib/iris/tests/results/regrid/theta_on_airpress_3d.data.0.json
@@ -0,0 +1 @@
+{"std": 1.0716584920883179, "min": 281.37478637695312, "max": 285.50057983398438, "shape": [5, 4, 4], "masked": false, "mean": 283.49774169921875}
\ No newline at end of file
diff --git a/lib/iris/tests/results/regrid/theta_on_airpress_3d.data.0.npy b/lib/iris/tests/results/regrid/theta_on_airpress_3d.data.0.npy
deleted file mode 100644
index 958f90b662..0000000000
Binary files a/lib/iris/tests/results/regrid/theta_on_airpress_3d.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/unit/analysis/cartography/project/TestAll/cube.data.0.json b/lib/iris/tests/results/unit/analysis/cartography/project/TestAll/cube.data.0.json
new file mode 100644
index 0000000000..d340b7856c
--- /dev/null
+++ b/lib/iris/tests/results/unit/analysis/cartography/project/TestAll/cube.data.0.json
@@ -0,0 +1 @@
+{"std": 0.22496461010978716, "min": 287.27520751953125, "max": 288.09292602539062, "shape": [2, 3, 10, 10], "masked": true, "mean": 287.67258522727275}
\ No newline at end of file
diff --git a/lib/iris/tests/results/unit/analysis/cartography/project/TestAll/cube.data.0.npy b/lib/iris/tests/results/unit/analysis/cartography/project/TestAll/cube.data.0.npy
deleted file mode 100644
index d032ab2f64..0000000000
Binary files a/lib/iris/tests/results/unit/analysis/cartography/project/TestAll/cube.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata.data.0.json b/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata.data.0.json
new file mode 100644
index 0000000000..124c32d225
--- /dev/null
+++ b/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata.data.0.json
@@ -0,0 +1 @@
+{"std": 1242.753662109375, "min": 170.0, "max": 4150.0, "shape": [4, 3, 21], "masked": false, "mean": 2160.0}
\ No newline at end of file
diff --git a/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata.data.0.npy b/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata.data.0.npy
deleted file mode 100644
index 6ba26de74c..0000000000
Binary files a/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata_wrapped.data.0.json b/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata_wrapped.data.0.json
new file mode 100644
index 0000000000..2f4603efd2
--- /dev/null
+++ b/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata_wrapped.data.0.json
@@ -0,0 +1 @@
+{"std": 1254.9412841796875, "min": 0.0, "max": 4319.0, "shape": [4, 3, 21], "masked": false, "mean": 2151.428466796875}
\ No newline at end of file
diff --git a/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata_wrapped.data.0.npy b/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata_wrapped.data.0.npy
deleted file mode 100644
index a5484a97a1..0000000000
Binary files a/lib/iris/tests/results/unit/cube/Cube/intersection__Metadata/metadata_wrapped.data.0.npy and /dev/null differ
diff --git a/lib/iris/tests/test_analysis.py b/lib/iris/tests/test_analysis.py
index fe13dd4214..469eea6af0 100644
--- a/lib/iris/tests/test_analysis.py
+++ b/lib/iris/tests/test_analysis.py
@@ -212,30 +212,30 @@ def _common(self, name, aggregate, original_name='original_common.cml', *args, *
self.assertCML(self.cube, ('analysis', original_name))
def test_mean(self):
- self._common('mean', iris.analysis.MEAN, decimal=1)
+ self._common('mean', iris.analysis.MEAN, rtol=1e-05)
def test_std_dev(self):
# as the numbers are so high, trim off some trailing digits & compare to 0dp
- self._common('std_dev', iris.analysis.STD_DEV, decimal=1)
+ self._common('std_dev', iris.analysis.STD_DEV, rtol=1e-05)
def test_hmean(self):
# harmonic mean requires data > 0
self.cube.data *= self.cube.data
- self._common('hmean', iris.analysis.HMEAN, 'original_hmean.cml', decimal=1)
+ self._common('hmean', iris.analysis.HMEAN, 'original_hmean.cml', rtol=1e-05)
def test_gmean(self):
- self._common('gmean', iris.analysis.GMEAN, decimal=1)
+ self._common('gmean', iris.analysis.GMEAN, rtol=1e-05)
def test_variance(self):
# as the numbers are so high, trim off some trailing digits & compare to 0dp
- self._common('variance', iris.analysis.VARIANCE, decimal=1)
+ self._common('variance', iris.analysis.VARIANCE, rtol=1e-05)
def test_median(self):
self._common('median', iris.analysis.MEDIAN)
def test_sum(self):
# as the numbers are so high, trim off some trailing digits & compare to 0dp
- self._common('sum', iris.analysis.SUM, decimal=1)
+ self._common('sum', iris.analysis.SUM, rtol=1e-05)
def test_max(self):
self._common('max', iris.analysis.MAX)
diff --git a/lib/iris/tests/test_cdm.py b/lib/iris/tests/test_cdm.py
index 15e5a7948f..baf8fe31ea 100644
--- a/lib/iris/tests/test_cdm.py
+++ b/lib/iris/tests/test_cdm.py
@@ -1038,34 +1038,55 @@ def test_multi_d(self):
self.assertCML(cube, ('cube_collapsed', 'original.cml'))
- # Compare 2-stage collapsing with a single stage collapse over 2 Coords.
- self.collapse_test_common(cube, 'grid_latitude', 'grid_longitude', decimal=1)
- self.collapse_test_common(cube, 'grid_longitude', 'grid_latitude', decimal=1)
-
- self.collapse_test_common(cube, 'time', 'grid_latitude', decimal=1)
- self.collapse_test_common(cube, 'grid_latitude', 'time', decimal=1)
-
- self.collapse_test_common(cube, 'time', 'grid_longitude', decimal=1)
- self.collapse_test_common(cube, 'grid_longitude', 'time', decimal=1)
-
- self.collapse_test_common(cube, 'grid_latitude', 'model_level_number', decimal=1)
- self.collapse_test_common(cube, 'model_level_number', 'grid_latitude', decimal=1)
-
- self.collapse_test_common(cube, 'grid_longitude', 'model_level_number', decimal=1)
- self.collapse_test_common(cube, 'model_level_number', 'grid_longitude', decimal=1)
-
- self.collapse_test_common(cube, 'time', 'model_level_number', decimal=1)
- self.collapse_test_common(cube, 'model_level_number', 'time', decimal=1)
-
- self.collapse_test_common(cube, 'model_level_number', 'time', decimal=1)
- self.collapse_test_common(cube, 'time', 'model_level_number', decimal=1)
+ # Compare 2-stage collapsing with a single stage collapse
+ # over 2 Coords.
+ self.collapse_test_common(cube, 'grid_latitude', 'grid_longitude',
+ rtol=1e-05)
+ self.collapse_test_common(cube, 'grid_longitude', 'grid_latitude',
+ rtol=1e-05)
+
+ self.collapse_test_common(cube, 'time', 'grid_latitude', rtol=1e-05)
+ self.collapse_test_common(cube, 'grid_latitude', 'time', rtol=1e-05)
+
+ self.collapse_test_common(cube, 'time', 'grid_longitude', rtol=1e-05)
+ self.collapse_test_common(cube, 'grid_longitude', 'time', rtol=1e-05)
+
+ self.collapse_test_common(cube, 'grid_latitude', 'model_level_number',
+ rtol=1e-03)
+ self.collapse_test_common(cube, 'model_level_number', 'grid_latitude',
+ rtol=1e-03)
+
+ self.collapse_test_common(cube, 'grid_longitude', 'model_level_number',
+ rtol=1e-03)
+ self.collapse_test_common(cube, 'model_level_number', 'grid_longitude',
+ rtol=1e-03)
+
+ self.collapse_test_common(cube, 'time', 'model_level_number',
+ rtol=1e-03)
+ self.collapse_test_common(cube, 'model_level_number', 'time',
+ rtol=1e-03)
+
+ self.collapse_test_common(cube, 'model_level_number', 'time',
+ rtol=1e-03)
+ self.collapse_test_common(cube, 'time', 'model_level_number',
+ rtol=1e-03)
# Collapse 3 things at once.
- triple_collapse = cube.collapsed(['model_level_number', 'time', 'grid_longitude'], iris.analysis.MEAN)
- self.assertCMLApproxData(triple_collapse, ('cube_collapsed', 'triple_collapse_ml_pt_lon.cml'), decimal=1)
-
- triple_collapse = cube.collapsed(['grid_latitude', 'model_level_number', 'time'], iris.analysis.MEAN)
- self.assertCMLApproxData(triple_collapse, ('cube_collapsed', 'triple_collapse_lat_ml_pt.cml'), decimal=1)
+ triple_collapse = cube.collapsed(['model_level_number',
+ 'time', 'grid_longitude'],
+ iris.analysis.MEAN)
+ self.assertCMLApproxData(triple_collapse, ('cube_collapsed',
+ ('triple_collapse_ml_pt_'
+ 'lon.cml')),
+ rtol=1e-03)
+
+ triple_collapse = cube.collapsed(['grid_latitude',
+ 'model_level_number', 'time'],
+ iris.analysis.MEAN)
+ self.assertCMLApproxData(triple_collapse, ('cube_collapsed',
+ ('triple_collapse_lat_ml'
+ '_pt.cml')),
+ rtol=1)
# Ensure no side effects
self.assertCML(cube, ('cube_collapsed', 'original.cml'))
diff --git a/lib/iris/tests/unit/analysis/regrid/test_RectilinearRegridder.py b/lib/iris/tests/unit/analysis/regrid/test_RectilinearRegridder.py
index a307603bad..89adb216f1 100644
--- a/lib/iris/tests/unit/analysis/regrid/test_RectilinearRegridder.py
+++ b/lib/iris/tests/unit/analysis/regrid/test_RectilinearRegridder.py
@@ -1238,14 +1238,15 @@ def test_non_circular(self):
cml = RESULT_DIR + ('{}_non_circular.cml'.format(method),)
self.assertCMLApproxData(result, cml)
- def _check_circular_results(self, src_cube):
+ def _check_circular_results(self, src_cube, missingmask=''):
results = []
for method in self.methods:
regridder = Regridder(src_cube, self.grid, method, self.mode)
result = regridder(src_cube)
results.append(result)
self.assertFalse(result.coord('longitude').circular)
- cml = RESULT_DIR + ('{}_circular_src.cml'.format(method),)
+ cml = RESULT_DIR + ('{}_circular_src{}.cml'.format(method,
+ missingmask),)
self.assertCMLApproxData(result, cml)
return results
@@ -1262,7 +1263,7 @@ def test_circular_src__masked_missingmask(self):
src.coord('longitude').circular = True
src.data = np.ma.MaskedArray(src.data)
self.assertEqual(src.data.mask, False)
- method_results = self._check_circular_results(src)
+ method_results = self._check_circular_results(src, 'missingmask')
for method_result in method_results:
self.assertIsInstance(method_result.data.mask, np.ndarray)
self.assertTrue(np.all(method_result.data.mask == np.array(False)))