Skip to content

Commit 576f159

Browse files
committed
Allow to keep value on masked area
1 parent 9b9b8a7 commit 576f159

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

src/py_eddy_tracker/dataset/grid.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,14 +1124,14 @@ def convolve_filter_with_dynamic_kernel(self, grid, kernel_func, lat_max=85, ext
11241124
return out.astype(data.dtype)
11251125
return out
11261126

1127-
def lanczos_high_filter(self, grid_name, wave_length, order=1, lat_max=85):
1127+
def lanczos_high_filter(self, grid_name, wave_length, order=1, lat_max=85, **kwargs):
11281128
data_out = self.convolve_filter_with_dynamic_kernel(
1129-
grid_name, self.kernel_lanczos, lat_max=lat_max, wave_length=wave_length, order=order)
1129+
grid_name, self.kernel_lanczos, lat_max=lat_max, wave_length=wave_length, order=order, **kwargs)
11301130
self.vars[grid_name] -= data_out
11311131

1132-
def lanczos_low_filter(self, grid_name, wave_length, order=1, lat_max=85):
1132+
def lanczos_low_filter(self, grid_name, wave_length, order=1, lat_max=85, **kwargs):
11331133
data_out = self.convolve_filter_with_dynamic_kernel(
1134-
grid_name, self.kernel_lanczos, lat_max=lat_max, wave_length=wave_length, order=order)
1134+
grid_name, self.kernel_lanczos, lat_max=lat_max, wave_length=wave_length, order=order, **kwargs)
11351135
self.vars[grid_name] = data_out
11361136

11371137
def bessel_band_filter(self, grid_name, wave_length_inf, wave_length_sup, **kwargs):
@@ -1142,17 +1142,17 @@ def bessel_band_filter(self, grid_name, wave_length_inf, wave_length_sup, **kwar
11421142
grid_name, self.kernel_bessel, wave_length=wave_length_sup, **kwargs)
11431143
self.vars[grid_name] -= data_out
11441144

1145-
def bessel_high_filter(self, grid_name, wave_length, order=1, lat_max=85):
1145+
def bessel_high_filter(self, grid_name, wave_length, order=1, lat_max=85, **kwargs):
11461146
logger.debug('Run filtering with wave of %(wave_length)s km and order of %(order)s ...',
11471147
dict(wave_length=wave_length, order=order))
11481148
data_out = self.convolve_filter_with_dynamic_kernel(
1149-
grid_name, self.kernel_bessel, lat_max=lat_max, wave_length=wave_length, order=order)
1149+
grid_name, self.kernel_bessel, lat_max=lat_max, wave_length=wave_length, order=order, **kwargs)
11501150
logger.debug('Filtering done')
11511151
self.vars[grid_name] -= data_out
11521152

1153-
def bessel_low_filter(self, grid_name, wave_length, order=1, lat_max=85):
1153+
def bessel_low_filter(self, grid_name, wave_length, order=1, lat_max=85, **kwargs):
11541154
data_out = self.convolve_filter_with_dynamic_kernel(
1155-
grid_name, self.kernel_bessel, lat_max=lat_max, wave_length=wave_length, order=order)
1155+
grid_name, self.kernel_bessel, lat_max=lat_max, wave_length=wave_length, order=order, **kwargs)
11561156
self.vars[grid_name] = data_out
11571157

11581158
def spectrum_lonlat(self, grid_name, area=None, ref=None, **kwargs):

src/scripts/GridFiltering

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ def id_parser():
1818
help='Wavelength for mesoscale filter in km')
1919
parser.add_argument('--filter_order', default=3, type=int)
2020
parser.add_argument('--low', action='store_true')
21+
parser.add_argument('--extend', default=0, type=float,
22+
help='Keep pixel compute by filtering on mask')
2123
return parser
2224

2325

@@ -26,7 +28,7 @@ if __name__ == '__main__':
2628

2729
h = RegularGridDataset(args.filename, args.longitude, args.latitude)
2830
if args.low:
29-
h.bessel_low_filter(args.grid, args.cut_wavelength, order=args.filter_order)
31+
h.bessel_low_filter(args.grid, args.cut_wavelength, order=args.filter_order, extend=args.extend)
3032
else:
31-
h.bessel_high_filter(args.grid, args.cut_wavelength, order=args.filter_order)
33+
h.bessel_high_filter(args.grid, args.cut_wavelength, order=args.filter_order, extend=args.extend)
3234
h.write(args.filename_out)

0 commit comments

Comments
 (0)