Example #1
0
File: GETman.py Project: serc/wave
def getWIND(config, starttime, simduration, steeringinterval):
  tmpdir=tempfile.gettempdir()

  north=config['north']
  south=config['south']
  east=config['east']
  west=config['west']
  wintype=config['wintype']
  
  # PARSE DATE PARAMATERS
  steeringtimes = CMSman.maketimes(starttime,simduration,steeringinterval)
  
  # ADD RECORD TO TBLSOURCETYPE
  srctypeid = add_sourcetype(wintype)    
  
  # DOWNLOAD AND PUSH TO DATABASE
  if wintype=='NAM12': 
      
      # RETRIEVE NAM12 DATA FROM WEB
      windata = getNAM12(steeringtimes,north,south,east,west,tmpdir)
      
      # CHECK IF DATA MATCHES STEERINGTIMES
      wintimes = array(windata.keys())
      for mytime in steeringtimes:
          if (not any(wintimes == mytime)):
              quit('\nERROR: no nam12 data available for time:'+str(mytime))

      # ADD NEW SOURCE TO DATABASE
      srcid = add_source(srctypeid,steeringtimes[0])

      # ADD WIND-DATA TO DATABASE
      push_windata(windata,srcid)
  
  else: quit('oops, i can only support wintype=NAM12')
  return
Example #2
0
File: GETman.py Project: serc/wave
def getWAVE(config, starttime, simduration, steeringinterval):
    tmpdir=tempfile.gettempdir()

    wavtype=config['wavtype']
    wavregion=config['wavregion']

    # PARSE DATE PARAMATERS
    steeringtimes = CMSman.maketimes(starttime,simduration,steeringinterval)
    
    # ADD RECORD TO TBLSOURCETYPE
    srctypeid = add_sourcetype(wavtype)
     
    # DOWNLOAD AND PUSH TO DATABASE
    if (wavtype == 'WW3'):
        # RETREIVE WW3 DATA FROM WEB
        wavdata = getWW3(wavregion,tmpdir,steeringtimes)
        
        # CHECK IF DATA MATCHES STEERINGTIMES
        wavtimes = array(wavdata.values()[0].keys()) 
        for mytime in steeringtimes:
            if (not any(wavtimes == mytime)):
                quit('\nERROR: no ww3 data available for time:'+str(mytime))
        
        # ADD NEW SOURCE TO DATABASE
        srcid = add_source(srctypeid,steeringtimes[0])
        
        # ADD SPECTRAL-BINS TO DATABASE 
        loc = sort(wavdata.keys())[0]
        date = sort(wavdata[loc].keys())[0]
        freqs = wavdata[loc][date]['freqs']
        dirs = wavdata[loc][date]['dirs']
        specbinid = add_spectrabin(freqs,dirs)

        # ADD SPECTRAL-DATA TO DATABASE        
        push_wavdata(wavdata,srcid,specbinid)

    else: quit('oops, i can only support wavtype=WW3')
    return