Skip to content

Commit

Permalink
added tests for filters
Browse files Browse the repository at this point in the history
  • Loading branch information
bohlinger committed Jan 29, 2024
1 parent 17af834 commit b1410aa
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 5 deletions.
65 changes: 65 additions & 0 deletions tests/test_filtermod.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
10 changes: 5 additions & 5 deletions wavy/filtermod.py
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand Down Expand Up @@ -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')
Expand Down

0 comments on commit b1410aa

Please sign in to comment.