{
  "stid": "WBB",
  "station_name": "U of U William Browning Building",
  "toa5_status": "partial_toa5",
  "generated": "2026-03-23T14:52:50.367125+00:00",
  "synoptic_sensor_count": 26,
  "loggernet_stream_count": 5,
  "unmapped_count": 0,
  "synoptic_sensors": [
    {
      "synoptic_column": "PM_25_concentration_set_1",
      "variable": "PM_25_concentration",
      "sensor_key": "PM_25_concentration_1",
      "cf_name": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
      "display_name": "PM2.5 Concentration",
      "cf_units": "ug m-3",
      "is_cf": true,
      "height_m": "37.0",
      "period_start": "2016-12-30",
      "period_end": "2026-03-14",
      "summary": "PM_25_concentration_37_meter",
      "years_with_data": [
        2016,
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.0,
      "max_value": 763587.3,
      "n_non_null": 754871,
      "synoptic_units": "ug m-3"
    },
    {
      "synoptic_column": "PM_25_concentration_set_2",
      "variable": "PM_25_concentration",
      "sensor_key": "PM_25_concentration_2",
      "cf_name": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
      "display_name": "PM2.5 Concentration",
      "cf_units": "ug m-3",
      "is_cf": true,
      "height_m": "34.0",
      "period_start": "2025-05-06",
      "period_end": "2026-03-14",
      "summary": "PM_25_concentration_34_meter",
      "years_with_data": [
        2025
      ],
      "min_value": 0.0,
      "max_value": 188.4,
      "n_non_null": 89863,
      "synoptic_units": "ug m-3"
    },
    {
      "synoptic_column": "air_flow_temperature_set_1",
      "variable": "air_flow_temperature",
      "sensor_key": "air_flow_temperature_1",
      "cf_name": "air_flow_temperature",
      "display_name": "Air Flow Temperature",
      "cf_units": "\u00b0C",
      "is_cf": false,
      "height_m": "37.0",
      "period_start": "2017-11-30",
      "period_end": "2026-03-14",
      "summary": "air_flow_temperature_37_meter",
      "years_with_data": [
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": -19.46,
      "max_value": 49.0,
      "n_non_null": 668258,
      "synoptic_units": "\u00b0C"
    },
    {
      "synoptic_column": "air_flow_temperature_set_2",
      "variable": "air_flow_temperature",
      "sensor_key": "air_flow_temperature_2",
      "cf_name": "air_flow_temperature",
      "display_name": "Air Flow Temperature",
      "cf_units": "\u00b0C",
      "is_cf": false,
      "height_m": "34.0",
      "period_start": "2025-05-06",
      "period_end": "2026-03-14",
      "summary": "air_flow_temperature_34_meter",
      "years_with_data": [
        2025
      ],
      "min_value": -6.6,
      "max_value": 47.0,
      "n_non_null": 89863,
      "synoptic_units": "\u00b0C"
    },
    {
      "synoptic_column": "air_temp_set_1",
      "variable": "air_temp",
      "sensor_key": "air_temp_1",
      "cf_name": "air_temperature",
      "display_name": "Air Temperature",
      "cf_units": "\u00b0C",
      "is_cf": true,
      "height_m": "34.0",
      "period_start": "1997-01-01",
      "period_end": "2026-03-14",
      "summary": "air_temp_34_meter",
      "years_with_data": [
        1997,
        1998,
        1999,
        2000,
        2001,
        2002,
        2003,
        2004,
        2005,
        2006,
        2007,
        2008,
        2009,
        2010,
        2011,
        2012,
        2013,
        2014,
        2015,
        2016,
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": -40.0,
      "max_value": 49.67,
      "n_non_null": 6598087,
      "synoptic_units": "\u00b0C"
    },
    {
      "synoptic_column": "flow_rate_set_1",
      "variable": "flow_rate",
      "sensor_key": "flow_rate_1",
      "cf_name": "flow_rate",
      "display_name": "Flow Rate",
      "cf_units": "m3 s-1",
      "is_cf": false,
      "height_m": "37.0",
      "period_start": "2017-11-30",
      "period_end": "2026-03-14",
      "summary": "flow_rate_37_meter",
      "years_with_data": [
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.1,
      "max_value": 2.45,
      "n_non_null": 667601,
      "synoptic_units": "m3 s-1"
    },
    {
      "synoptic_column": "flow_rate_set_2",
      "variable": "flow_rate",
      "sensor_key": "flow_rate_2",
      "cf_name": "flow_rate",
      "display_name": "Flow Rate",
      "cf_units": "m3 s-1",
      "is_cf": false,
      "height_m": "34.0",
      "period_start": "2025-05-06",
      "period_end": "2026-03-14",
      "summary": "flow_rate_34_meter",
      "years_with_data": [
        2025
      ],
      "min_value": 1.0,
      "max_value": 1.0,
      "n_non_null": 89863,
      "synoptic_units": "m3 s-1"
    },
    {
      "synoptic_column": "internal_relative_humidity_set_1",
      "variable": "internal_relative_humidity",
      "sensor_key": "internal_relative_humidity_1",
      "cf_name": "internal_relative_humidity",
      "display_name": "Internal Relative Humidity",
      "cf_units": "%",
      "is_cf": false,
      "height_m": "37.0",
      "period_start": "2017-11-30",
      "period_end": "2026-03-14",
      "summary": "internal_relative_humidity_37_meter",
      "years_with_data": [
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 3.0,
      "max_value": 78.0,
      "n_non_null": 668246,
      "synoptic_units": "%"
    },
    {
      "synoptic_column": "internal_relative_humidity_set_2",
      "variable": "internal_relative_humidity",
      "sensor_key": "internal_relative_humidity_2",
      "cf_name": "internal_relative_humidity",
      "display_name": "Internal Relative Humidity",
      "cf_units": "%",
      "is_cf": false,
      "height_m": "34.0",
      "period_start": "2025-05-06",
      "period_end": "2026-03-14",
      "summary": "internal_relative_humidity_34_meter",
      "years_with_data": [
        2025
      ],
      "min_value": 3.4,
      "max_value": 35.7,
      "n_non_null": 89863,
      "synoptic_units": "%"
    },
    {
      "synoptic_column": "ozone_concentration_set_1",
      "variable": "ozone_concentration",
      "sensor_key": "ozone_concentration_1",
      "cf_name": "mole_fraction_of_ozone_in_air",
      "display_name": "Ozone Concentration",
      "cf_units": "mol mol-1",
      "is_cf": true,
      "height_m": "",
      "period_start": "2016-12-30",
      "period_end": "2025-08-27",
      "summary": "ozone_concentration",
      "years_with_data": [
        2016,
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.0,
      "max_value": 475.15,
      "n_non_null": 725468,
      "confirmed_canonical": "mole_fraction_of_ozone_in_air",
      "merge_output_name": "Ozone Concentration",
      "alias_synoptic_column": "",
      "alias_raw_name": "",
      "syn_transform_expr": "",
      "ln_transform_expr": "",
      "transform_expr": "",
      "synoptic_units": "mol mol-1",
      "new_units": "mol mol-1",
      "mapping_status": "synoptic_only",
      "verification_basis": "",
      "notes": ""
    },
    {
      "synoptic_column": "particulate_concentration_set_1",
      "variable": "particulate_concentration",
      "sensor_key": "particulate_concentration_1",
      "cf_name": "particulate_concentration",
      "display_name": "Particulate Concentration",
      "cf_units": "ug m-3",
      "is_cf": false,
      "height_m": "34.0",
      "period_start": "2025-05-06",
      "period_end": "2026-03-14",
      "summary": "particulate_concentration_34_meter",
      "years_with_data": [
        2025
      ],
      "min_value": 0.0,
      "max_value": 42.9,
      "n_non_null": 89863,
      "synoptic_units": "ug m-3"
    },
    {
      "synoptic_column": "particulate_concentration_set_2",
      "variable": "particulate_concentration",
      "sensor_key": "particulate_concentration_2",
      "cf_name": "particulate_concentration",
      "display_name": "Particulate Concentration",
      "cf_units": "ug m-3",
      "is_cf": false,
      "height_m": "34.0",
      "period_start": "2025-05-06",
      "period_end": "2026-03-14",
      "summary": "particulate_concentration_34_meter",
      "years_with_data": [
        2025
      ],
      "min_value": 0.0,
      "max_value": 498.6,
      "n_non_null": 89863,
      "synoptic_units": "ug m-3"
    },
    {
      "synoptic_column": "particulate_concentration_set_3",
      "variable": "particulate_concentration",
      "sensor_key": "particulate_concentration_3",
      "cf_name": "particulate_concentration",
      "display_name": "Particulate Concentration",
      "cf_units": "ug m-3",
      "is_cf": false,
      "height_m": "34.0",
      "period_start": "2025-05-06",
      "period_end": "2026-03-14",
      "summary": "particulate_concentration_34_meter",
      "years_with_data": [
        2025
      ],
      "min_value": 0.1,
      "max_value": 2454.7,
      "n_non_null": 89863,
      "synoptic_units": "ug m-3"
    },
    {
      "synoptic_column": "precip_accum_five_minute_set_1",
      "variable": "precip_accum_five_minute",
      "sensor_key": "precip_accum_five_minute_1",
      "cf_name": "precipitation_amount_5min",
      "display_name": "Precip Accumulation (5 min)",
      "cf_units": "kg m-2",
      "is_cf": false,
      "height_m": "0.2",
      "period_start": "1997-01-01",
      "period_end": "2017-08-20",
      "summary": "precip_accum_five_minute_0.2_meter",
      "years_with_data": [
        1997,
        1998,
        1999,
        2000,
        2001,
        2002,
        2003,
        2004,
        2005,
        2006,
        2007,
        2008,
        2009,
        2010,
        2011,
        2012,
        2013,
        2016,
        2017
      ],
      "min_value": 0.0,
      "max_value": 24.638,
      "n_non_null": 1782453,
      "confirmed_canonical": "precipitation_amount_5min",
      "merge_output_name": "Precip Accumulation (5 min)",
      "alias_synoptic_column": "",
      "alias_raw_name": "",
      "syn_transform_expr": "",
      "ln_transform_expr": "",
      "transform_expr": "",
      "synoptic_units": "kg m-2",
      "new_units": "kg m-2",
      "mapping_status": "synoptic_only",
      "verification_basis": "",
      "notes": ""
    },
    {
      "synoptic_column": "precip_accum_one_minute_set_1",
      "variable": "precip_accum_one_minute",
      "sensor_key": "precip_accum_one_minute_1",
      "cf_name": "precipitation_amount_1min",
      "display_name": "Precip Accumulation (1 min)",
      "cf_units": "mm",
      "is_cf": false,
      "height_m": "",
      "period_start": "2017-08-22",
      "period_end": "2026-03-14",
      "summary": "precip_accum_one_minute",
      "years_with_data": [
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.0,
      "max_value": 2.032,
      "n_non_null": 4499981,
      "synoptic_units": "mm"
    },
    {
      "synoptic_column": "precip_accum_set_1",
      "variable": "precip_accum",
      "sensor_key": "precip_accum_1",
      "cf_name": "precipitation_amount",
      "display_name": "Precipitation Accumulation",
      "cf_units": "kg m-2",
      "is_cf": true,
      "height_m": "32.0",
      "period_start": "1997-01-01",
      "period_end": "2010-11-21",
      "summary": "precip_accum_32_meter",
      "years_with_data": [
        2010
      ],
      "min_value": -25374.6,
      "max_value": 284782260.0,
      "n_non_null": 273,
      "confirmed_canonical": "precipitation_amount",
      "merge_output_name": "Precipitation Accumulation",
      "alias_synoptic_column": "",
      "alias_raw_name": "",
      "syn_transform_expr": "",
      "ln_transform_expr": "",
      "transform_expr": "",
      "synoptic_units": "kg m-2",
      "new_units": "kg m-2",
      "mapping_status": "synoptic_only",
      "verification_basis": "",
      "notes": ""
    },
    {
      "synoptic_column": "pressure_set_1",
      "variable": "pressure",
      "sensor_key": "pressure_1",
      "cf_name": "air_pressure",
      "display_name": "Station Pressure",
      "cf_units": "Pa",
      "is_cf": true,
      "height_m": "31.5",
      "period_start": "1997-01-01",
      "period_end": "2026-03-14",
      "summary": "pressure_31.5_meter",
      "years_with_data": [
        1997,
        1998,
        1999,
        2000,
        2001,
        2002,
        2003,
        2004,
        2005,
        2006,
        2007,
        2008,
        2009,
        2010,
        2011,
        2012,
        2013,
        2014,
        2015,
        2016,
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 60003.0,
      "max_value": 96959.0,
      "n_non_null": 6598129,
      "synoptic_units": "Pa"
    },
    {
      "synoptic_column": "relative_humidity_set_1",
      "variable": "relative_humidity",
      "sensor_key": "relative_humidity_1",
      "cf_name": "relative_humidity",
      "display_name": "Relative Humidity",
      "cf_units": "%",
      "is_cf": true,
      "height_m": "34.0",
      "period_start": "1997-01-01",
      "period_end": "2026-03-14",
      "summary": "relative_humidity_34_meter",
      "years_with_data": [
        1997,
        1998,
        1999,
        2000,
        2001,
        2002,
        2003,
        2004,
        2005,
        2006,
        2007,
        2008,
        2009,
        2010,
        2011,
        2012,
        2013,
        2014,
        2015,
        2016,
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.01,
      "max_value": 100.0,
      "n_non_null": 6593976,
      "synoptic_units": "%"
    },
    {
      "synoptic_column": "sensor_error_code_set_1",
      "variable": "sensor_error_code",
      "sensor_key": "sensor_error_code_1",
      "cf_name": "sensor_error_code",
      "display_name": "Sensor Error Code",
      "cf_units": "",
      "is_cf": false,
      "height_m": "37.0",
      "period_start": "2017-11-30",
      "period_end": "2026-03-14",
      "summary": "sensor_error_code_37_meter",
      "years_with_data": [
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.0,
      "max_value": 40.0,
      "n_non_null": 668377,
      "synoptic_units": ""
    },
    {
      "synoptic_column": "sensor_error_code_set_2",
      "variable": "sensor_error_code",
      "sensor_key": "sensor_error_code_2",
      "cf_name": "sensor_error_code",
      "display_name": "Sensor Error Code",
      "cf_units": "",
      "is_cf": false,
      "height_m": "34.0",
      "period_start": "2025-05-06",
      "period_end": "2026-03-14",
      "summary": "sensor_error_code_34_meter",
      "years_with_data": [
        2025
      ],
      "min_value": 0.0,
      "max_value": 0.0,
      "n_non_null": 89863,
      "synoptic_units": ""
    },
    {
      "synoptic_column": "solar_radiation_set_1",
      "variable": "solar_radiation",
      "sensor_key": "solar_radiation_1",
      "cf_name": "surface_downwelling_shortwave_flux_in_air",
      "display_name": "Solar Radiation",
      "cf_units": "W m-2",
      "is_cf": true,
      "height_m": "41.0",
      "period_start": "1997-01-01",
      "period_end": "2026-03-14",
      "summary": "solar_radiation_41_meter",
      "years_with_data": [
        1997,
        1998,
        1999,
        2000,
        2001,
        2002,
        2003,
        2010,
        2011,
        2012,
        2013,
        2014,
        2015,
        2016,
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.0,
      "max_value": 1500.0,
      "n_non_null": 5796129,
      "synoptic_units": "W m-2"
    },
    {
      "synoptic_column": "volt_set_1",
      "variable": "volt",
      "sensor_key": "volt_1",
      "cf_name": "battery_voltage",
      "display_name": "Battery / Supply Voltage",
      "cf_units": "V",
      "is_cf": false,
      "height_m": "32.0",
      "period_start": "1997-01-01",
      "period_end": "2026-03-14",
      "summary": "volt_32_meter",
      "years_with_data": [
        2001,
        2002,
        2003,
        2004,
        2005,
        2006,
        2007,
        2008,
        2009,
        2010,
        2011,
        2012,
        2013,
        2014,
        2015,
        2016,
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.0,
      "max_value": 49.72,
      "n_non_null": 6161661,
      "synoptic_units": "V"
    },
    {
      "synoptic_column": "volt_set_2",
      "variable": "volt",
      "sensor_key": "volt_2",
      "cf_name": "battery_voltage",
      "display_name": "Battery / Supply Voltage",
      "cf_units": "",
      "is_cf": false,
      "height_m": "32.0",
      "period_start": "2023-06-09",
      "period_end": "2026-03-14",
      "summary": "volt_32_meter",
      "years_with_data": [
        2023,
        2024,
        2025
      ],
      "min_value": 12.73,
      "max_value": 14.08,
      "n_non_null": 290583,
      "synoptic_units": ""
    },
    {
      "synoptic_column": "wind_direction_set_1",
      "variable": "wind_direction",
      "sensor_key": "wind_direction_1",
      "cf_name": "wind_from_direction",
      "display_name": "Wind Direction",
      "cf_units": "\u00b0",
      "is_cf": true,
      "height_m": "42.0",
      "period_start": "1997-01-01",
      "period_end": "2026-03-14",
      "summary": "wind_direction_42_meter",
      "years_with_data": [
        1997,
        1998,
        1999,
        2000,
        2001,
        2002,
        2003,
        2004,
        2005,
        2006,
        2007,
        2008,
        2009,
        2010,
        2011,
        2012,
        2013,
        2014,
        2015,
        2016,
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.0,
      "max_value": 360.0,
      "n_non_null": 6357855,
      "synoptic_units": "\u00b0"
    },
    {
      "synoptic_column": "wind_gust_set_1",
      "variable": "wind_gust",
      "sensor_key": "wind_gust_1",
      "cf_name": "wind_speed_of_gust",
      "display_name": "Wind Gust",
      "cf_units": "m s-1",
      "is_cf": true,
      "height_m": "42.0",
      "period_start": "1997-01-01",
      "period_end": "2026-03-14",
      "summary": "wind_gust_42_meter",
      "years_with_data": [
        1997,
        1998,
        1999,
        2000,
        2001,
        2002,
        2003,
        2004,
        2005,
        2006,
        2007,
        2008,
        2009,
        2010,
        2011,
        2012,
        2013,
        2014,
        2015,
        2016,
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.0,
      "max_value": 50.55,
      "n_non_null": 6593918,
      "synoptic_units": "m s-1"
    },
    {
      "synoptic_column": "wind_speed_set_1",
      "variable": "wind_speed",
      "sensor_key": "wind_speed_1",
      "cf_name": "wind_speed",
      "display_name": "Wind Speed",
      "cf_units": "m s-1",
      "is_cf": true,
      "height_m": "42.0",
      "period_start": "1997-01-01",
      "period_end": "2026-03-14",
      "summary": "wind_speed_42_meter",
      "years_with_data": [
        1997,
        1998,
        1999,
        2000,
        2001,
        2002,
        2003,
        2004,
        2005,
        2006,
        2007,
        2008,
        2009,
        2010,
        2011,
        2012,
        2013,
        2014,
        2015,
        2016,
        2017,
        2018,
        2019,
        2020,
        2021,
        2022,
        2023,
        2024,
        2025
      ],
      "min_value": 0.0,
      "max_value": 98.41,
      "n_non_null": 6593907,
      "synoptic_units": "m s-1"
    }
  ],
  "loggernet_streams": {
    "es405_pm": {
      "filename_pattern": "wbb_es405_pm_YYYY.dat",
      "format": "toa5",
      "year_start": "2025",
      "year_end": "2026",
      "columns": [
        {
          "raw_name": "Err_ES642",
          "raw_units": "",
          "confirmed_canonical": "sensor_error_code",
          "suggested_canonical": "sensor_error_code_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "sensor_error_code",
          "display_name": "Sensor Error Code",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "set 1 is at the same height as the ES642. Set 2 is at the same height as the ES405.",
          "alias_raw_name": "Err_ES642",
          "merge_output_name": "ES642 Error Code",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "",
          "alias_synoptic_column": "sensor_error_code_set_1"
        },
        {
          "raw_name": "Flow_ES405",
          "raw_units": "m3 s-1",
          "confirmed_canonical": "flow_rate",
          "suggested_canonical": "flow_rate_set_2",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "flow_rate",
          "display_name": "Flow Rate",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "ES405 and set 2 are at same height.",
          "alias_raw_name": "",
          "merge_output_name": "ES405 Flow Rate",
          "synoptic_units": "m3 s-1",
          "cf_units": "m3 s-1",
          "loggernet_units": "m3 s-1",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "m3 s-1",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "Flow_ES642",
          "raw_units": "m3 s-1",
          "confirmed_canonical": "flow_rate",
          "suggested_canonical": "flow_rate_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "flow_rate",
          "display_name": "Flow Rate",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "If flow_es405 is set 2, then flow_es642 must be set 1.",
          "alias_raw_name": "Flow_ES642",
          "merge_output_name": "ES642 Flow Rate",
          "synoptic_units": "m3 s-1",
          "cf_units": "m3 s-1",
          "loggernet_units": "m3 s-1",
          "alias_synoptic_column": "flow_rate_set_1",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "m3 s-1"
        },
        {
          "raw_name": "IntRH_ES405",
          "raw_units": "%",
          "confirmed_canonical": "internal_relative_humidity",
          "suggested_canonical": "internal_relative_humidity_set_2",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "internal_relative_humidity",
          "display_name": "Internal Relative Humidity",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "ES405 Internal RH",
          "synoptic_units": "%",
          "cf_units": "%",
          "loggernet_units": "%"
        },
        {
          "raw_name": "IntRH_ES642",
          "raw_units": "%",
          "confirmed_canonical": "internal_relative_humidity",
          "suggested_canonical": "internal_relative_humidity_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "internal_relative_humidity",
          "display_name": "Internal Relative Humidity",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "IntRH_ES642",
          "merge_output_name": "ES642 Internal RH",
          "synoptic_units": "%",
          "cf_units": "%",
          "loggernet_units": "%",
          "alias_synoptic_column": "internal_relative_humidity_set_1"
        },
        {
          "raw_name": "Mystery_ES405",
          "raw_units": "",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "",
          "mapping_status": "drop",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "no matching synoptic value.",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "",
          "alias_raw_name": "",
          "merge_output_name": "",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "PM10_ES405",
          "raw_units": "ug/m3",
          "confirmed_canonical": "particulate_concentration",
          "suggested_canonical": "particulate_concentration_set_3",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "particulate_concentration",
          "display_name": "Particulate Concentration",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "PM10 Concentration",
          "synoptic_units": "ug m-3",
          "cf_units": "ug m-3",
          "loggernet_units": "ug/m3"
        },
        {
          "raw_name": "PM1_ES405",
          "raw_units": "ug/m3",
          "confirmed_canonical": "particulate_concentration",
          "suggested_canonical": "particulate_concentration_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "particulate_concentration",
          "display_name": "Particulate Concentration",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "PM1 Concentration",
          "synoptic_units": "ug m-3",
          "cf_units": "ug m-3",
          "loggernet_units": "ug/m3"
        },
        {
          "raw_name": "PM25_ES405",
          "raw_units": "ug/m3",
          "confirmed_canonical": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
          "suggested_canonical": "PM_25_concentration_set_2",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
          "display_name": "PM2.5 Concentration",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "ES405 PM2.5 Concentration",
          "synoptic_units": "ug m-3",
          "cf_units": "ug m-3",
          "loggernet_units": "ug/m3",
          "alias_synoptic_column": "",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "ug/m3"
        },
        {
          "raw_name": "PM25_ES642",
          "raw_units": "mg/m3",
          "confirmed_canonical": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
          "suggested_canonical": "PM_25_concentration_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "drop",
          "transform_expr": "",
          "cf_name": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
          "display_name": "PM2.5 Concentration",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "a lot of differences.",
          "alias_raw_name": "",
          "merge_output_name": "PM2.5 Concentration",
          "synoptic_units": "ug m-3",
          "cf_units": "ug m-3",
          "loggernet_units": "mg/m3",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "PM4_ES405",
          "raw_units": "ug/m3",
          "confirmed_canonical": "particulate_concentration",
          "suggested_canonical": "particulate_concentration_set_2",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "particulate_concentration",
          "display_name": "Particulate Concentration",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "PM4 Concentration",
          "synoptic_units": "ug m-3",
          "cf_units": "ug m-3",
          "loggernet_units": "ug/m3",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "ug/m3",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "Pres_ES405",
          "raw_units": "hPa",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "medium",
          "mapping_status": "drop",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "It seems to be an internal pressure, there's a constant difference compared to station pressure.",
          "alias_raw_name": "",
          "merge_output_name": "",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "hPa",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "Pres_ES642",
          "raw_units": "hPa",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "medium",
          "mapping_status": "drop",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "Same as Pres_ES405, although this is closer to station pressure. The height difference between the ES405 and ES642 shouldn't cause a 200 mb drop.",
          "alias_raw_name": "",
          "merge_output_name": "",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "hPa",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "Status_ES405",
          "raw_units": "",
          "confirmed_canonical": "sensor_error_code",
          "suggested_canonical": "sensor_error_code_set_2",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "sensor_error_code",
          "display_name": "Sensor Error Code",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "ES405 Error Code",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": ""
        },
        {
          "raw_name": "TSP_ES405",
          "raw_units": "ug/m3",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "",
          "mapping_status": "loggernet_only",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "no TSP value in Synoptic.",
          "alias_raw_name": "",
          "merge_output_name": "ES405 Total Suspended Particles",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "ug/m3",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "ug/m3",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "TempC_ES405",
          "raw_units": "\u00b0C",
          "confirmed_canonical": "air_flow_temperature",
          "suggested_canonical": "air_flow_temperature_set_2",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "air_flow_temperature",
          "display_name": "Air Flow Temperature",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "ES405 Air Flow Temperature",
          "synoptic_units": "\u00b0C",
          "cf_units": "\u00b0C",
          "loggernet_units": "\u00b0C",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "\u00b0C",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "TempC_ES642",
          "raw_units": "\u00b0C",
          "confirmed_canonical": "air_flow_temperature",
          "suggested_canonical": "air_flow_temperature_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "air_flow_temperature",
          "display_name": "Air Flow Temperature",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "TempC_ES642",
          "merge_output_name": "ES642 Air Flow Temperature",
          "synoptic_units": "\u00b0C",
          "cf_units": "\u00b0C",
          "loggernet_units": "\u00b0C",
          "alias_synoptic_column": "air_flow_temperature_set_1",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "\u00b0C"
        }
      ]
    },
    "main": {
      "filename_pattern": "wbb_YYYY.dat",
      "format": "toa5",
      "year_start": "2022",
      "year_end": "2026",
      "columns": [
        {
          "raw_name": "AirTC_Avg",
          "raw_units": "\u00b0C",
          "confirmed_canonical": "air_temperature",
          "suggested_canonical": "air_temp_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "air_temperature",
          "display_name": "Air Temperature",
          "processing_type": "Avg",
          "raw_units_verified": "confirmed units",
          "verification_basis": "verified against overlap",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "Air Temperature",
          "synoptic_units": "\u00b0C",
          "cf_units": "\u00b0C",
          "loggernet_units": "\u00b0C",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "\u00b0C",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "BP_mbar_Avg",
          "raw_units": "hPa",
          "confirmed_canonical": "air_pressure",
          "suggested_canonical": "pressure_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "x / 100",
          "cf_name": "air_pressure",
          "display_name": "Station Pressure",
          "processing_type": "Avg",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "synoptic_units": "Pa",
          "cf_units": "Pa",
          "loggernet_units": "hPa",
          "alias_raw_name": "",
          "merge_output_name": "Station Pressure",
          "syn_transform_expr": "x / 100",
          "ln_transform_expr": "",
          "new_units": "hPa",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "BattV_Min",
          "raw_units": "Volts",
          "confirmed_canonical": "battery_voltage",
          "suggested_canonical": "volt_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "battery_voltage",
          "display_name": "Battery / Supply Voltage",
          "processing_type": "Min",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "correlates better with set 1 than 2",
          "alias_raw_name": "",
          "merge_output_name": "Battery Voltage",
          "synoptic_units": "V",
          "cf_units": "V",
          "loggernet_units": "Volts",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "Volts",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "RH_Avg",
          "raw_units": "%",
          "confirmed_canonical": "relative_humidity",
          "suggested_canonical": "relative_humidity_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "relative_humidity",
          "display_name": "Relative Humidity",
          "processing_type": "Avg",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "synoptic_units": "%",
          "cf_units": "%",
          "loggernet_units": "%",
          "alias_raw_name": "",
          "merge_output_name": "Relative Humidity",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "%",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "Rain_in_Tot",
          "raw_units": "inch",
          "confirmed_canonical": "precipitation_amount_1min",
          "suggested_canonical": "precip_accum_one_minute_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "y * 25.4",
          "cf_name": "precipitation_amount_1min",
          "display_name": "Precip Accumulation (1 min)",
          "processing_type": "Tot",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "synoptic_units": "mm",
          "cf_units": "mm",
          "loggernet_units": "inch",
          "alias_raw_name": "",
          "merge_output_name": "Precip Accumulation (1 min)",
          "syn_transform_expr": "",
          "ln_transform_expr": "y * 25.4",
          "new_units": "mm",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "SlrW_Avg",
          "raw_units": "W/m^2",
          "confirmed_canonical": "surface_downwelling_shortwave_flux_in_air",
          "suggested_canonical": "solar_radiation_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "surface_downwelling_shortwave_flux_in_air",
          "display_name": "Solar Radiation",
          "processing_type": "Avg",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "synoptic_units": "W m-2",
          "cf_units": "W m-2",
          "loggernet_units": "W/m^2",
          "alias_raw_name": "",
          "merge_output_name": "Solar Radiation",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "W/m^2",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "WS_ms_Max",
          "raw_units": "meters/second",
          "confirmed_canonical": "wind_speed_of_gust",
          "suggested_canonical": "wind_gust_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "wind_speed_of_gust",
          "display_name": "Wind Gust",
          "processing_type": "Max",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "synoptic_units": "m s-1",
          "cf_units": "m s-1",
          "loggernet_units": "meters/second",
          "alias_raw_name": "",
          "merge_output_name": "Wind Gust",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "m/s",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "WS_ms_WVc(1)",
          "raw_units": "meters/second",
          "confirmed_canonical": "wind_speed",
          "suggested_canonical": "wind_speed_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "wind_speed",
          "display_name": "Wind Speed",
          "processing_type": "WVc",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "synoptic_units": "m s-1",
          "cf_units": "m s-1",
          "loggernet_units": "meters/second",
          "alias_raw_name": "",
          "merge_output_name": "Wind Speed",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "m/s",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "WS_ms_WVc(2)",
          "raw_units": "\u00b0",
          "confirmed_canonical": "wind_from_direction",
          "suggested_canonical": "wind_direction_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "wind_from_direction",
          "display_name": "Wind Direction",
          "processing_type": "WVc",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "Wind Direction",
          "synoptic_units": "\u00b0",
          "cf_units": "\u00b0",
          "loggernet_units": "\u00b0",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "\u00b0",
          "alias_synoptic_column": ""
        }
      ]
    },
    "pm": {
      "filename_pattern": "wbb_pm_YYYY.dat",
      "format": "toa5",
      "year_start": "2023",
      "year_end": "2026",
      "columns": [
        {
          "raw_name": "ErrPM25",
          "raw_units": "",
          "confirmed_canonical": "sensor_error_code",
          "suggested_canonical": "sensor_error_code_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "sensor_error_code",
          "display_name": "Sensor Error Code",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "set 1 is at the same height as the ES642. Set 2 is at the same height as the ES405.",
          "alias_raw_name": "Err_ES642",
          "merge_output_name": "ES642 Error Code",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": ""
        },
        {
          "raw_name": "Err_ES642",
          "raw_units": "",
          "confirmed_canonical": "sensor_error_code",
          "suggested_canonical": "sensor_error_code_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "sensor_error_code",
          "display_name": "Sensor Error Code",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "set 1 is at the same height as the ES642. Set 2 is at the same height as the ES405.",
          "alias_raw_name": "ErrPM25",
          "merge_output_name": "ES642 Error Code",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": ""
        },
        {
          "raw_name": "FlowPM25_Avg",
          "raw_units": "m3 s-1",
          "confirmed_canonical": "flow_rate",
          "suggested_canonical": "flow_rate_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "flow_rate",
          "display_name": "Flow Rate",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "set 1 is at the same height as the ES642. Set 2 is at the same height as the ES405.",
          "alias_raw_name": "FlowPM25_Avg",
          "merge_output_name": "ES642 Flow Rate",
          "synoptic_units": "m3 s-1",
          "cf_units": "m3 s-1",
          "loggernet_units": "m3 s-1",
          "alias_synoptic_column": "flow_rate_set_1",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "m3 s-1"
        },
        {
          "raw_name": "Flow_ES642_Avg",
          "raw_units": "m3 s-1",
          "confirmed_canonical": "flow_rate",
          "suggested_canonical": "flow_rate_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "flow_rate",
          "display_name": "Flow Rate",
          "processing_type": "Avg",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "FlowPM25_Avg",
          "merge_output_name": "ES642 Flow Rate",
          "synoptic_units": "m3 s-1",
          "cf_units": "m3 s-1",
          "loggernet_units": "m3 s-1",
          "alias_synoptic_column": "flow_rate_set_1",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "m3 s-1"
        },
        {
          "raw_name": "IntRHPM25",
          "raw_units": "%",
          "confirmed_canonical": "internal_relative_humidity",
          "suggested_canonical": "internal_relative_humidity_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "internal_relative_humidity",
          "display_name": "Internal Relative Humidity",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "IntRHPM25",
          "merge_output_name": "ES642 Internal RH",
          "synoptic_units": "%",
          "cf_units": "%",
          "loggernet_units": "%",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "%",
          "alias_synoptic_column": "internal_relative_humidity_set_1"
        },
        {
          "raw_name": "IntRH_ES642",
          "raw_units": "%",
          "confirmed_canonical": "internal_relative_humidity",
          "suggested_canonical": "internal_relative_humidity_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "internal_relative_humidity",
          "display_name": "Internal Relative Humidity",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "IntRHPM25",
          "merge_output_name": "ES642 Internal RH",
          "synoptic_units": "%",
          "cf_units": "%",
          "loggernet_units": "%",
          "alias_synoptic_column": "internal_relative_humidity_set_1",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "%"
        },
        {
          "raw_name": "PM25_Avg",
          "raw_units": "mg/m3",
          "confirmed_canonical": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
          "suggested_canonical": "PM_25_concentration_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "x * 1000",
          "cf_name": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
          "display_name": "PM2.5 Concentration",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "PM25_Avg",
          "merge_output_name": "ES642 PM2.5 Concentration",
          "synoptic_units": "ug m-3",
          "cf_units": "ug m-3",
          "loggernet_units": "mg/m3",
          "alias_synoptic_column": "PM_25_concentration_set_1",
          "syn_transform_expr": "x * 1000",
          "ln_transform_expr": "",
          "new_units": "mg/m3"
        },
        {
          "raw_name": "PM25_ES642_Avg",
          "raw_units": "mg/m3",
          "confirmed_canonical": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
          "suggested_canonical": "PM_25_concentration_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "x * 1000",
          "cf_name": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
          "display_name": "PM2.5 Concentration",
          "processing_type": "Avg",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "PM25_Avg",
          "merge_output_name": "ES642 PM2.5 Concentration",
          "synoptic_units": "ug m-3",
          "cf_units": "ug m-3",
          "loggernet_units": "mg/m3",
          "alias_synoptic_column": "PM_25_concentration_set_1",
          "syn_transform_expr": "x * 1000",
          "ln_transform_expr": "",
          "new_units": "mg/m3"
        },
        {
          "raw_name": "PresPM25",
          "raw_units": "hPa",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "medium",
          "mapping_status": "drop",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "Same as Pres_ES405, although this is closer to station pressure. The height difference between the ES405 and ES642 shouldn't cause a 200 mb drop.",
          "alias_raw_name": "",
          "merge_output_name": "",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "hPa",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "Pres_ES642",
          "raw_units": "hPa",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "medium",
          "mapping_status": "drop",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "Same as Pres_ES405, although this is closer to station pressure. The height difference between the ES405 and ES642 shouldn't cause a 200 mb drop.",
          "alias_raw_name": "",
          "merge_output_name": "",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "hPa",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "TempCPM25",
          "raw_units": "\u00b0C",
          "confirmed_canonical": "air_flow_temperature",
          "suggested_canonical": "air_flow_temperature_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "air_flow_temperature",
          "display_name": "Air Flow Temperature",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "TempCPM25",
          "merge_output_name": "ES642 Air Flow Temperature",
          "synoptic_units": "\u00b0C",
          "cf_units": "\u00b0C",
          "loggernet_units": "\u00b0C",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "\u00b0C",
          "alias_synoptic_column": "air_flow_temperature_set_1"
        },
        {
          "raw_name": "TempC_ES642",
          "raw_units": "\u00b0C",
          "confirmed_canonical": "air_flow_temperature",
          "suggested_canonical": "air_flow_temperature_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "air_flow_temperature",
          "display_name": "Air Flow Temperature",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "TempCPM25",
          "merge_output_name": "ES642 Air Flow Temperature",
          "synoptic_units": "\u00b0C",
          "cf_units": "\u00b0C",
          "loggernet_units": "\u00b0C",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "\u00b0C",
          "alias_synoptic_column": "air_flow_temperature_set_1"
        }
      ]
    },
    "pm_set1": {
      "filename_pattern": "wbb_pm_set1_YYYY.dat",
      "format": "toa5",
      "year_start": "2025",
      "year_end": "2025",
      "columns": [
        {
          "raw_name": "ErrPM25",
          "raw_units": "",
          "confirmed_canonical": "sensor_error_code",
          "suggested_canonical": "sensor_error_code_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "sensor_error_code",
          "display_name": "Sensor Error Code",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "set 1 is at the same height as the ES642. Set 2 is at the same height as the ES405.",
          "alias_raw_name": "ErrPM25",
          "merge_output_name": "ES642 Error Code",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "",
          "alias_synoptic_column": "sensor_error_code_set_1"
        },
        {
          "raw_name": "FlowPM25_Avg",
          "raw_units": "m3 s-1",
          "confirmed_canonical": "flow_rate",
          "suggested_canonical": "flow_rate_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "flow_rate",
          "display_name": "Flow Rate",
          "processing_type": "Avg",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "FlowPM25_Avg",
          "merge_output_name": "ES642 Flow Rate",
          "synoptic_units": "m3 s-1",
          "cf_units": "m3 s-1",
          "loggernet_units": "m3 s-1",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "m3 s-1",
          "alias_synoptic_column": "flow_rate_set_1"
        },
        {
          "raw_name": "IntRHPM25",
          "raw_units": "%",
          "confirmed_canonical": "internal_relative_humidity",
          "suggested_canonical": "internal_relative_humidity_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "internal_relative_humidity",
          "display_name": "Internal Relative Humidity",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "IntRHPM25",
          "merge_output_name": "ES642 Internal RH",
          "synoptic_units": "%",
          "cf_units": "%",
          "loggernet_units": "%",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "%",
          "alias_synoptic_column": "internal_relative_humidity_set_1"
        },
        {
          "raw_name": "PM25_Avg",
          "raw_units": "mg/m3",
          "confirmed_canonical": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
          "suggested_canonical": "PM_25_concentration_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "x * 1000",
          "cf_name": "mass_concentration_of_pm2p5_ambient_aerosol_particles_in_air",
          "display_name": "PM2.5 Concentration",
          "processing_type": "Avg",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "PM25_Avg",
          "merge_output_name": "ES642 PM2.5 Concentration",
          "synoptic_units": "ug m-3",
          "cf_units": "ug m-3",
          "loggernet_units": "mg/m3",
          "alias_synoptic_column": "PM_25_concentration_set_1",
          "syn_transform_expr": "x * 1000",
          "ln_transform_expr": "",
          "new_units": "mg/m3"
        },
        {
          "raw_name": "PresPM25",
          "raw_units": "hPa",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "medium",
          "mapping_status": "drop",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "Same as Pres_ES405, although this is closer to station pressure. The height difference between the ES405 and ES642 shouldn't cause a 200 mb drop.",
          "alias_raw_name": "",
          "merge_output_name": "",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "hPa",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "TempCPM25",
          "raw_units": "\u00b0C",
          "confirmed_canonical": "air_flow_temperature",
          "suggested_canonical": "air_flow_temperature_set_1",
          "suggestion_confidence": "high",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "air_flow_temperature",
          "display_name": "Air Flow Temperature",
          "processing_type": "Smp",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "TempCPM25",
          "merge_output_name": "ES642 Air Flow Temperature",
          "synoptic_units": "\u00b0C",
          "cf_units": "\u00b0C",
          "loggernet_units": "\u00b0C",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "new_units": "\u00b0C",
          "alias_synoptic_column": "air_flow_temperature_set_1"
        }
      ]
    },
    "redbutteradio_volt": {
      "filename_pattern": "wbb_redbutteradio_volt_YYYY.dat",
      "format": "csv_no_header",
      "year_start": "2023",
      "year_end": "2026",
      "columns": [
        {
          "raw_name": "doy",
          "raw_units": "",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "",
          "mapping_status": "manual_review",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": ""
        },
        {
          "raw_name": "hhmm",
          "raw_units": "volt",
          "confirmed_canonical": "battery_voltage",
          "suggested_canonical": "volt_set_2",
          "suggestion_confidence": "",
          "mapping_status": "confirmed",
          "transform_expr": "",
          "cf_name": "battery_voltage",
          "display_name": "Battery / Supply Voltage",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "Battery / Supply Voltage",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "synoptic_units": "volt",
          "cf_units": "volt",
          "loggernet_units": "volt",
          "new_units": "volt",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "interval_min",
          "raw_units": "",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "",
          "mapping_status": "loggernet_only",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "",
          "new_units": "",
          "alias_synoptic_column": "",
          "merge_output_name": "interval_min"
        },
        {
          "raw_name": "voltage",
          "raw_units": "",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "high",
          "mapping_status": "loggernet_only",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": "",
          "merge_output_name": "Battery / Supply Voltage",
          "syn_transform_expr": "",
          "ln_transform_expr": "",
          "synoptic_units": "",
          "cf_units": "",
          "loggernet_units": "",
          "new_units": "",
          "alias_synoptic_column": ""
        },
        {
          "raw_name": "year",
          "raw_units": "",
          "confirmed_canonical": "",
          "suggested_canonical": "",
          "suggestion_confidence": "",
          "mapping_status": "manual_review",
          "transform_expr": "",
          "cf_name": "",
          "display_name": "",
          "processing_type": "",
          "raw_units_verified": "",
          "verification_basis": "",
          "notes": "",
          "alias_raw_name": ""
        }
      ]
    }
  },
  "unmapped_variables": [],
  "_enriched": true,
  "last_saved": "2026-08-10T22:55:37.020409Z",
  "last_saved_by": "u1450313",
  "last_saved_host": "kp310",
  "synoptic_only_variables": [
    {
      "synoptic_column": "ozone_concentration_set_1",
      "cf_name": "mole_fraction_of_ozone_in_air",
      "merge_output_name": "Ozone Concentration",
      "alias_synoptic_column": "",
      "alias_raw_name": "",
      "syn_transform_expr": "",
      "ln_transform_expr": "",
      "transform_expr": "",
      "synoptic_units": "mol mol-1",
      "cf_units": "mol mol-1",
      "new_units": "mol mol-1",
      "mapping_status": "synoptic_only",
      "verification_basis": "",
      "notes": "",
      "display_name": "Ozone Concentration"
    },
    {
      "synoptic_column": "precip_accum_five_minute_set_1",
      "cf_name": "precipitation_amount_5min",
      "merge_output_name": "Precip Accumulation (5 min)",
      "alias_synoptic_column": "",
      "alias_raw_name": "",
      "syn_transform_expr": "",
      "ln_transform_expr": "",
      "transform_expr": "",
      "synoptic_units": "kg m-2",
      "cf_units": "kg m-2",
      "new_units": "kg m-2",
      "mapping_status": "synoptic_only",
      "verification_basis": "",
      "notes": "",
      "display_name": "Precip Accumulation (5 min)"
    },
    {
      "synoptic_column": "precip_accum_set_1",
      "cf_name": "precipitation_amount",
      "merge_output_name": "Precipitation Accumulation",
      "alias_synoptic_column": "",
      "alias_raw_name": "",
      "syn_transform_expr": "",
      "ln_transform_expr": "",
      "transform_expr": "",
      "synoptic_units": "kg m-2",
      "cf_units": "kg m-2",
      "new_units": "kg m-2",
      "mapping_status": "synoptic_only",
      "verification_basis": "",
      "notes": "",
      "display_name": "Precipitation Accumulation"
    }
  ]
}
