From 71b74e7a78f3f09853152f1ae7937bbe812d5322 Mon Sep 17 00:00:00 2001 From: kgao <kenny.gao@ssec.wisc.edu> Date: Mon, 15 Aug 2016 22:03:14 +0000 Subject: [PATCH] Fixed qc error Some variables weren't in frame and qc were marking them as 'good' Now they are marked as missing as desired --- aosstower/level_b1/daily/autoRun.bash | 2 +- aosstower/level_b1/daily/bundle.py | 4 ++-- aosstower/level_b1/daily/nc.py | 22 +++++++++++++++++++--- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/aosstower/level_b1/daily/autoRun.bash b/aosstower/level_b1/daily/autoRun.bash index fd01b48..babd211 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 e87bf32..aa73fc4 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 63e6266..99a9065 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 -- GitLab