diff --git a/aosstower/level_b1/daily/autoRun.bash b/aosstower/level_b1/daily/autoRun.bash index fd01b48a8a126d31f7f7b6801f6a200737c763cc..babd211539bb21f282220faf68d56f384fa01cdc 100755 --- a/aosstower/level_b1/daily/autoRun.bash +++ b/aosstower/level_b1/daily/autoRun.bash @@ -1,6 +1,6 @@ #!/usr/bin/env bash PYENV=~/anaconda3/envs/env -SCRIPT=/home/kgao/Code/curr_projects/ncGenerate/AossTower/aosstower/level_b1/autoRun.py +SCRIPT=/home/kgao/Code/curr_projects/ncGenerate/AossTower/aosstower/level_b1/daily/autoRun.py ( flock -x -n 200 || exit $? $PYENV/bin/python $SCRIPT diff --git a/aosstower/level_b1/daily/bundle.py b/aosstower/level_b1/daily/bundle.py index e87bf323022631a3ced01ce6ff9a0396f322599b..aa73fc410ec7adb9ed3e71eebe91fa628e757980 100644 --- a/aosstower/level_b1/daily/bundle.py +++ b/aosstower/level_b1/daily/bundle.py @@ -21,7 +21,7 @@ def writeBack(frame, filename, cur_dt): inputFiles.append(createFilename(cur_dt - delta(days=1))) #output filename - outputFilename = 'aoss_tower.' + startString.split(" ")[0] + '.nc' + outputFilename = 'aoss_tower.' + startString.split(" ")[0] + '.day.nc' #create file createGiantNetCDF(startObj, endObj, inputFiles, outputFilename, True, None, False) @@ -128,4 +128,4 @@ def createYesterdayFile(): create_files(dt.today() - delta(days=1), dt.today() - delta(days=1)) #createYesterdayFile() -#create_files(dt(2003,5,28), dt.today() - delta(days=1)) +create_files(dt(2003,5,28), dt.today() - delta(days=1)) diff --git a/aosstower/level_b1/daily/nc.py b/aosstower/level_b1/daily/nc.py index 63e626692ef50e21d6a3f8cccf9bae24a1e338e6..99a90654afc8f9c1095130305430f9d269d09929 100644 --- a/aosstower/level_b1/daily/nc.py +++ b/aosstower/level_b1/daily/nc.py @@ -13,16 +13,17 @@ from datetime import timedelta as delta LOG = logging.getLogger(__name__) def filterArray(array, valid_min, valid_max): + qcControl = [] for value in array: - if value == float(-999): + if value == float(-99999): qcControl.append(np.byte(0b1)) elif value < valid_min: qcControl.append(np.byte(0b10)) - elif value > valid_min: + elif value > valid_max: qcControl.append(np.byte(0b100)) else: @@ -117,7 +118,7 @@ def createVariables(ncFile, firstStamp, chunksizes, zlib): varTup = parser.database[entry] variable = ncFile.createVariable(entry, np.float32, - dimensions=('time'), fill_value=float(-999), zlib=zlib, chunksizes=chunksizes) + dimensions=('time'), fill_value=float(-99999), zlib=zlib, chunksizes=chunksizes) variable.standard_name = varTup[1] variable.description = varTup[3] @@ -298,6 +299,21 @@ def writeVars(ncFile, frame): valid_max = float(parser.database[varName][6]) fileVar['qc_' + varName][:] = filterArray(dataArray, valid_min, valid_max) + + coordinates = ['lon', 'lat', 'alt', 'base_time', 'time_offset', 'station_name', 'time'] + + for varName in fileVar: + if varName.startswith('qc_'): + continue + + elif varName in frame: + continue + + elif varName in coordinates: + continue + + else: + fileVar['qc_' + varName][:] = np.full(len(list(frame.index)), np.byte(0b1), dtype='b') return ncFile