diff --git a/aosstower/level_b1/nc.py b/aosstower/level_b1/nc.py index 099eea9af804d203fa29aabcd168ddf839d7bfd1..c85f9a76b1a9625a0cafbff07b5f74794da5a51e 100644 --- a/aosstower/level_b1/nc.py +++ b/aosstower/level_b1/nc.py @@ -16,7 +16,7 @@ from aosstower.level_00 import parser from metobscommon.util import calc from metobscommon.util.nc import (make_summary_dict, write_vars, calculate_wind_gust, summary_over_interval, - create_variables) + create_variables, write_qc_for_unwritten) LOG = logging.getLogger(__name__) SOFTWARE_VERSION = '00' @@ -125,7 +125,15 @@ def create_giant_netcdf(input_files, output_fn, zlib, chunk_size, nc_file.createDimension('time', None) nc_file.createDimension('max_len_station_name', 32) create_variables(nc_file, first_stamp, database, chunk_sizes, zlib) - write_vars(nc_file, frame, database, station_info) + written_vars = write_vars(nc_file, frame, database, station_info) + unwritten_vars = set(nc_file.variables.keys()) - set(written_vars) + written_vars.extend(write_qc_for_unwritten(nc_file.variables, + unwritten_vars)) + # remove any of the qc_ variables we just added + unwritten_vars = set(nc_file.variables.keys()) - set(written_vars) + for unwritten in unwritten_vars: + LOG.warning("Variable created but no data written: {}".format(unwritten)) + write_global_attributes(nc_file, [os.path.basename(x) for x in input_files], interval=interval_width,