From 2dcafaed98dc2fa43b08782f78c16d1e79e9ae5c Mon Sep 17 00:00:00 2001 From: Ana Rivera Date: Tue, 16 Dec 2014 16:39:22 +0000 Subject: [PATCH] VLab Issue #4365 Decode Ensemble Kernel Density MOS (EKDMOS); fixes 4365 Change-Id: I1272721f43ee78b310fcf74227317cf27e8d6b28 Former-commit-id: 4fa0956af3311f00dbf5ee6b02dfb362e2fea1a0 [formerly 15f81a3bc799abd61bd0797aadfcf6948a718de9] [formerly 2eec9d9557fa1c729e193f06cc04bfb9b3060358] [formerly 4fa0956af3311f00dbf5ee6b02dfb362e2fea1a0 [formerly 15f81a3bc799abd61bd0797aadfcf6948a718de9] [formerly 2eec9d9557fa1c729e193f06cc04bfb9b3060358] [formerly dcf5dc2173fcd28e0a04c94a2b9bb7524be72ff1 [formerly 2eec9d9557fa1c729e193f06cc04bfb9b3060358 [formerly cb236c208fe6489f88144adab3178dccd4a826db]]]] Former-commit-id: dcf5dc2173fcd28e0a04c94a2b9bb7524be72ff1 Former-commit-id: d73f27d59fe65f08d7da6825accb893d40d80ee8 [formerly e4ad9d5e285826f7061f5584cda4d60807e14876] [formerly 62bcd6efd0bb1a5e476611798448818f8e125d0a [formerly 09a9b3491c4a8eb5f97f1ab1caa5ea4de8df25fe]] Former-commit-id: 03a912f4d025094d56f4f0aa6e6f4cddb7de8259 [formerly c406ea45b9ecc809a5e6dadcd4de9955e5a94d35] Former-commit-id: 2e8628f836d6159522f7b1df1c0a680394f7e4b9 --- .../GribDecoder.py | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/GribDecoder.py b/edexOsgi/com.raytheon.edex.plugin.grib/GribDecoder.py index dc65617582..a32c662596 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/GribDecoder.py +++ b/edexOsgi/com.raytheon.edex.plugin.grib/GribDecoder.py @@ -133,6 +133,8 @@ logHandler = UFStatusHandler.UFStatusHandler("com.raytheon.edex.plugin.grib", "E # Apr 28, 2014 3084 bsteffen Use full grid for looking up parameter aliases. # Aug 15, 2014 15699 MPorricelli Import GridUtil and update reference # to GRID_FILL_VALUE +# Dec 15, 2014 DR16509 Matt Foster Changes in _decodePdsSection to accommodate +# EKDMOS # class GribDecoder(): @@ -565,17 +567,23 @@ class GribDecoder(): #numMissingValues = pdsTemplate[22] #statisticalProcess = pdsTemplate[23] - elif pdsTemplateNumber == 10: + elif pdsTemplateNumber == 6 or pdsTemplateNumber == 10: + # pdsTemplate 6 and 10 are used for percentile-based variables + # 6 is for instantaneous variables, 10 is for those that span + # a time range parameterAbbreviation = parameterAbbreviation + str(pdsTemplate[15]) + "pct" gribDict['parameterName'] = str(pdsTemplate[15]) +"th percentile " + gribDict['parameterName'] - gribDict['endTime'] = self._convertToCalendar(pdsTemplate, 16) - - #numTimeRanges = pdsTemplate[22] - #numMissingValues = pdsTemplate[23] - #statisticalProcess = pdsTemplate[24] - typeOfTimeInterval = pdsTemplate[25] - durationSecs = self._convertToSeconds(pdsTemplate[27], pdsTemplate[26]) + if pdsTemplateNumber == 10: + # Add time range information for pdsTemplate 10 + gribDict['endTime'] = self._convertToCalendar(pdsTemplate, 16) + + #numTimeRanges = pdsTemplate[22] + #numMissingValues = pdsTemplate[23] + #statisticalProcess = pdsTemplate[24] + + typeOfTimeInterval = pdsTemplate[25] + durationSecs = self._convertToSeconds(pdsTemplate[27], pdsTemplate[26]) if durationSecs is not None: