Issue #1493 fix grib2 decoder to handle ensembles

Former-commit-id: 7d155653bc [formerly 7d155653bc [formerly c694df943bb70f2903fe495400061444a67d3357]]
Former-commit-id: 4595797f5f
Former-commit-id: fb237583e2
This commit is contained in:
Ben Steffensmeier 2013-01-15 18:08:19 -06:00
parent 72f3894768
commit e8255e320d

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])