From cdd695e507615ae3c858a3459074d113de3fe994 Mon Sep 17 00:00:00 2001 From: James McClung Date: Mon, 24 Nov 2025 12:53:08 -0500 Subject: [PATCH 1/3] psc: don't drop vars when they're also components --- src/pscpy/psc.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pscpy/psc.py b/src/pscpy/psc.py index bf1e606..fd3859c 100644 --- a/src/pscpy/psc.py +++ b/src/pscpy/psc.py @@ -84,11 +84,11 @@ def decode_psc( ds = ds.squeeze("step") for var_name in ds: - for component_idx, component in enumerate( - iter_components(var_name, species_names) - ): + components = list(iter_components(var_name, species_names)) + for component_idx, component in enumerate(components): ds = ds.assign({component: ds[var_name][component_idx, :, :, :]}) - ds = ds.drop_vars([var_name]) + if var_name not in components: + ds = ds.drop_vars([var_name]) run_info = RunInfo(ds, length=length, corner=corner) coords = { From eeac670b9f04277ff66c61f55270850ec6ecce5c Mon Sep 17 00:00:00 2001 From: James McClung Date: Mon, 24 Nov 2025 13:15:43 -0500 Subject: [PATCH 2/3] postprocessing: fix a spontaneously-generated mypy error "it worked on my machine" --- src/pscpy/postprocessing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pscpy/postprocessing.py b/src/pscpy/postprocessing.py index c9af8fa..08b1681 100644 --- a/src/pscpy/postprocessing.py +++ b/src/pscpy/postprocessing.py @@ -30,7 +30,7 @@ def get_recentered( elif boundary == "zero": shifted[{dim: boundary_idx}] = 0 - return 0.5 * (da + shifted) + return 0.5 * (da + shifted) # type: ignore def _rename_var(ds: xr.Dataset, old_name: str, new_name: str) -> None: From cf6211c28cec9461456c98d0610054c109165efc Mon Sep 17 00:00:00 2001 From: James McClung Date: Mon, 24 Nov 2025 13:21:20 -0500 Subject: [PATCH 3/3] postprocessing: fix the fix --- src/pscpy/postprocessing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pscpy/postprocessing.py b/src/pscpy/postprocessing.py index 08b1681..b3bc50b 100644 --- a/src/pscpy/postprocessing.py +++ b/src/pscpy/postprocessing.py @@ -30,7 +30,7 @@ def get_recentered( elif boundary == "zero": shifted[{dim: boundary_idx}] = 0 - return 0.5 * (da + shifted) # type: ignore + return 0.5 * (da + shifted) # type: ignore[no-any-return] def _rename_var(ds: xr.Dataset, old_name: str, new_name: str) -> None: