diff --git a/tests/test_filtermod.py b/tests/test_filtermod.py index 3a323ae3..e5396cf7 100644 --- a/tests/test_filtermod.py +++ b/tests/test_filtermod.py @@ -28,3 +28,68 @@ def test_filter_runmean(test_data): print(ico.vars.Hs[1:4]) print(np.mean(ico.vars.Hs[1:4])) assert new.vars.Hs[2] == np.mean(ico.vars.Hs[1:4]) + + +def test_filter_llim_ulim(test_data): + varalias = 'Hs' # default + sd = "2023-7-2 00" + ed = "2023-7-3 00" + nID = 'MO_Draugen_monthly' + name = 'Draugen' + ico = ic(nID=nID, sd=sd, ed=ed, varalias=varalias, name=name) + print(ico) + print(vars(ico).keys()) + + ico = ico.populate(path=str(test_data/"insitu/monthly/Draugen")) + new = ico.apply_limits(llim=1, ulim=3) + print(new.vars.time) + print(new.vars.Hs) + assert len(new.vars.time) == 85 + + +def test_filter_lanczos(test_data): + varalias = 'Hs' # default + sd = "2023-7-2 00" + ed = "2023-7-3 00" + nID = 'MO_Draugen_monthly' + name = 'Draugen' + ico = ic(nID=nID, sd=sd, ed=ed, varalias=varalias, name=name) + print(ico) + print(vars(ico).keys()) + + ico = ico.populate(path=str(test_data/"insitu/monthly/Draugen")) + new = ico.filter_lanczos(window=5, cutoff=1/5, sampling_rate_Hz=1/1200) + assert not 'error' in vars(new).keys() + + +def test_despike_blockQ(test_data): + varalias = 'Hs' # default + sd = "2023-7-2 00" + ed = "2023-7-3 00" + nID = 'MO_Draugen_monthly' + name = 'Draugen' + ico = ic(nID=nID, sd=sd, ed=ed, varalias=varalias, name=name) + print(ico) + print(vars(ico).keys()) + + ico = ico.populate(path=str(test_data/"insitu/monthly/Draugen")) + new = ico.despike_blockQ(slider=20, chunk_min=5, + llim_pct=.05, ulim_pct=.95, + sampling_rate_Hz=1/1200) + assert not 'error' in vars(new).keys() + + +def test_despike_blockStd(test_data): + varalias = 'Hs' # default + sd = "2023-7-2 00" + ed = "2023-7-3 00" + nID = 'MO_Draugen_monthly' + name = 'Draugen' + ico = ic(nID=nID, sd=sd, ed=ed, varalias=varalias, name=name) + print(ico) + print(vars(ico).keys()) + + ico = ico.populate(path=str(test_data/"insitu/monthly/Draugen")) + new = ico.despike_blockQ(slider=12, sigma=2, chunk_min=6, + sampling_rate_Hz=1/1200) + assert not 'error' in vars(new).keys() diff --git a/wavy/filtermod.py b/wavy/filtermod.py index 8947d95f..be2bef36 100644 --- a/wavy/filtermod.py +++ b/wavy/filtermod.py @@ -118,9 +118,9 @@ def filter_distance_to_coast(self, llim=0, ulim=100000000, **kwargs): print(" Number of remaining values:", len(new.vars['time'])) return new - def filter_blockMean(self, **kwargs): - print('Apply blockMean') - return self + #def filter_blockMean(self, **kwargs): + # print('Apply blockMean') + # return self def filter_lanczos(self, **kwargs): print('Apply lanczos filter') @@ -237,8 +237,8 @@ def filter_GP(self, **kwargs): return new - def filter_NIGP(self, **kwargs): - return self + #def filter_NIGP(self, **kwargs): + # return self def filter_linearGAM(self, **kwargs): print('Apply LinearGAM filter')