From 83ed95a1851e6558fe85046c7e7106a09517e78c Mon Sep 17 00:00:00 2001 From: karpob Date: Wed, 7 Sep 2022 12:15:38 -0400 Subject: [PATCH 1/2] add ompslpnc for geos adas along with cleanup. --- src/gsi-ncdiag/gsi_ncdiag.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/gsi-ncdiag/gsi_ncdiag.py b/src/gsi-ncdiag/gsi_ncdiag.py index 5f5d57bca..3fc403af7 100644 --- a/src/gsi-ncdiag/gsi_ncdiag.py +++ b/src/gsi-ncdiag/gsi_ncdiag.py @@ -391,17 +391,20 @@ 'viirs', ] -oz_sensors = [ +oz_lay_sensors = [ 'gome', 'sbuv2', 'omi', 'ompsnp', 'ompstc8', - 'ompslp', - 'mls55', 'ompsnm', ] +oz_lev_sensors = [ + 'ompslp', + 'ompslpnc', + 'mls55', +] # units # 'IODA/UFO_variable_name': 'Unit' units_values = { @@ -1443,6 +1446,7 @@ def __init__(self, filename): self.filename = filename splitfname = self.filename.split('/')[-1].split('_') i = False + oz_sensors = oz_lay_sensors + oz_lev_sensors for s in oz_sensors: if s in splitfname: i = splitfname.index(s) @@ -1493,7 +1497,7 @@ def toGeovals(self, OutDir, clobber=True): ncout.createDimension("nlocs", nlocs) # other dims ncout.createDimension("nlevs", self.df.dimensions["mole_fraction_of_ozone_in_air_arr_dim"].size) - if (self.sensor not in ["ompslp", "mls55"]): + if (self.sensor in oz_lay_sensors): ncout.createDimension("nlevsp1", self.df.dimensions["air_pressure_levels_arr_dim"].size) for var in self.df.variables.values(): vname = var.name @@ -1541,14 +1545,19 @@ def toIODAobs(self, OutDir, clobber=True): nlocs = self.nobs vname = "integrated_layer_ozone_in_air" - if (self.sensor in ["ompslp", "mls55"]): + if (self.sensor in oz_lev_sensors): vname = "mole_fraction_of_ozone_in_air" varDict[vname]['valKey'] = vname, iconv.OvalName() varDict[vname]['errKey'] = vname, iconv.OerrName() varDict[vname]['qcKey'] = vname, iconv.OqcName() VarDims[vname] = ['nlocs'] - varAttrs[varDict[vname]['valKey']]['units'] = 'mol mol-1' - varAttrs[varDict[vname]['errKey']]['units'] = 'mol mol-1' + if (self.sensor in oz_lev_sensors): + varAttrs[varDict[vname]['valKey']]['units'] = 'mol mol-1' + varAttrs[varDict[vname]['errKey']]['units'] = 'mol mol-1' + else: + varAttrs[varDict[vname]['valKey']]['units'] = 'DU' + varAttrs[varDict[vname]['errKey']]['units'] = 'DU' + varAttrs[varDict[vname]['qcKey']]['units'] = 'unitless' varAttrs[varDict[vname]['valKey']]['_FillValue'] = self.FLOAT_FILL varAttrs[varDict[vname]['errKey']]['_FillValue'] = self.FLOAT_FILL From f1733b99b03cd5259a128f9b112423d78067418e Mon Sep 17 00:00:00 2001 From: karpob Date: Wed, 7 Sep 2022 12:53:46 -0400 Subject: [PATCH 2/2] fix coding norm. --- src/gsi-ncdiag/gsi_ncdiag.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gsi-ncdiag/gsi_ncdiag.py b/src/gsi-ncdiag/gsi_ncdiag.py index 3fc403af7..d75418196 100644 --- a/src/gsi-ncdiag/gsi_ncdiag.py +++ b/src/gsi-ncdiag/gsi_ncdiag.py @@ -1497,7 +1497,7 @@ def toGeovals(self, OutDir, clobber=True): ncout.createDimension("nlocs", nlocs) # other dims ncout.createDimension("nlevs", self.df.dimensions["mole_fraction_of_ozone_in_air_arr_dim"].size) - if (self.sensor in oz_lay_sensors): + if (self.sensor in oz_lay_sensors): ncout.createDimension("nlevsp1", self.df.dimensions["air_pressure_levels_arr_dim"].size) for var in self.df.variables.values(): vname = var.name