diff --git a/aosstower/level_00/parser.py b/aosstower/level_00/parser.py index f49c59bcbcd7bde909bd93709b127fe8a8b7315e..5406b13add464d31876baa5e441ed3af7a5aee3b 100644 --- a/aosstower/level_00/parser.py +++ b/aosstower/level_00/parser.py @@ -141,6 +141,17 @@ class ParserV1V2(object): 'rh_shield_freq', 'rh', 'air_temp_6_3m', 'dewpoint', 'rtd_shield_freq', 'air_temp', 'solar_flux', 'precip', 'accum_precip', 'altimeter'] # , 'altimeter2'] + # These are the new fields in the input files but unused by the rest of + # the tower code. At the risk of breaking other pieces of software, these + # are not included in the above list, but are documented here for future + # reference. + # + # Altimeter2 (slightly different calculation, same units as Altimeter) + # LW_in (W/m^2) + # tempPyrg (Kelvin, temperature of pyrgeometer) + # pyrgTP (W/m^2, raw reading from the pyrgeometer thermopile) + # pyrgTC (W/m^2, temperature correction for the pyrgeometer) + # TC_110 (degC, this is a second air temperature in the new aspirated radiation shield) @staticmethod def maybe_mine(line): @@ -159,9 +170,9 @@ class ParserV1V2(object): def make_frame(self, line): parts = line.split(',') - if len(parts) not in [28, 29, 33]: - raise LineParseError("Expected 28, 29, or 33 parts", line) - version = {28: 1, 29: 2, 33: 3}[len(parts)] + if len(parts) not in [28, 29, 33, 34]: + raise LineParseError("Expected 28, 29, 33, or 34 parts", line) + version = {28: 1, 29: 2, 33: 3, 34: 4}[len(parts)] raw_data = [('version', version)] + list(zip(self.names, parts)) try: raw_data.append(('stamp', self._get_stamp(parts)))