From 518ce53b91f106b0be539970926d101e46c9c90f Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Tue, 20 Jan 2026 15:02:36 +0100 Subject: [PATCH 1/2] Remove unused query parameter from SkillTable.sel The query parameter was accidentally re-added during the refactor in commit a8a1c921 but without any implementation. It was previously removed in commit 7f8434b6 after being properly deprecated. This parameter is unused and the .query() method should be used instead for query-based filtering. --- src/modelskill/skill.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/modelskill/skill.py b/src/modelskill/skill.py index d16bda8dd..dec910f23 100644 --- a/src/modelskill/skill.py +++ b/src/modelskill/skill.py @@ -656,12 +656,11 @@ def query(self, query: str) -> SkillTable: return self.__class__(self.data.query(query)) def sel( - self, query: str | None = None, reduce_index: bool = True, **kwargs: Any + self, reduce_index: bool = True, **kwargs: Any ) -> SkillTable | SkillArray: """Filter (select) specific models or observations. - Select a subset of the SkillTable by a query, - (part of) the index, or specific columns + Select a subset of the SkillTable by (part of) the index. Parameters ---------- From 58b9893e40ea4433a6ff4e884e264899fbc755fd Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Tue, 20 Jan 2026 15:20:15 +0100 Subject: [PATCH 2/2] Fix all unused arguments found by ARG checks - Remove unused query parameter from SkillTable.sel (accidentally re-added in refactor) - Prefix unused **kwargs in gridded_skill methods with underscore - Remove leftover model parameter from ComparerCollectionPlotter.hist (forgotten during deprecation cleanup) - Remove leftover model parameter from ComparerPlotter.scatter (forgotten during deprecation cleanup) - Fix _std_obs and _std_mod: prefix unused params with underscore, update type hints to Any - Prefix unused norm and figsize parameters in _scatter_plotly with underscore - Prefix unused _ax parameter in taylor_diagram with underscore - Remove unused name parameter from _obs_from_dict (name already in obs_dict) - Enable ARG (unused argument) checks in ruff configuration --- src/modelskill/comparison/_collection.py | 2 +- src/modelskill/comparison/_collection_plotter.py | 3 +-- src/modelskill/comparison/_comparer_plotter.py | 1 - src/modelskill/comparison/_comparison.py | 2 +- src/modelskill/configuration.py | 4 ++-- src/modelskill/metrics.py | 4 ++-- src/modelskill/plotting/_scatter.py | 4 ++-- src/modelskill/plotting/_taylor_diagram.py | 2 +- 8 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/modelskill/comparison/_collection.py b/src/modelskill/comparison/_collection.py index 884abe81c..c348469f1 100644 --- a/src/modelskill/comparison/_collection.py +++ b/src/modelskill/comparison/_collection.py @@ -573,7 +573,7 @@ def gridded_skill( by: str | Iterable[str] | None = None, metrics: Iterable[str] | Iterable[Callable] | str | Callable | None = None, n_min: Optional[int] = None, - **kwargs: Any, + **_kwargs: Any, ) -> SkillGrid: """Skill assessment of model(s) on a regular spatial grid. diff --git a/src/modelskill/comparison/_collection_plotter.py b/src/modelskill/comparison/_collection_plotter.py index 2122b8488..04951eb96 100644 --- a/src/modelskill/comparison/_collection_plotter.py +++ b/src/modelskill/comparison/_collection_plotter.py @@ -343,7 +343,6 @@ def hist( self, bins: int | Sequence = 100, *, - model: str | int | None = None, title: Optional[str] = None, density: bool = True, alpha: float = 0.5, @@ -351,7 +350,7 @@ def hist( figsize: Optional[Tuple[float, float]] = None, **kwargs, ): - """Plot histogram of specific model and all observations. + """Plot histogram of all models and observations. Wraps pandas.DataFrame hist() method. diff --git a/src/modelskill/comparison/_comparer_plotter.py b/src/modelskill/comparison/_comparer_plotter.py index 5467eafc2..eb7ec6dea 100644 --- a/src/modelskill/comparison/_comparer_plotter.py +++ b/src/modelskill/comparison/_comparer_plotter.py @@ -459,7 +459,6 @@ def box(self, *, ax=None, title=None, figsize=None, **kwargs): def scatter( self, *, - model=None, bins: int | float = 120, quantiles: int | Sequence[float] | None = None, fit_to_quantiles: bool = False, diff --git a/src/modelskill/comparison/_comparison.py b/src/modelskill/comparison/_comparison.py index cedc91d81..fc64775fd 100644 --- a/src/modelskill/comparison/_comparison.py +++ b/src/modelskill/comparison/_comparison.py @@ -1052,7 +1052,7 @@ def gridded_skill( by: str | Iterable[str] | None = None, metrics: Iterable[str] | Iterable[Callable] | str | Callable | None = None, n_min: int | None = None, - **kwargs: Any, + **_kwargs: Any, ): """Aggregated spatial skill assessment of model(s) on a regular spatial grid. diff --git a/src/modelskill/configuration.py b/src/modelskill/configuration.py index b4281e6d1..757b4470c 100644 --- a/src/modelskill/configuration.py +++ b/src/modelskill/configuration.py @@ -66,13 +66,13 @@ def from_config( for name, data in conf["observations"].items(): if data.pop("include", True): data["name"] = name - observations.append(_obs_from_dict(name, data, dirname, relative_path)) + observations.append(_obs_from_dict(data, dirname, relative_path)) return match(obs=observations, mod=modelresults) def _obs_from_dict( - name: str, obs_dict: dict, dirname: Path, relative_path: bool + obs_dict: dict, dirname: Path, relative_path: bool ) -> PointObservation | TrackObservation: fp = Path(obs_dict.pop("filename")) if relative_path: diff --git a/src/modelskill/metrics.py b/src/modelskill/metrics.py index 30e4b02bc..5a3699105 100644 --- a/src/modelskill/metrics.py +++ b/src/modelskill/metrics.py @@ -753,11 +753,11 @@ def _linear_regression( return slope, intercept -def _std_obs(obs: ArrayLike, model: ArrayLike) -> Any: +def _std_obs(obs: ArrayLike, _model: Any) -> Any: return obs.std() -def _std_mod(obs: ArrayLike, model: ArrayLike) -> Any: +def _std_mod(_obs: Any, model: ArrayLike) -> Any: return model.std() diff --git a/src/modelskill/plotting/_scatter.py b/src/modelskill/plotting/_scatter.py index de2cd700a..98c32623c 100644 --- a/src/modelskill/plotting/_scatter.py +++ b/src/modelskill/plotting/_scatter.py @@ -428,13 +428,13 @@ def _scatter_plotly( x_trend, show_density, show_points, - norm, # TODO not used by plotly, remove or keep for consistency? + _norm, # Not used by plotly, kept for API consistency show_hist, nbins_hist, reg_method, xlabel, ylabel, - figsize, # TODO not used by plotly, remove or keep for consistency? + _figsize, # Not used by plotly, kept for API consistency xlim, ylim, title, diff --git a/src/modelskill/plotting/_taylor_diagram.py b/src/modelskill/plotting/_taylor_diagram.py index 3ac913cc6..36d6fd3fe 100644 --- a/src/modelskill/plotting/_taylor_diagram.py +++ b/src/modelskill/plotting/_taylor_diagram.py @@ -28,7 +28,7 @@ def taylor_diagram( figsize: tuple[float, float] = (7, 7), obs_text: str = "Observations", normalize_std: bool = False, - ax: Axes | None = None, + _ax: Axes | None = None, # Not yet implemented title: str = "Taylor diagram", ) -> matplotlib.figure.Figure: """