From 014011695ef6918e85b898c73ca971a0f491f6d2 Mon Sep 17 00:00:00 2001 From: Jesse Cusack Date: Tue, 17 Mar 2026 18:32:00 -0700 Subject: [PATCH 1/2] handle files with no data better --- src/glide/cli.py | 4 +++- src/glide/process_l1.py | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/glide/cli.py b/src/glide/cli.py index ed9948c..4045581 100644 --- a/src/glide/cli.py +++ b/src/glide/cli.py @@ -171,7 +171,9 @@ def l2( out = process_l1.enforce_types(out, conf) - out.attrs = conf["globals"]["netcdf_attributes"] + out.attrs = { + k: v for k, v in conf["globals"]["netcdf_attributes"].items() if v is not None + } out.encoding["unlimited_dims"] = {} diff --git a/src/glide/process_l1.py b/src/glide/process_l1.py index ccfd8ae..9bf132b 100644 --- a/src/glide/process_l1.py +++ b/src/glide/process_l1.py @@ -37,6 +37,13 @@ def _format_variables( Converts variable units.""" _log.debug("Formatting variables") + + if not config.get("slocum"): + raise ValueError( + "Configuration has no slocum variable mapping. " + "Check that core.yml is properly loaded." + ) + reduced_name_map = { var: name for var, name in config["slocum"].items() if var in ds.variables } @@ -64,6 +71,17 @@ def _format_variables( remaining_vars = set(ds.keys()) - set(config["variables"].keys()) ds = ds.drop_vars(remaining_vars) + if len(ds.data_vars) == 0: + _log.error( + "No data variables remain after formatting. Dropped variables: %s. " + "Expected slocum variables: %s", + list(remaining_vars), + list(config["slocum"].keys()), + ) + raise ValueError( + "No recognized Slocum variables found in input file. " + ) + _log.debug("Variables remaining in dataset %s", list(ds.keys())) ds["trajectory"] = ( From 97f3e784f8a4fa75de0eb62ed48d0e28c43c601c Mon Sep 17 00:00:00 2001 From: Jesse Cusack Date: Tue, 17 Mar 2026 18:32:19 -0700 Subject: [PATCH 2/2] format --- src/glide/process_l1.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/glide/process_l1.py b/src/glide/process_l1.py index 9bf132b..b06eb82 100644 --- a/src/glide/process_l1.py +++ b/src/glide/process_l1.py @@ -78,9 +78,7 @@ def _format_variables( list(remaining_vars), list(config["slocum"].keys()), ) - raise ValueError( - "No recognized Slocum variables found in input file. " - ) + raise ValueError("No recognized Slocum variables found in input file. ") _log.debug("Variables remaining in dataset %s", list(ds.keys()))