nakas Claude commited on
Commit
094b5f7
·
1 Parent(s): c6b6dfc

Add fallback strategies for opening zarr stores

Browse files

- Try consolidated=True first
- Fall back to consolidated=False
- Fall back to default xarray behavior
- Better error handling with detailed logging

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

Files changed (1) hide show
  1. app.py +19 -3
app.py CHANGED
@@ -61,9 +61,25 @@ def load_dataset(dataset_name, use_cache=True):
61
  url = CATALOG[dataset_name]["url"]
62
  logger.info(f"Opening zarr store at: {url}")
63
 
64
- # Try opening with zarr_version=2 for compatibility
65
- ds = xr.open_zarr(url, zarr_version=2, consolidated=True)
66
- logger.info(f"Successfully opened zarr store")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  logger.info(f"Dataset dimensions: {dict(ds.dims)}")
68
  logger.info(f"Dataset variables: {list(ds.data_vars)}")
69
  logger.info(f"Dataset coordinates: {list(ds.coords)}")
 
61
  url = CATALOG[dataset_name]["url"]
62
  logger.info(f"Opening zarr store at: {url}")
63
 
64
+ # Try different approaches to open the zarr store
65
+ try:
66
+ # First try: zarr v2 with consolidated metadata
67
+ logger.info("Trying zarr_version=2 with consolidated=True")
68
+ ds = xr.open_zarr(url, zarr_version=2, consolidated=True)
69
+ logger.info(f"Successfully opened zarr store with consolidated metadata")
70
+ except Exception as e1:
71
+ logger.warning(f"Failed with consolidated=True: {e1}")
72
+ try:
73
+ # Second try: zarr v2 without consolidated metadata
74
+ logger.info("Trying zarr_version=2 with consolidated=False")
75
+ ds = xr.open_zarr(url, zarr_version=2, consolidated=False)
76
+ logger.info(f"Successfully opened zarr store without consolidated metadata")
77
+ except Exception as e2:
78
+ logger.warning(f"Failed with consolidated=False: {e2}")
79
+ # Third try: default xarray behavior
80
+ logger.info("Trying default xarray open_zarr")
81
+ ds = xr.open_zarr(url)
82
+ logger.info(f"Successfully opened zarr store with default settings")
83
  logger.info(f"Dataset dimensions: {dict(ds.dims)}")
84
  logger.info(f"Dataset variables: {list(ds.data_vars)}")
85
  logger.info(f"Dataset coordinates: {list(ds.coords)}")