diff --git a/aosstower/level_b1/daily/nc.py b/aosstower/level_b1/daily/nc.py
index d965cd085a930baf9dc0b567eaff7c190159f68d..ebaa26536595e6b2b600c51fda96456bd1de1144 100644
--- a/aosstower/level_b1/daily/nc.py
+++ b/aosstower/level_b1/daily/nc.py
@@ -9,6 +9,7 @@ import numpy as np
 import platform
 from aosstower import station
 from datetime import timedelta as delta
+import calc
 
 LOG = logging.getLogger(__name__)
 
@@ -111,6 +112,9 @@ def createVariables(ncFile, firstStamp, chunksizes, zlib):
         if key == 'base_time':
             variable.string = bts
 
+        if 'time' in key:
+            variable.calendar = 'gregorian' 
+
     for entry in parser.database:
         if(entry == 'stamp'):
             continue
@@ -196,11 +200,30 @@ def getRolling(series, minutes):
     
     return returnSeries
 
+def getNewWindDirection(wind_dir, wind_speed, stamps):
+    newWindDir = {}
+
+    for stamp in stamps:
+        before = stamp - delta(minutes=1)
+
+        if before not in wind_speed.index:
+            newWindDir[stamp] = None
+
+        else:
+            speed = wind_speed[before: stamp].tolist()
+            dire = wind_dir[before: stamp].tolist()
+
+            wind_dire = calc.mean_wind_vector(speed, dire)[0]
+            
+            newWindDir[stamp] = wind_dire
+    
+    return pd.Series(newWindDir)
+
 def minuteAverages(frame):
     frame['minute'] = [(ts + delta(minutes=1)).replace(second=0) for ts in frame.index]
     newFrame = frame.groupby('minute').mean()
     newFrame.index.names = ['']
-    
+
     columns = list(newFrame.columns.values)
     if 'wind_speed' in columns:
         del newFrame['wind_speed']
@@ -223,14 +246,20 @@ def minuteAverages(frame):
 
         newFrame['gust'] = gust
     
-    if 'wind_direction' in columns:
-        del newFrame['wind_direction']
+    if 'wind_dir' in columns:
+        del newFrame['wind_dir']
+
+        dupFrame = frame.set_index('minute')
+
+        stamps = newFrame.index
 
-        windDirSeries = frame['wind_direction']
+        windDirSeries = dupFrame['wind_dir']
 
-        windDirSeries = getRolling(windDirSeries, list(newFrame.index))
+        windSeries = dupFrame['wind_speed']
 
-        newFrame['wind_direction'] = windDirSeries
+        windDirSeries = getNewWindDirection(windDirSeries, windSeries, stamps)
+
+        newFrame['wind_dir'] = windDirSeries
 
     del frame['minute']
 
@@ -348,15 +377,15 @@ def createGiantNetCDF(start, end, inputFiles, outputName, zlib, chunkSize):
 
     frame = getData(inputFiles)
 
-    frame = minuteAverages(frame)
-    
     if(frame.empty):
         return False
-    
+
     else:
+
+        frame = minuteAverages(frame)
+    
         if(start and end):
             frame = frame[start.strftime('%Y-%m-%d %H:%M:%S'): end.strftime('%Y-%m-%d %H:%M:%S')]
-            print(frame)
 
         if(default):
             chunksizes = [len(list(frame.index))]