@@ -169,14 +169,10 @@ def _build_rectilinear_grid_chunks(
169169 region_start = region .start or 0
170170 region_stop = region .stop or sum (chunk_sizes )
171171
172- boundaries = [0 ]
173- for cs in chunk_sizes :
174- boundaries .append (boundaries [- 1 ] + cs )
172+ boundaries = [0 , * itertools .accumulate (chunk_sizes , initial = 0 )]
175173
176174 result = []
177- for i in range (len (chunk_sizes )):
178- chunk_start = boundaries [i ]
179- chunk_end = boundaries [i + 1 ]
175+ for chunk_start , chunk_end in itertools .pairwise (boundaries ):
180176
181177 if chunk_end <= region_start or chunk_start >= region_stop :
182178 continue
@@ -227,7 +223,7 @@ def _validate_rectilinear_chunk_alignment(
227223 enc_stops = set (itertools .accumulate (enc_chunks ))
228224 region_start = region .start or 0
229225 dask_stops = {region_start + s for s in itertools .accumulate (dask_chunks )}
230- # The final stop (total size) always matches — exclude it
226+ # The final stop (total size) always matches. Exclude it.
231227 total = sum (enc_chunks )
232228 enc_stops .discard (total )
233229 dask_stops .discard (total )
@@ -276,7 +272,7 @@ def validate_grid_chunks_alignment(
276272 strict = True ,
277273 ):
278274 if isinstance (chunk_size , (list , tuple )):
279- # Rectilinear dimension — use boundary-based validation
275+ # Rectilinear dimension: use boundary-based validation
280276 _validate_rectilinear_chunk_alignment (
281277 dask_chunks = v_chunks ,
282278 enc_chunks = chunk_size ,
@@ -286,7 +282,7 @@ def validate_grid_chunks_alignment(
286282 )
287283 continue
288284
289- # Regular dimension — existing validation logic
285+ # Regular dimension: use existing validation logic
290286 for i , chunk in enumerate (v_chunks [1 :- 1 ]):
291287 if chunk % chunk_size :
292288 raise ValueError (
0 commit comments