Skip to content

Commit b677e69

Browse files
committed
Merge remote-tracking branch 'refs/remotes/upstream/version-1-prep' into version-1-prep
2 parents 9436c36 + 154f2f2 commit b677e69

File tree

2 files changed

+32
-11
lines changed

2 files changed

+32
-11
lines changed

huracanpy/_accessor.py

+25-4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
from .utils.category import get_category, get_pressure_cat, get_sshs_cat
1717
from .utils.translation import get_distance, get_translation_speed
1818
from .utils.interp import interp_time
19+
from . import plot
20+
from . import diags
1921

2022

2123
@xr.register_dataset_accessor("hrcn")
@@ -414,11 +416,30 @@ def interp_time(self, freq="1h", track_id_name="track_id", prog_bar=False):
414416
self._dataset, freq=freq, track_id_name=track_id_name, prog_bar=prog_bar
415417
)
416418

419+
# ==== plot ====
420+
def plot_tracks(
421+
self, lon_name="lon", lat_name="lat", intensity_var_name=None, **kwargs
422+
):
423+
if intensity_var_name in list(self._dataset.variables):
424+
intensity_var = self._dataset[intensity_var_name]
425+
else:
426+
intensity_var = None
427+
428+
return plot.tracks(
429+
self._dataset[lon_name], self._dataset[lat_name], intensity_var, **kwargs
430+
)
417431

418-
#
419-
# # interp
420-
# def interp_time(self, freq="1h", track_id_name="track_id", prog_bar=False,):
421-
# return interp_time(self._dataset, freq, track_id_name, prog_bar)
432+
def plot_density(
433+
self, lon_name="lon", lat_name="lat", density_kws=dict(), **kwargs
434+
):
435+
d = self.get_density(**density_kws)
436+
return plot.density(d, **kwargs)
437+
438+
# ==== diags ====
439+
def get_density(self, lon_name="lon", lat_name="lat", method="histogram", **kwargs):
440+
return diags.density(
441+
self._dataset[lon_name], self._dataset[lat_name], method=method, **kwargs
442+
)
422443

423444

424445
# track density

tests/test_accessor.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ def test_accessor():
3636
continent_acc != continent_fct
3737
), "accessor output differs from function output"
3838
## - ace
39-
ace_acc = data.hrcn.get_ace(wind_name="wind")
40-
ace_fct = huracanpy.utils.ace.get_ace(data.wind)
39+
ace_acc = data.hrcn.get_ace(wind_name="wind10")
40+
ace_fct = huracanpy.utils.ace.get_ace(data.wind10)
4141
assert not any(ace_acc != ace_fct), "accessor output differs from function output"
4242

4343
## - pace
44-
pace_acc, model_acc = data.hrcn.get_pace(pressure_name="pressure", wind_name="wind")
45-
pace_fct, model_fct = huracanpy.utils.ace.get_pace(data.pressure, data.wind)
44+
pace_acc = data.hrcn.get_pace(pressure_name="slp", wind_name="wind10")
45+
pace_fct, model_fct = huracanpy.utils.ace.get_pace(data.slp, data.wind10)
4646
assert not any(pace_acc != pace_fct), "accessor output differs from function output"
4747

4848
## - time components
@@ -65,13 +65,13 @@ def test_accessor():
6565
assert all(season_acc == season_fct), "Season component does not match"
6666

6767
## - SSHS category
68-
sshs_acc = data.hrcn.get_sshs_cat(wind_name="wind")
69-
sshs_fct = huracanpy.utils.categories.get_sshs_cat(data.wind)
68+
sshs_acc = data.hrcn.get_sshs_cat(wind_name="wind10")
69+
sshs_fct = huracanpy.utils.category.get_sshs_cat(data.wind10)
7070
assert all(sshs_acc == sshs_fct), "SSHS category output does not match"
7171

7272
## - Pressure category
7373
pressure_cat_acc = data.hrcn.get_pressure_cat(slp_name="slp")
74-
pressure_cat_fct = huracanpy.utils.categories.get_pressure_cat(data.slp)
74+
pressure_cat_fct = huracanpy.utils.category.get_pressure_cat(data.slp)
7575
assert all(
7676
pressure_cat_acc == pressure_cat_fct
7777
), "Pressure category output does not match"

0 commit comments

Comments
 (0)