Issue #1493 fix grib2 decoder to handle ensembles

Former-commit-id: 02e0433afc [formerly 7d155653bc] [formerly 02e0433afc [formerly 7d155653bc] [formerly 4595797f5f [formerly c694df943bb70f2903fe495400061444a67d3357]]]
Former-commit-id: 4595797f5f
Former-commit-id: e7969ff457 [formerly fb237583e2]
Former-commit-id: e8255e320d
This commit is contained in:
Ben Steffensmeier 2013-01-15 18:08:19 -06:00
parent 846ac28155
commit 46f252319e

View file

@ -593,19 +593,19 @@ class GribDecoder():
# Special case handling for specific PDS Templates
if pdsTemplateNumber == 1 or pdsTemplateNumber == 11:
typeEnsemble = Integer(pdsTemplate[15])
perturbationNumber = Integer(pdsTemplate[16])
typeEnsemble = Integer(pdsTemplate[15]).intValue()
perturbationNumber = Integer(pdsTemplate[16]).intValue()
pdsFields['numForecasts'] = Integer(pdsTemplate[17])
if(typeEnsemble == 0):
pdsFields['ensembleId'] = "ctlh" + perturbationNumber;
pdsFields['ensembleId'] = "ctlh" + str(perturbationNumber);
elif(typeEnsemble == 1):
pdsFields['ensembleId'] = "ctll" + perturbationNumber;
pdsFields['ensembleId'] = "ctll" + str(perturbationNumber);
elif(typeEnsemble == 2):
pdsFields['ensembleId'] = "n" + perturbationNumber;
pdsFields['ensembleId'] = "n" + str(perturbationNumber);
elif(typeEnsemble == 3):
pdsFields['ensembleId'] = "p" + perturbationNumber;
pdsFields['ensembleId'] = "p" + str(perturbationNumber);
else:
pdsFields['ensembleId'] = typeEnsemble + "." + perturbationNumber;
pdsFields['ensembleId'] = str(typeEnsemble) + "." + str(perturbationNumber);
if pdsTemplateNumber == 11:
endTime = GregorianCalendar(pdsTemplate[18], pdsTemplate[19] - 1, pdsTemplate[20], pdsTemplate[21], pdsTemplate[22], pdsTemplate[23])