diff --git a/aosstower/level_b1/nc.py b/aosstower/level_b1/nc.py index 645feff5abf11fa6fe37a4b4cb529f057a8014a2..894ee37652bb882dd89b4601e9dcc579f3f8c58d 100644 --- a/aosstower/level_b1/nc.py +++ b/aosstower/level_b1/nc.py @@ -117,6 +117,22 @@ def createVariables(ncFile, firstStamp, chunksizes, zlib): return ncFile +def minuteAverages(frame): + frame['minute'] = [ts.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'] + + if 'wind_direction' in columns: + del newFrame['wind_direction'] + + del frame['minute'] + + return newFrame.fillna(-99999) + def getData(inputFiles): dictData = {} @@ -132,7 +148,7 @@ def getData(inputFiles): dictData[stamp] = frame - return pd.DataFrame(dictData).transpose() + return pd.DataFrame(dictData).transpose().replace(-99999, np.nan) def writeVars(ncFile, frame): stamps = list(frame.index) @@ -208,6 +224,10 @@ def createGiantNetCDF(start, end, inputFiles, outputName, zlib, chunkSize): frame = getData(inputFiles) + newFrame = minuteAverages(frame) + + print(newFrame) + if(frame.empty): return False