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