import iris print iris.__version__ from iris.cube import Cube from iris.coords import DimCoord from iris.analysis.interpolate import extract_nearest_neighbour from iris.analysis.trajectory import interpolate import timeit import numpy as np def prepare_cube(n): lat = DimCoord(np.linspace(-10,10,n), standard_name='latitude', units='degrees' ) lon = DimCoord(np.linspace(-10,10,n), standard_name='longitude', units='degrees', circular=True) data = np.arange(n*n).reshape(n,n) return Cube(data, dim_coords_and_dims=[(lon, 0), (lat, 1)]) cube = prepare_cube(3000) %%timeit extract_nearest_neighbour(cube, [('latitude', [0.1]), ('longitude', [0.1])]) %%timeit interpolate(cube, [('latitude', [0.1]), ('longitude', [0.1])]) import iris print iris.__version__ from iris.cube import Cube from iris.coords import DimCoord from iris.analysis.interpolate import extract_nearest_neighbour from iris.analysis.trajectory import interpolate import timeit import numpy as np def prepare_cube(n): lat = DimCoord(np.linspace(-10,10,n), standard_name='latitude', units='degrees' ) lon = DimCoord(np.linspace(-10,10,n), standard_name='longitude', units='degrees', circular=True) data = np.arange(n*n).reshape(n,n) return Cube(data, dim_coords_and_dims=[(lon, 0), (lat, 1)]) cube = prepare_cube(3000) %%timeit extract_nearest_neighbour(cube, [('latitude', [0.1]), ('longitude', [0.1])]) %%timeit interpolate(cube, [('latitude', [0.1]), ('longitude', [0.1])]) %%timeit cube.interpolate([('latitude', [0.1]), ('longitude', [0.1])], iris.analysis.Linear()) %%timeit cube.interpolate([('latitude', [0.1]), ('longitude', [0.1])], iris.analysis.Nearest())