From b1a47b5bd2fd390e469f1329e2f95f740ccac433 Mon Sep 17 00:00:00 2001 From: CyanideCN Date: Sat, 15 Jun 2024 17:06:22 -0700 Subject: [PATCH] fix: exporting nonexistent variables --- cinrad/io/export.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/cinrad/io/export.py b/cinrad/io/export.py index 937c40c..8501e4d 100644 --- a/cinrad/io/export.py +++ b/cinrad/io/export.py @@ -90,15 +90,21 @@ def standard_data_to_pyart(f: StandardData, radius: int = 460) -> pyart.core.Rad fields = {} nscans = f.get_nscans() + all_var = list() + for lvl in f.data: + all_var.extend(f.data[lvl].keys()) + all_var_set = set(all_var) + for mom in mapping.keys(): - name = mapping[mom] - dic = filemetadata(name) - dic["_FillValue"] = pyart.config.get_fillvalue() - raw_arr = [f.get_raw(nel, radius, mom) for nel in range(nscans)] - sel_arr = [i if not isinstance(i, tuple) else i[0] for i in raw_arr] - moment_data = np.ma.vstack(sel_arr) - dic["data"] = moment_data - fields[name] = dic + if mom in all_var_set: + name = mapping[mom] + dic = filemetadata(name) + dic["_FillValue"] = pyart.config.get_fillvalue() + raw_arr = [f.get_raw(nel, radius, mom) for nel in range(nscans)] + sel_arr = [i if not isinstance(i, tuple) else i[0] for i in raw_arr] + moment_data = np.ma.vstack(sel_arr) + dic["data"] = moment_data + fields[name] = dic nyquist_velocity = filemetadata("nyquist_velocity") nyquist_velocity["data"] = np.array(