133 lines
4.5 KiB
Python
133 lines
4.5 KiB
Python
##
|
|
# This software was developed and / or modified by Raytheon Company,
|
|
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
|
#
|
|
# U.S. EXPORT CONTROLLED TECHNICAL DATA
|
|
# This software product contains export-restricted data whose
|
|
# export/transfer/disclosure is restricted by U.S. law. Dissemination
|
|
# to non-U.S. persons whether in the United States or abroad requires
|
|
# an export license or other authorization.
|
|
#
|
|
# Contractor Name: Raytheon Company
|
|
# Contractor Address: 6825 Pine Street, Suite 340
|
|
# Mail Stop B8
|
|
# Omaha, NE 68106
|
|
# 402.291.0100
|
|
#
|
|
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
|
# further licensing information.
|
|
##
|
|
|
|
##
|
|
# This is an absolute override file, indicating that a higher priority version
|
|
# of the file will completely replace a lower priority version of the file.
|
|
##
|
|
|
|
import TimeRange
|
|
from com.raytheon.uf.common.dataplugin.gfe.db.objects import GridParmInfo
|
|
|
|
class GridInfo(object):
|
|
##
|
|
# Constructor. gridTime is required, supply gridParmInfo OR the rest of
|
|
# the parameters (not both).
|
|
#
|
|
def __init__(self, parmID=None, gridLoc=None, maxLimit=None, minLimit=None,
|
|
units=None, gridTime=None, type=None, timeIndependentParm=None,
|
|
timeConstraints=None, precision=None, rateParm=None,
|
|
descriptiveName=None, gridParmInfo=None):
|
|
if gridParmInfo is None:
|
|
gridParmInfo = GridParmInfo(parmID, gridLoc, type, units,
|
|
descriptiveName, minLimit, maxLimit,
|
|
precision, timeIndependentParm,
|
|
timeConstraints, rateParm)
|
|
elif parmID is not None or \
|
|
gridLoc is not None or \
|
|
maxLimit is not None or \
|
|
minLimit is not None or \
|
|
units is not None or \
|
|
type is not None or \
|
|
timeIndependentParm is not None or \
|
|
timeConstraints is not None or \
|
|
precision is not None or \
|
|
rateParm is not None or \
|
|
descriptiveName is not None:
|
|
raise IllegalArgumentException("Only gridTime can be specified with gridParmInfo")
|
|
|
|
self.gridParmInfo = gridParmInfo
|
|
if isinstance(gridTime, TimeRange.TimeRange):
|
|
self._gridTime = gridTime
|
|
else :
|
|
self._gridTime = TimeRange.TimeRange(gridTime)
|
|
|
|
##
|
|
# Get the parm ID of the Parm this grid belongs to.
|
|
# @return: the Parm ID
|
|
# @rtype: com.raytheon.uf.common.dataplugin.gfe.db.objects.ParmID
|
|
def getParmID(self):
|
|
return self.gridParmInfo.getParmID()
|
|
|
|
##
|
|
# Return the grid location.
|
|
# @return: the grid location.
|
|
# @rtype com.raytheon.uf.common.dataplugin.gfe.db.objects.GridLocation
|
|
def gridLocation(self):
|
|
return self.gridParmInfo.getGridLoc()
|
|
|
|
##
|
|
# Return the maximum value allowed for this grid.
|
|
# @return: Maximum value
|
|
# @rtype: float
|
|
def maxLimit(self):
|
|
return self.gridParmInfo.getMaxValue()
|
|
|
|
##
|
|
# Return the minimum value allowed for this grid.
|
|
# @return Minimum value
|
|
# @rtype: float
|
|
def minLimit(self):
|
|
return self.gridParmInfo.getMinValue()
|
|
|
|
##
|
|
# Return the time range of this grid.
|
|
# @return: The valid time range of the grid.
|
|
# @rtype: TimeRange.TimeRange
|
|
def gridTime(self):
|
|
return self._gridTime
|
|
|
|
##
|
|
# Return the grid type.
|
|
# @return: the grid type
|
|
# @rtype: com.raytheon.uf.common.dataplugin.gfe.db.objects.GridParmInfo.GridType
|
|
def type(self):
|
|
return self.gridParmInfo.getGridType()
|
|
|
|
##
|
|
# The parm units, as a String.
|
|
# @return: The units
|
|
# @rtype: String
|
|
def units(self):
|
|
return self.gridParmInfo.getUnitString()
|
|
|
|
##
|
|
# @return: Whether this is a time independent parm.
|
|
# @rtype: boolean
|
|
def timeIndependentParm(self):
|
|
return self.gridParmInfo.getTimeIndependentParm()
|
|
|
|
##
|
|
# @return: The time constraints of this grid
|
|
# @rtype: com.raytheon.uf.common.dataplugin.gfe.db.objects.TimeConstraints
|
|
def tc(self):
|
|
return self.gridParmInfo.getTimeConstraints()
|
|
|
|
##
|
|
# @rtype: int
|
|
def precision(self):
|
|
return self.gridParmInfo.getPrecision()
|
|
|
|
##
|
|
# Return whether this grid's parm is a rate parm.
|
|
# @rtype: boolean
|
|
def rateParm(self):
|
|
return self.gridParmInfo.isRateParm()
|
|
|