diff --git a/aosstower/level_b1/nc.py b/aosstower/level_b1/nc.py
index 148f9533c25102729f0346d62c3a3e97b477bdd2..501e5cbfce9bf0a41d4cf0630ed76e65c9602805 100644
--- a/aosstower/level_b1/nc.py
+++ b/aosstower/level_b1/nc.py
@@ -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