From dd6aaa92e0639a4b4cce73508a0a5a6596b1e0b7 Mon Sep 17 00:00:00 2001 From: Howard Soh Date: Tue, 21 Feb 2023 09:01:44 -0700 Subject: [PATCH 1/4] #2428 CSV: check if grib code --- scripts/python/met_point_obs.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/python/met_point_obs.py b/scripts/python/met_point_obs.py index 41bc6462f6..8c07835fb9 100755 --- a/scripts/python/met_point_obs.py +++ b/scripts/python/met_point_obs.py @@ -373,6 +373,7 @@ def __init__(self, point_data): self.obs_hgt = [ self.FILL_VALUE for _ in range(0, obs_cnt) ] # (nobs) float self.obs_val = [ self.FILL_VALUE for _ in range(0, obs_cnt) ] # (nobs) float + self.use_var_id = not self.is_grib_code() self.convert_point_data() def check_csv_record(self, csv_point_data, index): From beefef2d602879aef8c68a5f9dc8762061f3afaf Mon Sep 17 00:00:00 2001 From: Howard Soh Date: Tue, 21 Feb 2023 09:07:29 -0700 Subject: [PATCH 2/4] #2428 check if grib code for CSV --- scripts/python/met_point_obs.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/python/met_point_obs.py b/scripts/python/met_point_obs.py index 8c07835fb9..458a91572c 100755 --- a/scripts/python/met_point_obs.py +++ b/scripts/python/met_point_obs.py @@ -373,7 +373,6 @@ def __init__(self, point_data): self.obs_hgt = [ self.FILL_VALUE for _ in range(0, obs_cnt) ] # (nobs) float self.obs_val = [ self.FILL_VALUE for _ in range(0, obs_cnt) ] # (nobs) float - self.use_var_id = not self.is_grib_code() self.convert_point_data() def check_csv_record(self, csv_point_data, index): @@ -448,6 +447,8 @@ def convert_point_data(self): obs_var_map = {} obs_qty_map = {} + self.use_var_id = not self.is_grib_code() + index = 0 #names=['typ', 'sid', 'vld', 'lat', 'lon', 'elv', 'var', 'lvl', 'hgt', 'qc', 'obs'] for csv_point_record in self.point_data: From b3e185d560a8a1049dc17e8bb5d09b5985973ab2 Mon Sep 17 00:00:00 2001 From: Howard Soh Date: Fri, 24 Feb 2023 11:39:02 -0700 Subject: [PATCH 3/4] #2428 Set use_var_id at put_data --- scripts/python/met_point_obs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/python/met_point_obs.py b/scripts/python/met_point_obs.py index 458a91572c..fb108705fd 100755 --- a/scripts/python/met_point_obs.py +++ b/scripts/python/met_point_obs.py @@ -242,6 +242,7 @@ def log_info(self, info_msg): base_met_point_obs.info_msg(info_msg) def put_data(self, point_obs_dict): + self.use_var_id = point_obs_dict['use_var_id'] self.hdr_typ = point_obs_dict['hdr_typ'] self.hdr_sid = point_obs_dict['hdr_sid'] self.hdr_vld = point_obs_dict['hdr_vld'] @@ -446,7 +447,6 @@ def convert_point_data(self): hdr_vld_map = {} obs_var_map = {} obs_qty_map = {} - self.use_var_id = not self.is_grib_code() index = 0 From 5adae05c7eb0acd2060bef6eacd7239b735af42a Mon Sep 17 00:00:00 2001 From: Howard Soh Date: Fri, 24 Feb 2023 11:39:28 -0700 Subject: [PATCH 4/4] #2428 Read the global attribute use_var_id from NetCDF input --- scripts/python/met_point_obs_nc.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/python/met_point_obs_nc.py b/scripts/python/met_point_obs_nc.py index cb86be5011..e6680c0689 100644 --- a/scripts/python/met_point_obs_nc.py +++ b/scripts/python/met_point_obs_nc.py @@ -64,6 +64,11 @@ def read_data(self, nc_filename): self.log_error_msg(f"input NetCDF file ({nc_filename}) does not exist") else: dataset = nc.Dataset(nc_filename, 'r') + + attr_name = 'use_var_id' + use_var_id_str = dataset.getncattr(attr_name) if attr_name in dataset.ncattrs() else "false" + self.use_var_id = use_var_id_str.lower() == 'true' + # Header self.hdr_typ = dataset['hdr_typ'][:] self.hdr_sid = dataset['hdr_sid'][:]