Skip to content

Commit e58cccf

Browse files
committed
Using NetCDFComparator in gridding unit test to allow few pixels differences
1 parent 9ddb34a commit e58cccf

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

tests/test_gridding.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import numpy as np
66
from osgeo import gdal
77
from netCDF4 import Dataset
8+
from lisfloodutilities.compare.nc import NetCDFComparator
89
from lisfloodutilities.gridding.generate_grids import run, print_msg
910
from lisfloodutilities.gridding.lib.utils import FileUtils
1011

@@ -26,7 +27,12 @@ def compare_netcdfs(self, nc1: Dataset, nc2: Dataset, variable_name: str='pr6'):
2627
assert coords_nc1_size == coords_nc2_size, 'Lat/Long axis do not have same size as reference.'
2728
max_timesteps = len(time_list1)
2829
for i in range(max_timesteps):
29-
assert np.allclose(nc1.variables[variable_name][i, :, :], nc2.variables[variable_name][i, :, :], atol=0.0000001), f'Timestep {i} is not equal to reference.'
30+
nc_comparator = NetCDFComparator(None, atol=0.0000001,
31+
max_perc_diff=0.001, max_perc_large_diff=0.001)
32+
nc_comparator.compare_arrays(nc1.variables[variable_name][i, :, :][~nc1.variables[variable_name][i, :, :].mask],
33+
nc2.variables[variable_name][i, :, :][~nc2.variables[variable_name][i, :, :].mask],
34+
variable_name, i)
35+
#assert np.allclose(nc1.variables[variable_name][i, :, :], nc2.variables[variable_name][i, :, :], atol=0.0000001), f'Timestep {i} is not equal to reference.'
3036

3137
def compare_tiffs(self, tiff_folder_path1: Path, tiff_folder_path2: Path):
3238
for tiff_file2 in sorted(tiff_folder_path2.rglob('*.tiff')):
@@ -40,7 +46,10 @@ def compare_tiffs(self, tiff_folder_path1: Path, tiff_folder_path2: Path):
4046
ds1 = None
4147
assert values1 is not None, f'Grid {tiff_file2.name} was not generated.'
4248
assert values1.size == values2.size, f'Grid {tiff_file2.name} do not have same size as reference.'
43-
assert np.allclose(values1, values2, atol=0.0000001), f'File {tiff_file2.name} is not equal to reference.'
49+
nc_comparator = NetCDFComparator(None, atol=0.0000001,
50+
max_perc_diff=0.001, max_perc_large_diff=0.001)
51+
nc_comparator.compare_arrays(values1, values2, tiff_file2.name)
52+
#assert np.allclose(values1, values2, atol=0.0000001), f'File {tiff_file2.name} is not equal to reference.'
4453

4554
def test_generate_netcdf(self):
4655
input_folder = 'tests/data/gridding/meteo_in/test1'

0 commit comments

Comments
 (0)