From c7ebda1c0767756baeb9bb8a230b9a44055c4ede Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Mon, 21 Sep 2026 14:32:05 +0200 Subject: [PATCH 1/2] Add min_solar_elevation parameter to plot_shading_heatmap Added a parameter to filter data based on minimum solar elevation. --- src/solarpy/plotting/shading_heatmap.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/solarpy/plotting/shading_heatmap.py b/src/solarpy/plotting/shading_heatmap.py index fb7d143..3923363 100644 --- a/src/solarpy/plotting/shading_heatmap.py +++ b/src/solarpy/plotting/shading_heatmap.py @@ -15,6 +15,7 @@ def plot_shading_heatmap( value: Any, solar_azimuth: Any, solar_elevation: Any, + min_solar_elevation: float = 0.2, azimuth_bin_size: float = 1.0, elevation_bin_size: float = 1.0, encoding: Callable[[np.ndarray], float] | str = "max", @@ -47,6 +48,9 @@ def plot_shading_heatmap( solar_elevation : array-like of float Solar elevation angle in degrees (0–90 above the horizon). Must be the same length as *value*. + min_solar_elevation : array-like of float + Minimum solar elevation angle in degrees for which to use data + for. Default is ``0.2``. azimuth_bin_size : float, optional Width of each azimuth bin in degrees. Default is ``1.0``. elevation_bin_size : float, optional @@ -127,7 +131,7 @@ def plot_shading_heatmap( solar_elevation = np.asarray(solar_elevation, dtype=float) # Discard sub-horizon data and non-finite values (nan and inf) - above_and_finite = (solar_elevation >= 0) & np.isfinite(value) + above_and_finite = (solar_elevation >= min_solar_elevation) & np.isfinite(value) value = value[above_and_finite] solar_azimuth = solar_azimuth[above_and_finite] solar_elevation = solar_elevation[above_and_finite] From 315e142c9359fd94d1b5f10f6c8c3ffafca7f304 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Mon, 21 Sep 2026 14:35:08 +0200 Subject: [PATCH 2/2] Update default limit to 0.5 Co-authored-by: Adam R. Jensen <39184289+AdamRJensen@users.noreply.github.com> --- src/solarpy/plotting/shading_heatmap.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/solarpy/plotting/shading_heatmap.py b/src/solarpy/plotting/shading_heatmap.py index 3923363..ef1320d 100644 --- a/src/solarpy/plotting/shading_heatmap.py +++ b/src/solarpy/plotting/shading_heatmap.py @@ -15,7 +15,7 @@ def plot_shading_heatmap( value: Any, solar_azimuth: Any, solar_elevation: Any, - min_solar_elevation: float = 0.2, + min_solar_elevation: float = 0.5, azimuth_bin_size: float = 1.0, elevation_bin_size: float = 1.0, encoding: Callable[[np.ndarray], float] | str = "max", @@ -50,7 +50,7 @@ def plot_shading_heatmap( be the same length as *value*. min_solar_elevation : array-like of float Minimum solar elevation angle in degrees for which to use data - for. Default is ``0.2``. + for. Default is ``0.5``. azimuth_bin_size : float, optional Width of each azimuth bin in degrees. Default is ``1.0``. elevation_bin_size : float, optional