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 #!/usr/bin/env bash
PYENV=~/anaconda3/envs/env 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 $? flock -x -n 200 || exit $?
$PYENV/bin/python $SCRIPT $PYENV/bin/python $SCRIPT
......
...@@ -21,7 +21,7 @@ def writeBack(frame, filename, cur_dt): ...@@ -21,7 +21,7 @@ def writeBack(frame, filename, cur_dt):
inputFiles.append(createFilename(cur_dt - delta(days=1))) inputFiles.append(createFilename(cur_dt - delta(days=1)))
#output filename #output filename
outputFilename = 'aoss_tower.' + startString.split(" ")[0] + '.nc' outputFilename = 'aoss_tower.' + startString.split(" ")[0] + '.day.nc'
#create file #create file
createGiantNetCDF(startObj, endObj, inputFiles, outputFilename, True, None, False) createGiantNetCDF(startObj, endObj, inputFiles, outputFilename, True, None, False)
...@@ -128,4 +128,4 @@ def createYesterdayFile(): ...@@ -128,4 +128,4 @@ def createYesterdayFile():
create_files(dt.today() - delta(days=1), dt.today() - delta(days=1)) create_files(dt.today() - delta(days=1), dt.today() - delta(days=1))
#createYesterdayFile() #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 ...@@ -13,16 +13,17 @@ from datetime import timedelta as delta
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
def filterArray(array, valid_min, valid_max): def filterArray(array, valid_min, valid_max):
qcControl = [] qcControl = []
for value in array: for value in array:
if value == float(-999): if value == float(-99999):
qcControl.append(np.byte(0b1)) qcControl.append(np.byte(0b1))
elif value < valid_min: elif value < valid_min:
qcControl.append(np.byte(0b10)) qcControl.append(np.byte(0b10))
elif value > valid_min: elif value > valid_max:
qcControl.append(np.byte(0b100)) qcControl.append(np.byte(0b100))
else: else:
...@@ -117,7 +118,7 @@ def createVariables(ncFile, firstStamp, chunksizes, zlib): ...@@ -117,7 +118,7 @@ def createVariables(ncFile, firstStamp, chunksizes, zlib):
varTup = parser.database[entry] varTup = parser.database[entry]
variable = ncFile.createVariable(entry, np.float32, 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.standard_name = varTup[1]
variable.description = varTup[3] variable.description = varTup[3]
...@@ -298,6 +299,21 @@ def writeVars(ncFile, frame): ...@@ -298,6 +299,21 @@ def writeVars(ncFile, frame):
valid_max = float(parser.database[varName][6]) valid_max = float(parser.database[varName][6])
fileVar['qc_' + varName][:] = filterArray(dataArray, valid_min, valid_max) 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 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