Skip to content
Snippets Groups Projects
Commit 0025bcc9 authored by kgao's avatar kgao
Browse files

Added gust variable

parent fdfa47dd
No related branches found
No related tags found
No related merge requests found
......@@ -118,6 +118,26 @@ def createVariables(ncFile, firstStamp, chunksizes, zlib):
return ncFile
def getGust(rollingAvg, speeds):
averages = rollingAvg.tolist()
maxSpeed = speeds['wind_speed'].tolist()
gust = []
for idx, average in enumerate(averages):
if not average:
gust.append(np.nan)
continue
elif average >= 4.63 and maxSpeed[idx] > average + 2.573:
gust.append(maxSpeed[idx])
else:
gust.append(np.nan)
continue
return gust
def minuteAverages(frame):
frame['minute'] = [(ts + delta(minutes=1)).replace(second=0) for ts in frame.index]
newFrame = frame.groupby('minute').mean()
......@@ -132,7 +152,21 @@ def minuteAverages(frame):
windSeries = windSeries.rolling(25, win_type='boxcar').mean()
newFrame['wind_speed'] = windSeries
rollingAvg = newFrame['wind_speed']
maxSpeed = pd.DataFrame()
maxSpeed['minute'] = frame['minute']
maxSpeed['speed'] = frame['wind_speed']
maxSpeed = frame.groupby('minute').max()
gust = getGust(rollingAvg, maxSpeed)
#gust = pd.DataFrame({'gust': gust, 'minute': list(newFrame.index)}, dtype=np.float64
newFrame['gust'] = gust
if 'wind_direction' in columns:
del newFrame['wind_direction']
......@@ -213,9 +247,10 @@ def writeVars(ncFile, frame):
#writes data into file
for varName in frame:
dataList = frame[varName].tolist()
dataArray = np.asarray(dataList)
fileVar[varName][:] = dataArray
return ncFile
#The purpose of this method is to take a begin date, and end date
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment