From e6b4f7382b4cb485aab9e8182444e78af543418e Mon Sep 17 00:00:00 2001 From: Bill Ladwig Date: Wed, 14 Mar 2018 15:54:20 -0600 Subject: [PATCH] Added checks for _key=None in extract_vars. Fix typo with updraft helicity cache key. Fixes #51. --- src/wrf/g_helicity.py | 2 +- src/wrf/util.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/wrf/g_helicity.py b/src/wrf/g_helicity.py index 02ae780..cb3beb5 100755 --- a/src/wrf/g_helicity.py +++ b/src/wrf/g_helicity.py @@ -176,7 +176,7 @@ def get_uh(wrfin, timeidx=0, method="cat", squeeze=True, """ ncvars = extract_vars(wrfin, timeidx, ("W", "PH", "PHB", "MAPFAC_M"), - method, squeeze, cache, meta=False, _key=None) + method, squeeze, cache, meta=False, _key=_key) wstag = ncvars["W"] ph = ncvars["PH"] diff --git a/src/wrf/util.py b/src/wrf/util.py index 3aa9583..7bf9927 100644 --- a/src/wrf/util.py +++ b/src/wrf/util.py @@ -973,10 +973,12 @@ def _combine_dict(wrfdict, varname, timeidx, method, meta, _key): is_moving = is_moving_domain(wrfdict, varname, _key=_key) + _cache_key = _key[first_key] if _key is not None else None + first_array = _extract_var(wrfdict[first_key], varname, timeidx, is_moving=is_moving, method=method, squeeze=False, cache=None, meta=meta, - _key=_key[first_key]) + _key=_cache_key) # Create the output data numpy array based on the first array outdims = [numkeys] @@ -992,10 +994,11 @@ def _combine_dict(wrfdict, varname, timeidx, method, meta, _key): break else: keynames.append(key) + _cache_key = _key[key] if _key is not None else None vardata = _extract_var(wrfdict[key], varname, timeidx, is_moving=is_moving, method=method, squeeze=False, cache=None, meta=meta, - _key=_key[key]) + _key=_cache_key) if outdata.shape[1:] != vardata.shape: raise ValueError("data sequences must have the "