# Rechunker needs to be updated in current conda-analysis3

**URL:** <https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340>\
**Category:** Technical\
**Tags:** help\
**Created:** [29 April 2026 12:17 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340 "2026-04-29T12:17:47Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![ClaireT](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/clairet/32/284_2.png) [@ClaireT](https://forum.access-hive.org.au/u/ClaireT)\
**Post date:** [29 April 2026 12:17 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/1 "2026-04-29T12:17:47Z")

</div>

## Description of request: `rechunker.rechunk` failing in current analysis3 environment

## Environment: `conda/analysis3-26.03`

Running in ARE and dask PBSClusters

## What executed:

The part of my code where I use `rechunker` fails in the 26.03 conda analysis environment..  
Specifically, this environment contains rechunker v0.5.2, but the current version of xarray requires rechunker \>= v0.5.4 to enable the `zarr_format` argument to be passed, as specifying zarr v2 or 3 is now required but the older rechunker library does not support this argument.

```
import dask
import xarray as xr
import zarr
from rechunker import rechunk

# Step 2: Set up target_options with encoding
array_plan = rechunk(
    sorted_data,
    target_chunks,
    max_mem,
    target_store_path,
    target_options={
        'overwrite': True,
        'encoding': encoding # Pass the encoding to preserve data types and other options
    },
    temp_store=tmp_store_path,
)

```

## Actual results:

zarr created is empty, dask job final task shows error  
`TypeError("extract_zarr_variable_encoding() missing 1 required keyword-only argument: 'zarr_format'")`

## Expected results:

Zarr is created containing data

## Additional info:

> <https://github.com/pangeo-data/rechunker/blob/2c197f413080b8014762fd4418a2081836b6613b/rechunker/api.py#L453>

Note: it’s a problem specifically with the new environment(s), I was able to roll back to `conda/analysis3-25.08` and run my code successfully. I realise that in the future the code may have to be refactored to not use `rechunker`, I’m just reporting the error.

---

<div class="post-metadata">

**Author:** ![CharlesTurner](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/charlesturner/32/2518_2.png) [@CharlesTurner](https://forum.access-hive.org.au/u/CharlesTurner)\
**Post date:** [30 April 2026 03:17 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/2 "2026-04-30T03:17:50Z")

</div>



---

<div class="post-metadata">

**Author:** ![CharlesTurner](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/charlesturner/32/2518_2.png) [@CharlesTurner](https://forum.access-hive.org.au/u/CharlesTurner)\
**Post date:** [30 April 2026 03:48 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/3 "2026-04-30T03:48:13Z")

</div>

Heya Claire,

Unfortunately, this isn’t gonna be a goer (afaik), as rechunker is pinned to zarr 2:

> <https://github.com/pangeo-data/rechunker/blob/2c197f413080b8014762fd4418a2081836b6613b/pyproject.toml#L25>

It looks like there have been some discussions about unpinning the zarr version - [Compatibility with zarr \>= 3 · Issue #159 · pangeo-data/rechunker · GitHub](https://github.com/pangeo-data/rechunker/issues/159) - but that it’s probably unlikely to happen as rechunker is probably soon to be deprecated from the looks of that issue.

Apparently with newer versions of dask, doing this rechunking should be (more) straightforward (than it was?)?

---

<div class="post-metadata">

**Author:** ![ClaireT](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/clairet/32/284_2.png) [@ClaireT](https://forum.access-hive.org.au/u/ClaireT)\
**Post date:** [30 April 2026 03:52 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/4 "2026-04-30T03:52:15Z")

</div>

Yeah I think that’s right - that in course `rechunker` won’t be required, at the moment we are still using it though, so maybe it should be removed from the current env??  
And relatedly can we please not delete at least one of the older envs until the workflows can be seamlessly ported to modern dask - dask is notoriously flaky for these tasks 😬

---

<div class="post-metadata">

**Author:** ![CharlesTurner](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/charlesturner/32/2518_2.png) [@CharlesTurner](https://forum.access-hive.org.au/u/CharlesTurner)\
**Post date:** [30 April 2026 04:10 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/5 "2026-04-30T04:10:16Z")

</div>

Yeah, that sounds sensible. I’ll have a look at figure out when we migrated to zarr 3. If I remember rightly, it was kerchunk related and happened in September - looks like that roughly jives with what you’ve found?

I think parcels is also currently pinned to zarr 2, so we should be keeping an old zarr 2 environment around for some time yet. Heads up @rbeucher on this front.

Seems like there’s a bit of a fracture in the zarr ecosystem right now annoyingly with the v2 =\> v3 transition 🫠 😅

I’ll come back and crosslink the relevant threads when I get the chance.

---

<div class="post-metadata">

**Author:** ![CharlesTurner](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/charlesturner/32/2518_2.png) [@CharlesTurner](https://forum.access-hive.org.au/u/CharlesTurner)\
**Post date:** [30 April 2026 06:28 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/6 "2026-04-30T06:28:36Z")

</div>

Forum found some for me: [Parcels incompatible with Zarr \>=3 - #2 by CharlesTurner](https://forum.access-hive.org.au/t/parcels-incompatible-with-zarr-3/5619/2), [Issue using parcels in analysis3](https://forum.access-hive.org.au/t/issue-using-parcels-in-analysis3/5491), etc.

Bit of a mess at the moment unfortunately! It also appears I was the trigger happy fool that updated to analysis3 zarr v3, so the blame is unfortunately squarely with me 😳.

---

<div class="post-metadata">

**Author:** ![ClaireT](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/clairet/32/284_2.png) [@ClaireT](https://forum.access-hive.org.au/u/ClaireT)\
**Post date:** [30 April 2026 12:25 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/7 "2026-04-30T12:25:14Z")

</div>

…good luck I guess?  
Please let us know if the next version reverts to zarr2, otherwise I’ll stay with 25.08.  
Thanks Charles! 🙂

---

<div class="post-metadata">

**Author:** ![CharlesTurner](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/charlesturner/32/2518_2.png) [@CharlesTurner](https://forum.access-hive.org.au/u/CharlesTurner)\
**Post date:** [4 May 2026 07:18 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/8 "2026-05-04T07:18:14Z")

</div>

I’ve had a look and `virtualizarr`, `kerchunk` and `icechunk` all require `zarr>=3.0.0` (and potentially others, I didn’t completely unwind the dependency tree).

I think this is probably gonna make going back unviable.

What specifically is it that makes Dask flaky for this stuff? I read the rechunker code & it looks like it’s just wrapping dask - granted, I didn’t read it super carefully. I wonder if we could write a little shim package that just wraps dask & makes it a bit more reliable for these use cases.

---

<div class="post-metadata">

**Author:** ![ClaireT](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/clairet/32/284_2.png) [@ClaireT](https://forum.access-hive.org.au/u/ClaireT)\
**Post date:** [6 May 2026 03:32 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/9 "2026-05-06T03:32:54Z")

</div>

I can always just build my own env it’s okay 🙂 But it’s good to know about parcels as well - probably worth hanging onto 25.08 for a little while?

---

<div class="post-metadata">

**Author:** ![CharlesTurner](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/charlesturner/32/2518_2.png) [@CharlesTurner](https://forum.access-hive.org.au/u/CharlesTurner)\
**Post date:** [6 May 2026 03:38 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/10 "2026-05-06T03:38:29Z")

</div>

> [@ClaireT](#):
>
> probably worth hanging onto 25.08 for a little while?

for sure!

---

<div class="post-metadata">

**Author:** ![CharlesTurner](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/charlesturner/32/2518_2.png) [@CharlesTurner](https://forum.access-hive.org.au/u/CharlesTurner)\
**Post date:** [27 May 2026 06:39 UTC](https://forum.access-hive.org.au/t/rechunker-needs-to-be-updated-in-current-conda-analysis3/6340/11 "2026-05-27T06:39:29Z")

</div>

Just a heads up that xarray will require zarr v3 from `2025.4.0`, so going back to zarr v2 is definitely not viable!

> **[Release v2026.04.0 · pydata/xarray](https://github.com/pydata/xarray/releases/tag/v2026.04.0)**
>
> This release bumps the minimum supported zarr version to 3.0, finalizes the
> deprecation of timedelta decoding via units, adds col\_wrap='auto' for plots,
> a new inherit='all\_coords' option for :py:me...
