Follow-up from #2763 / PR #2774.
slope.py:397 calls _check_geodesic_memory(rows, cols, ...) before backend dispatch, sized against the full raster. The dask geodesic slope path processes the raster chunk-by-chunk via map_overlap, the same as aspect, so the full-raster guard wrongly rejects chunked dask inputs under memory pressure.
PR #2774 fixed this for aspect by skipping the guard when the input is a dask array (has_dask_array() and isinstance(agg.data, da.Array)). Slope needs the same treatment.
This was left out of #2774 because that issue was scoped to the aspect module.
Follow-up from #2763 / PR #2774.
slope.py:397calls_check_geodesic_memory(rows, cols, ...)before backend dispatch, sized against the full raster. The dask geodesic slope path processes the raster chunk-by-chunk via map_overlap, the same as aspect, so the full-raster guard wrongly rejects chunked dask inputs under memory pressure.PR #2774 fixed this for aspect by skipping the guard when the input is a dask array (
has_dask_array() and isinstance(agg.data, da.Array)). Slope needs the same treatment.This was left out of #2774 because that issue was scoped to the aspect module.