From 0c366821b6ffff367772752b241e97bb902f745a Mon Sep 17 00:00:00 2001 From: Gabriele Tramonte Date: Fri, 31 Jan 2025 11:19:07 +0100 Subject: [PATCH] fix persist_dataset was missing zarr format --- executor/app/main.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/executor/app/main.py b/executor/app/main.py index 1c27148..b11017a 100644 --- a/executor/app/main.py +++ b/executor/app/main.py @@ -114,6 +114,9 @@ def persist_datacube( format_args = message.content.format_args else: format = "netcdf" + for var in kube.fields.values(): + if '_FillValue' in kube[var.name].encoding and 'missing_value' in kube[var.name].encoding: + del kube[var.name].encoding['missing_value'] match format: case "netcdf": full_path = os.path.join(base_path, f"{path}.nc") @@ -178,6 +181,9 @@ def _persist_single_datacube(dataframe_item, base_path, format, format_args=None message.request_id, ] ) + for var in dcube.fields.values(): + if '_FillValue' in dcube[var.name].encoding and 'missing_value' in dcube[var.name].encoding: + del dcube[var.name].encoding['missing_value'] match format: case "netcdf": full_path = os.path.join(base_path, f"{path}.nc") @@ -194,6 +200,11 @@ def _persist_single_datacube(dataframe_item, base_path, format, format_args=None case "csv": full_path = os.path.join(base_path, f"{path}.csv") dcube.to_csv(full_path) + case "zarr": + full_path = os.path.join(base_path, f"{path}.zarr") + dcube.to_zarr(full_path, mode='w', consolidated=True) + case _: + raise ValueError(f"format `{format}` is not supported") return full_path if isinstance(message.content, GeoQuery):