Skip to content
Snippets Groups Projects
Commit 71b74e7a authored by kgao's avatar kgao
Browse files

Fixed qc error

Some variables weren't in frame and qc were marking them as 'good'
Now they are marked as missing as desired
parent b794c931
No related branches found
No related tags found
No related merge requests found
#!/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
......
......@@ -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))
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment