From 3616f0f27a656e18588ed204c8cb6f4764e933c8 Mon Sep 17 00:00:00 2001 From: Katelyn FitzGerald <7872563+kafitzgerald@users.noreply.github.com> Date: Tue, 21 Oct 2025 14:44:13 -0700 Subject: [PATCH 1/2] fix for netCDF4 v1.7.3 iterator changes --- src/wrf/util.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/wrf/util.py b/src/wrf/util.py index 40229c7..03cb7a1 100644 --- a/src/wrf/util.py +++ b/src/wrf/util.py @@ -134,7 +134,13 @@ def is_multi_file(wrfin): is a single NetCDF file object. """ - return (isinstance(wrfin, Iterable) and not isstr(wrfin)) + try: + iter(wrfin) + is_iterable = True + except Exception: + is_iterable = False + + return (is_iterable and not isstr(wrfin)) def has_time_coord(wrfnc): From 72017e526068b75d5a009ded04c535c576faf118 Mon Sep 17 00:00:00 2001 From: Katelyn FitzGerald <7872563+kafitzgerald@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:01:35 -0700 Subject: [PATCH 2/2] oops update the check to work for the older version of netcdf4 --- src/wrf/util.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/wrf/util.py b/src/wrf/util.py index 03cb7a1..99ef9ae 100644 --- a/src/wrf/util.py +++ b/src/wrf/util.py @@ -9,6 +9,7 @@ from types import GeneratorType import datetime as dt from inspect import getmodule +from netCDF4 import Dataset try: from inspect import signature @@ -134,10 +135,11 @@ def is_multi_file(wrfin): is a single NetCDF file object. """ - try: - iter(wrfin) + if isinstance(wrfin, Dataset): + is_iterable = False + elif isinstance(wrfin, Iterable): is_iterable = True - except Exception: + else: is_iterable = False return (is_iterable and not isstr(wrfin))