awips2/edexOsgi/com.raytheon.edex.uengine/utility/edex_static/base/python/GempakGridDiagnostic.py

81 lines
2.4 KiB
Python
Raw Normal View History

2017-04-21 18:33:55 -06:00
#
# GempakGridDiagnostic
#
# This code has been developed by the SIB for use in the AWIPS2 system.
# Performs a calculation of a grid diagnostic using GEMPAK so, and returns
# the data.
#
# Usage:
# import GempakGridDiagnostic
# gd = GempakGridDiagnostic.GempakGridDiagnostic()
# gd.setGlevel('750')
# gd.setGdattim('2009-07-01_13:00:00.0_(5)')
# gd.setGdfile('RAP13')
# gd.setGvect('wnd') or gd.setGfunc('urel')
# gd.setGvcord('PRES')
# gd.setGarea('ks')
# gd.setScale('0')
# gd.setProj('mer')
# return gd.execute()
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# 04/10 173_partC mgamazaychikov Initial Creation.
# 05/10 173_partC T. Lee Split setParm method to separate methods,
# renamed the module.
# 06/10 173_partC mgamazaychikov Added documentation
#
from com.raytheon.uf.common.message.response import ResponseMessageGeneric
from gov.noaa.nws.ncep.edex.uengine.tasks.gempak import Dgdriv
from gov.noaa.nws.ncep.edex.uengine.utility import GempakConvert
class GempakGridDiagnostic():
def __init__(self):
self.Dgdriv = Dgdriv()
def setGlevel(self, glevel):
self.Dgdriv.setGlevel(glevel)
def setGdattim(self, aDbTime):
convert = GempakConvert()
aGdattim = convert.dbtimeToDattim(aDbTime.replace('_', ' '))
#print aGdattim
self.Dgdriv.setGdattim (aGdattim)
def setGdfile(self, gdfile):
self.Dgdriv.setGdfile(gdfile)
def setGfunc(self, gfunc):
self.Dgdriv.setGfunc(gfunc)
def setGvect(self, gfunc):
self.Dgdriv.setGvect(gfunc)
def setGvcord(self, gvcord):
self.Dgdriv.setGvcord(gvcord)
def setGarea(self, garea):
self.Dgdriv.setGarea(garea)
def setScale(self, scale):
self.Dgdriv.setScale(scale)
def setProj(self, proj):
self.Dgdriv.setProj(proj)
def makeResponse(self):
return ResponseMessageGeneric(self.result)
def makeNullResponse(self):
return ResponseMessageGeneric("No grid data is available")
def execute(self):
self.result = self.Dgdriv.execute()
if self.result is None:
return self.makeNullResponse()
else:
return self.makeResponse()