Skip to content

Commit 8aa902c

Browse files
committed
merge_filter correction
1 parent 4937727 commit 8aa902c

File tree

3 files changed

+20
-18
lines changed

3 files changed

+20
-18
lines changed

examples/10_tracking_diagnostics/pet_center_count.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
"""
22
Count center
33
============
4-
54
"""
65
import py_eddy_tracker_sample
76
from matplotlib import pyplot as plt
@@ -18,12 +17,12 @@
1817
py_eddy_tracker_sample.get_path("eddies_med_adt_allsat_dt2018/Cyclonic.zarr")
1918
)
2019

20+
# %%
2121
# Parameters
22-
t0, t1 = a.period
2322
step = 0.125
2423
bins = ((-10, 37, step), (30, 46, step))
2524
kwargs_pcolormesh = dict(
26-
cmap="terrain_r", vmin=0, vmax=2, factor=1 / (step ** 2 * (t1 - t0)), name="count"
25+
cmap="terrain_r", vmin=0, vmax=2, factor=1 / (a.nb_days * step ** 2), name="count"
2726
)
2827

2928

@@ -75,14 +74,15 @@
7574
# Count at the center's position
7675

7776
fig = plt.figure(figsize=(12, 10))
77+
mask = a.lifetime >= 60
7878
ax_long = fig.add_axes([0.03, 0.53, 0.90, 0.45])
79-
g_a = a.grid_count(bins, center=True, filter=a.lifetime >= 30)
79+
g_a = a.grid_count(bins, center=True, filter=mask)
8080
m = g_a.display(ax_long, **kwargs_pcolormesh)
81-
ax_long.set_title("Anticyclones with lifetime >= 30 days")
81+
ax_long.set_title(f"Anticyclones with lifetime >= 60 days ({mask.sum()} Obs)")
8282
ax_short = fig.add_axes([0.03, 0.03, 0.90, 0.45])
83-
g_a = a.grid_count(bins, center=True, filter=a.lifetime < 30)
83+
g_a = a.grid_count(bins, center=True, filter=~mask)
8484
m = g_a.display(ax_short, **kwargs_pcolormesh)
85-
ax_short.set_title("Anticyclones with lifetime < 30 days")
85+
ax_short.set_title(f"Anticyclones with lifetime < 60 days ({(~mask).sum()} Obs)")
8686
for ax in (ax_short, ax_long):
8787
ax.set_aspect("equal"), ax.grid()
8888
ax.set_xlim(-6, 36.5), ax.set_ylim(30, 46)

examples/10_tracking_diagnostics/pet_pixel_used.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
"""
22
Count pixel used
3-
======================
4-
3+
================
54
"""
65
import py_eddy_tracker_sample
76
from matplotlib import pyplot as plt
@@ -17,13 +16,16 @@
1716
c = TrackEddiesObservations.load_file(
1817
py_eddy_tracker_sample.get_path("eddies_med_adt_allsat_dt2018/Cyclonic.zarr")
1918
)
20-
t0, t1 = a.period
19+
20+
# %%
21+
# Parameters
2122
step = 0.125
2223
bins = ((-10, 37, step), (30, 46, step))
2324
kwargs_pcolormesh = dict(
24-
cmap="terrain_r", vmin=0, vmax=0.75, factor=1 / (t1 - t0), name="count"
25+
cmap="terrain_r", vmin=0, vmax=0.75, factor=1 / a.nb_days, name="count"
2526
)
2627

28+
2729
# %%
2830
# Plot
2931
fig = plt.figure(figsize=(12, 18.5))
@@ -68,16 +70,16 @@
6870
# %%
6971
# Count Anticyclones as a function of lifetime
7072
# --------------------------------------------
71-
7273
fig = plt.figure(figsize=(12, 10))
74+
mask = a.lifetime >= 60
7375
ax_long = fig.add_axes([0.03, 0.53, 0.90, 0.45])
74-
g_a = a.grid_count(bins, intern=True, filter=a.lifetime >= 30)
76+
g_a = a.grid_count(bins, intern=True, filter=mask)
7577
m = g_a.display(ax_long, **kwargs_pcolormesh)
76-
ax_long.set_title("Anticyclones with lifetime >= 30 days")
78+
ax_long.set_title(f"Anticyclones with lifetime >= 60 days ({mask.sum()} Obs)")
7779
ax_short = fig.add_axes([0.03, 0.03, 0.90, 0.45])
78-
g_a = a.grid_count(bins, intern=True, filter=a.lifetime < 30)
80+
g_a = a.grid_count(bins, intern=True, filter=~mask)
7981
m = g_a.display(ax_short, **kwargs_pcolormesh)
80-
ax_short.set_title("Anticyclones with lifetime < 30 days")
82+
ax_short.set_title(f"Anticyclones with lifetime < 60 days ({(~mask).sum()} Obs)")
8183
for ax in (ax_short, ax_long):
8284
ax.set_aspect("equal"), ax.grid()
8385
ax.set_xlim(-6, 36.5), ax.set_ylim(30, 46)

src/py_eddy_tracker/observations/observation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1758,9 +1758,9 @@ def merge_filters(self, *filters):
17581758
if filter is None:
17591759
continue
17601760
if isinstance(filter, slice):
1761-
if slice(None) == slice(None):
1761+
if filter == slice(None):
17621762
continue
1763-
if filter.dtype == "bool":
1763+
elif filter.dtype == "bool":
17641764
if filter.all():
17651765
continue
17661766
if not filter.any():

0 commit comments

Comments
 (0)