Ejemplo n.º 1
0
def varsToRead(table):
  toRead = {}
  var = table.getElementsByTagName("variable")
  for v in var:
    name = getText(v,"varName")
    col = getText(v,"tableColumn")
    toRead[name] = col
  return toRead
Ejemplo n.º 2
0
 def __get_info_from_xml(self):
   program_xml = getXML(self.program_name)
   for table_node in program_xml.getElementsByTagName('table'):
     if xmlutils.getText(table_node, 'tableName') == self.table_name:
       self.table_xml = table_node
       self.epoch = float(xmlutils.getText(table_node, 'outputInterval'))
       self.group_name = createNetcdfs.groupName(self.epoch)
       self.var_ids = varNames(table_node, program_xml)
Ejemplo n.º 3
0
def varNames(table, progXml):
  names = dict()
  for var in table.getElementsByTagName('variable'):
      if xmlutils.getText(var, 'flag'):continue
      name = xmlutils.getText(var, 'varName')
      col = int(xmlutils.getText(var, 'tableColumn'))+1
      #if re.search('batt', name, flags=re.IGNORECASE):
      #  print getProgName(progXml)
      #  name = name+'_'+getProgName(progXml)
      names[col] = name
  return names
Ejemplo n.º 4
0
def getObservations (obsXmlFile):
  obsXml = xml.dom.minidom.parse(obsXmlFile)
  ### get metadata from obsXml
  obsTypes = {}
  obsLimits = {}
  observations = obsXml.getElementsByTagName('observation')
  for obs in observations:
    obsName = getText(obs, 'obsName')
    varName = getText(obs, 'varName')
    minVal = getText(obs, 'minValue')
    maxVal = getText(obs, 'maxValue')
    obsTypes[varName] = obsName
    obsLimits[obsName] = (minVal, maxVal)
  return obsTypes, obsLimits
Ejemplo n.º 5
0
def getObservations(obsXmlFile):
    obsXml = xml.dom.minidom.parse(obsXmlFile)
    ### get metadata from obsXml
    obsTypes = {}
    obsLimits = {}
    observations = obsXml.getElementsByTagName('observation')
    for obs in observations:
        obsName = getText(obs, 'obsName')
        varName = getText(obs, 'varName')
        minVal = getText(obs, 'minValue')
        maxVal = getText(obs, 'maxValue')
        obsTypes[varName] = obsName
        obsLimits[obsName] = (minVal, maxVal)
    return obsTypes, obsLimits
Ejemplo n.º 6
0
 def lookupInstrument(self, variable, insLib):
     baseName = _getBasename(variable)
     variables = insLib.getElementsByTagName('varName')
     for j in variables:
         name = j.childNodes[0].data
         if name == baseName:
             ins = _getInstrument(j)
             obs = getText(j.parentNode, 'obsName')
             return (ins, obs)
     return (None, None)
Ejemplo n.º 7
0
def addVariables (progXML, variables):
  ### get all variable names for each epoch in progxml
  tables = progXML.getElementsByTagName('table')
  for table in tables:
    interval = (getText(table, 'outputInterval'))
    if interval == 'None':
      interval = 1.0
    else:
      interval = float(interval)
    vars = table.getElementsByTagName('variable')
    for var in vars:
      name = getText(var, 'varName')
      variables.addVar(interval, name)
      ### metadata: get units
      units = getText(var, 'varUnits')
      if units:
        variables.addUnits(name, units)
      origName = getText(var, 'origName')
      ### original name (ie not alias. so as to match up with other metadata)
      if origName: 
        variables.addOrig(name, origName)
  return variables
Ejemplo n.º 8
0
def addVariables(progXML, variables):
    ### get all variable names for each epoch in progxml
    tables = progXML.getElementsByTagName('table')
    for table in tables:
        interval = (getText(table, 'outputInterval'))
        if interval == 'None':
            interval = 1.0
        else:
            interval = float(interval)
        vars = table.getElementsByTagName('variable')
        for var in vars:
            name = getText(var, 'varName')
            variables.addVar(interval, name)
            ### metadata: get units
            units = getText(var, 'varUnits')
            if units:
                variables.addUnits(name, units)
            origName = getText(var, 'origName')
            ### original name (ie not alias. so as to match up with other metadata)
            if origName:
                variables.addOrig(name, origName)
    return variables
Ejemplo n.º 9
0
 def __init_empty_buffer(self):
   self.data = dict()
   for var in self.table_xml.getElementsByTagName('variable'):
     if xmlutils.getText(var, 'flag'): continue
     col = int(xmlutils.getText(var, 'tableColumn')) + 1
     self.data[col] = []
Ejemplo n.º 10
0
def getProgName(program):
  return xmlutils.getText(program, 'progName')