All ProbesΒΆ

# manual_flags have the following fields
#   start: str
#   end: str
#   replace_wNAN: boolean
#   replace_w0: boolean
#   flag: '' will wipe all flags, else str
#   reset_adj_precip: optional boolean field
#   event_code: optional str field. Limit to defined eventcodes.
#   explanation: str. Key words will trigger event codes:
#      drain: DRAIN
#      install: INSREM
#      remov: INSREM
#      repair: MAINTE
VAR_02:
  # precision in mm
  # sensor accuracy 0.2794; sensor precision 0.1049; logger resolution 0.1221 mm; Root sum of square precision 0.161
  # precision is limited to 1 decimal place
  # post-2022 averaging
  # precision: 0.1
  # pre- 2022
  precision: 0.2
  auto_flag:
  # dictionary of quality assurance rules and their keyword argurments.
  # if method does not have kwargs, make an empty dictionary by placing a ":" after the method name.
    remove_GCE_F_flags:
    remove_GCE_E_flags:
    prorate_precip_during_tank_flux:
        max_prorate: 15
    round_precip_to_min_increment:
        scrape_remainder_window: 6
    flag_propagate_EM_from_tank:
    flag_double_precip:
        min_ppt_nprecision: 4
        flat_tank_nprecision: 3
        flat_ppt_nprecision: 3
    flag_repeating_val_precip:
        min_ppt_nprecision: 0
        flat_tank_nprecision: 1
        flat_ppt_nprecision: 0
        min_number_repeating: 5
    flag_empty_tank:
        pause_nsteps: 3
    flag_tank_overflow:
        tank_max: 744
    flag_precip_during_tank_flux:
      fluxprecision: 7
      accprecision: 4.2
      zero_precision: 4.3
      # number of timesteps, must be odd
      fluxwindow: 289
      accwindow: '1D'
      extend_ahead: 4
  manual_flags:
    # each item on this list (-) is an event dictionary with specific information
    - start: '10/1/20 0005'
      end: '10/1/21 0000'
      replace_wNAN: True
      replace_w0: False
      flag: M
      event_code: ''
      explanation: Sensor failure. Rain gauge capped. Data removed.
    - start: '4/19/19 1015'
      end: '4/19/19 1300'
      replace_wNAN: False
      replace_w0: False
      flag: Q
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '5/18/19 0800'
      end: '5/19/19 0000'
      replace_wNAN: False
      replace_w0: False
      flag: Q
      explanation: Daily total precip is correct, but is not located during valid tank increases
    - start: '6/5/19 1220'
      end: '6/5/19 1250'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '7/9/19 0600'
      end: '7/9/19 1100'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '7/15/19 1030'
      end: '7/15/19 1330'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '8/3/19 1415'
      end: '8/3/19 1425'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '8/5/19 1220'
      end: '8/5/19 1430'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '8/19/19 1415'
      end: '8/19/19 1415'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '8/24/19 1320'
      end: '8/24/19 1320'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '8/30/19 1200'
      end: '8/30/19 1425'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '9/4/19 1325'
      end: '9/4/19 1430'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '9/11/19 1330'
      end: '9/23/19 2000'
      replace_wNAN: True
      replace_w0: False
      flag: M
      explanation: Sensor removed and rewired
    - start: '9/24/19 1220'
      end: '9/24/19 1315'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '9/25/19 0900'
      end: '9/25/19 1235'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '10/1/19 0850'
      end: '10/1/19 1200'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '10/5/19 1205'
      end: '10/5/19 1235'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '5/8/20 1130'
      end: '5/8/20 1300'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '4/20/20 1230'
      end: '4/20/20 1245'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '5/24/20 1405'
      end: '5/24/20 1430'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '6/1/20 1405'
      end: '6/1/20 1630'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '6/4/20 1040'
      end: '6/4/20 1305'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation
    - start: '8/21/20 0000'
      end: '8/22/20 2355'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation (spike at midnight nullifies auotflags)
    - start: '9/8/20 1100'
      end: '9/8/20 1430'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation (low precip below autoflag threshold)
    - start: '9/27/20 0920'
      end: '9/27/20 1230'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation (low precip below autoflag threshold)
    - start: '9/28/20 1140'
      end: '9/28/20 1225'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation (low precip below autoflag threshold)
    - start: '11/5/21 0300'
      end: '11/5/21 1000'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation (low precip below autoflag threshold)
    - start: '11/10/21 2200'
      end: '11/11/21 0700'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation (low precip below autoflag threshold)
    - start: '12/29/21 1525'
      end: '12/29/21 1535'
      replace_wNAN: False
      replace_w0: False
      flag: C
      event_code: ''
      explanation: False positive for diurnal fluctuation during clog cumulative precip
    - start: '12/29/21 1540'
      end: '7/3/22 1630'
      replace_wNAN: True
      replace_w0: False
      flag: M
      event_code: INSREM
      explanation: Sensor couldn't be drained, so drain was left open until cleanout was installed.
    - start: '7/3/22 1635'
      end: '7/3/22 1645'
      replace_wNAN: False
      replace_w0: True
      flag: ''
      event_code: INSREM
      explanation: Sensor reinstallation. Tank raised following empty state while disconnected.
    - start: '7/13/22 1635'
      end: '7/13/22 1645'
      replace_wNAN: False
      replace_w0: True
      flag: ''
      explanation: Sensor standpipe drained for repair and tank refilled by bucket.
    - start: '9/3/22 1120'
      end: '9/3/22 1200'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation (low precip below autoflag threshold)
    - start: '9/23/22 1335'
      end: '9/23/22 1400'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: False precip during tank fluctuation (low precip below autoflag threshold)
    - start: '1/20/23 1225'
      end: '1/20/23 1235'
      replace_wNAN: True
      replace_w0: False
      flag: M
      event_code: MAINTE
      explanation: Tank refilled by bucket to observe float blockage
    - start: '1/25/24 1505'
      end: '1/25/24 1515'
      replace_wNAN: False
      replace_w0: False
      flag: C
      event_code: CLOG
      explanation: False positive for diurnal fluctuation during clog cumulative precip
    - start: '9/11/24 1025'
      end: '9/11/24 1915'
      replace_wNAN: False
      replace_w0: False
      flag: ''
      event_code: ''
      reset_adj_precip: True
      explanation: False positive for diurnal fluctuation during unknown tank drop
UPL_01:
  # sensor accuracy 0.2794; sensor precision 0.1049; logger resolution 0.060 mm; Root sum of square precision 0.121
  # precision is limited to 1 decimal place
  # post-2022 averaging
  # precision: 0.1
  # pre- 2022
  precision: 0.1
  auto_flag:
  # dictionary of quality assurance rules and their keyword argurments.
  # if method does not have kwargs, make an empty dictionary by placing a ":" after the method name.
    remove_GCE_F_flags:
    remove_GCE_E_flags:
    prorate_precip_during_tank_flux:
      max_prorate: 15
    round_precip_to_min_increment:
        scrape_remainder_window: 6
    flag_propagate_EM_from_tank:
    flag_double_precip:
        min_ppt_nprecision: 2
        flat_tank_nprecision: 1
        flat_ppt_nprecision: 1
    flag_repeating_val_precip:
        min_ppt_nprecision: 0
        flat_tank_nprecision: 1
        flat_ppt_nprecision: 0
        min_number_repeating: 5
    flag_empty_tank:
        pause_nsteps: 2
    flag_tank_overflow:
        tank_max: 744
    flag_precip_during_tank_flux:
      fluxprecision: 13.27
      accprecision: 13.97
      zero_precision: 5.59
      # number of timesteps, must be odd
      fluxwindow: 289
      accwindow: '1D'
      extend_ahead: 4
    flag_x_clogs:
      UPL_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 58
          # 7th percentile
          lowest_normal_ratio: -0.038
          rolling_window: 14D
          # 40% of the lowest normal ratio
          window_precision: 0.045
          # decide U or C flag
          precision_val: 0.1
          window: 0.5h
          n_std: 1.5
      UPL_04:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 58
          # 7th percentile
          lowest_normal_ratio: -10
          rolling_window: 14D
          # 40% of the lowest normal ratio
          window_precision: 0.045
          # decide U or C flag
          precision_val: 0.1
          window: 0.5h
          n_std: 1.5
      GSM_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 45
          # 7th percentile
          lowest_normal_ratio: -0.17
          rolling_window: 6D
          # 40% of the lowest normal ratio
          window_precision: 0.08
          # decide U or C flag
          precision_val: 0.1
          window: 0.5h
          n_std: 1.5
      CS2_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 55
          # 7th percentile
          lowest_normal_ratio: -0.116
          rolling_window: 6D
          # 40% of the lowest normal ratio
          window_precision: 0.11
          # decide U or C flag
          precision_val: 0.25
          window: 0.5h
          n_std: 1.5
      PRI_03:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 70
          # 7th percentile
          lowest_normal_ratio: -0.0615
          rolling_window: 6D
          # 40% of the lowest normal ratio
          window_precision: 0.12
          # decide U or C flag
          precision_val: 0.25
          window: 0.5h
          n_std: 1.5
      PRI_01:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 70
          # 7th percentile
          lowest_normal_ratio: -0.115
          rolling_window: 6D
          # 40% of the lowest normal ratio
          window_precision: 0.08
          # decide U or C flag
          precision_val: 0.25
          window: 0.5h
          n_std: 1.5
      VAR_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 40
          # 7th percentile
          lowest_normal_ratio: -0.28
          rolling_window: 8D
          # 40% of the lowest normal ratio
          window_precision: 0.15
          # decide U or C flag
          precision_val: 0.25
          window: 0.5h
          n_std: 1.5
      H15_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 40
          # 7th percentile
          lowest_normal_ratio: -0.03
          rolling_window: 14D
          # 40% of the lowest normal ratio
          window_precision: 0.1
          # decide U or C flag
          precision_val: 0.2
          window: 0.5h
          n_std: 1.5
      CEN_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 90
          # 7th percentile
          lowest_normal_ratio: -0.05
          rolling_window: 8D
          # 40% of the lowest normal ratio
          window_precision: 0.09
          # decide U or C flag
          precision_val: 0.2
          window: 0.5h
          n_std: 1.5
      CEN_01:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 90
          # 7th percentile
          lowest_normal_ratio: -0.14
          rolling_window: 8D
          # 40% of the lowest normal ratio
          window_precision: 0.09
          # decide U or C flag
          precision_val: 0.1
          window: 0.5h
          n_std: 1.5
    weight_x_clogs:
      UPL_02: 67
      UPL_04: 33
      GSM_02: 9
      CS2_02: 9
      PRI_03: 9
      PRI_01: 9
      VAR_02: 9
      H15_02: 9
      CEN_02: 15
      CEN_01: 15
  manual_flags:
    # each item on this list (-) is an event dictionary with specific information
    - start: '11/3/21 0730'
      end: '11/3/21 1325'
      replace_wNAN: False
      replace_w0: False
      flag: ''
      event_code: ''
      explanation: False positive for diurnal fluctuation
    - start: '9/5/19 1440'
      end: '9/7/19 2300'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: INTPRO
      explanation: Momentary tank spike causes anomalous accumulation
    - start: '10/10/21 0430'
      end: '10/10/21 0930'
      replace_wNAN: False
      replace_w0: False
      flag: U
      event_code: CLOG
      explanation: Clog before min accumulation has been reached
    - start: '10/10/21 0935'
      end: '10/10/21 1855'
      replace_wNAN: False
      replace_w0: False
      flag: C
      event_code: CLOG
      explanation: Clog before min accumulation has been reached
    - start: '10/10/21 1900'
      end: '10/11/21 0925'
      replace_wNAN: False
      replace_w0: False
      flag: U
      event_code: CLOG
      explanation: Clog before min accumulation has been reached
    - start: '10/11/21 0930'
      end: '10/11/21 1130'
      replace_wNAN: False
      replace_w0: False
      flag: C
      event_code: CLOG
      explanation: Clog before min accumulation has been reached
    - start: '3/30/20 1645'
      end: '3/31/20 0400'
      replace_wNAN: False
      replace_w0: False
      flag: U
      event_code: CLOG
      explanation: Clog not caught by automated detection
    - start: '4/3/20 0320'
      end: '4/3/20 1950'
      replace_wNAN: False
      replace_w0: False
      flag: C
      event_code: CLOG
      explanation: Clog not caught by automated detection
    - start: '10/11/20 0200'
      end: '10/11/20 1900'
      replace_wNAN: False
      replace_w0: False
      flag:
      event_code:
      explanation: Unflag false positive for clog.
    - start: '11/18/23 1700'
      end: '11/19/23 1900'
      replace_wNAN: False
      replace_w0: False
      flag: U
      event_code: CLOG
      explanation: Clog not caught by automated detection.
    - start: '11/23/23 0000'
      end: '11/24/23 0600'
      replace_wNAN: False
      replace_w0: False
      flag:
      event_code:
      explanation: Unflag false positive for clog.
UPL_02:
  # precision in mm
  # sensor accuracy 0.381; sensor precision 0.3166; logger resolution 0.158 mm; Root sum of square precision 0.354
  # precision is limited to 1 decimal place
  # post-2022 averaging
  # precision: 0.2
  # pre- 2022
  precision: 0.4
  auto_flag:
  # dictionary of quality assurance rules and their keyword argurments.
  # if method does not have kwargs, make an empty dictionary by placing a ":" after the method name.
    # perform multipart flagging routine to catch drains and recharge
    drain_recharge_flagging_wrap:
      # calculated from 5 years (WY 2018-2022)
      # 75percentile of 15 min precip where >0 and drain=True
      drain_threshold: -25
      event_window: 3
      max_recharge: 2.67
      runavg_wind: 12
      runavg_nstd: 2
    remove_GCE_F_flags:
    remove_GCE_E_flags:
    prorate_precip_during_tank_flux:
       max_prorate: 15
    round_precip_to_min_increment:
        scrape_remainder_window: 12
    flag_propagate_EM_from_tank:
    flag_double_precip:
        min_ppt_nprecision: 2
        flat_tank_nprecision: 1
        flat_ppt_nprecision: 1
    flag_repeating_val_precip:
        min_ppt_nprecision: 0
        flat_tank_nprecision: 1
        flat_ppt_nprecision: 0
        min_number_repeating: 5
    flag_empty_tank:
        pause_nsteps: 2
    flag_tank_overflow:
        tank_max: 744
    flag_precip_during_tank_flux:
        fluxprecision: 3.3
        accprecision: 3.5
        zero_precision: 1.4
        # number of timesteps, must be odd
        fluxwindow: 289
        accwindow: '1D'
        extend_ahead: 4
    flag_x_clogs:
      UPL_01:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 58
          # 7th percentile
          lowest_normal_ratio: -0.32
          rolling_window: 14D
          # 40% of the lowest normal ratio
          window_precision: 0.027
          # decide U or C flag
          precision_val: 0.1
          window: 0.5h
          n_std: 1.5
      UPL_04:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 15
          # 7th percentile
          lowest_normal_ratio: -10
          rolling_window: 6D
          # 40% of the lowest normal ratio
          window_precision: 0.015
          # decide U or C flag
          precision_val: 0.1
          window: 0.5h
          n_std: 1.5
      GSM_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 45
          # 7th percentile
          lowest_normal_ratio: -0.43
          rolling_window: 6D
          # 40% of the lowest normal ratio
          window_precision: 0.08
          # decide U or C flag
          precision_val: 0.1
          window: 0.5h
          n_std: 1.5
      CS2_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 45
          # 7th percentile
          lowest_normal_ratio: -0.43
          rolling_window: 6D
          # 40% of the lowest normal ratio
          window_precision: 0.1
          # decide U or C flag
          precision_val: 0.25
          window: 0.5h
          n_std: 1.5
      PRI_03:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 70
          # 7th percentile
          lowest_normal_ratio: -0.3
          rolling_window: 6D
          # 40% of the lowest normal ratio
          window_precision: 0.12
          # decide U or C flag
          precision_val: 0.25
          window: 0.5h
          n_std: 1.5
      PRI_01:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 70
          # 7th percentile
          lowest_normal_ratio: -0.38
          rolling_window: 6D
          # 40% of the lowest normal ratio
          window_precision: 0.08
          # decide U or C flag
          precision_val: 0.25
          window: 0.5h
          n_std: 1.5
      VAR_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 40
          # 7th percentile
          lowest_normal_ratio: -0.28
          rolling_window: 8D
          # 40% of the lowest normal ratio
          window_precision: 0.12
          # decide U or C flag
          precision_val: 0.25
          window: 0.5h
          n_std: 1.5
      H15_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 40
          # 7th percentile
          lowest_normal_ratio: -0.22
          rolling_window: 14D
          # 40% of the lowest normal ratio
          window_precision: 0.08
          # decide U or C flag
          precision_val: 0.25
          window: 0.5h
          n_std: 1.5
      CEN_02:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 90
          # 7th percentile
          lowest_normal_ratio: -0.14
          rolling_window: 8D
          # 40% of the lowest normal ratio
          window_precision: 0.09
          # decide U or C flag
          precision_val: 0.2
          window: 0.5h
          n_std: 1.5
      CEN_01:
        # perform multiple steps to find clogs and flag values during them
        clog_pair_flagging_wrap:
          # find clog event
          min_accum: 90
          # 7th percentile
          lowest_normal_ratio: -0.14
          rolling_window: 8D
          # 40% of the lowest normal ratio
          window_precision: 0.09
          # decide U or C flag
          precision_val: 0.1
          window: 0.5h
          n_std: 1.5
    weight_x_clogs:
      UPL_01: 67
      UPL_04: 58
      GSM_02: 9
      CS2_02: 9
      PRI_03: 4
      PRI_01: 5
      VAR_02: 15
      H15_02: 10
      CEN_02: 9
      CEN_01: 9
  manual_flags:
    # each item on this list (-) is an event dictionary with specific information
    - start: '4/15/19 1230'
      end: '4/15/19 1250'
      replace_wNAN: False
      replace_w0: True
      flag: E
      event_code: DRAIN
      explanation: Delayed recharge following an over-drain.
    - start: '8/22/19 0805'
      end: '8/22/19 1040'
      replace_wNAN: True
      replace_w0: False
      flag: M
      event_code: INSREM
      explanation: Flag period where the sensor was removed for cleaning.
    - start: '9/12/19 1545'
      end: '9/12/19 1600'
      replace_wNAN: True
      replace_w0: False
      flag: M
      event_code: MAINTE
      explanation: Over drained and added water
    - start: '8/22/19 1605'
      end: '8/22/19 1615'
      replace_wNAN: False
      replace_w0: False
      flag: Q
      event_code: MAINTE
      explanation: Over drained and added water. Tank continues to have large rises
    - start: '5/2/20 1145'
      end: '5/19/20 1605'
      replace_wNAN: False
      replace_w0: False
      flag: U
      event_code: CLOG
      explanation: Automated flagging under-catches this clog in the orifice funnel.
    - start: '6/6/20 1200'
      end: '6/10/20 1000'
      replace_wNAN: False
      replace_w0: False
      flag: U
      event_code: CLOG
      explanation: Clog not caught by automated flagging.
    - start: '11/4/22 1900'
      end: '11/5/22 0230'
      replace_wNAN: False
      replace_w0: False
      flag:
      event_code:
      explanation: Over flagging by automated clog detection
    - start: '10/9/23 1120'
      end: '10/10/23 0400'
      replace_wNAN: False
      replace_w0: False
      flag: U
      event_code: CLOG
      explanation: Clog before minimum annual accumulation
    - start: '10/10/23 1700'
      end: '10/12/23 0145'
      replace_wNAN: False
      replace_w0: False
      flag:
      event_code:
      explanation: Over flagging by automated clog detection.
    - start: '2/15/24 0240'
      end: '2/15/24 1935'
      replace_wNAN: False
      replace_w0: False
      flag: U
      event_code: CLOG
      explanation: Clog under-flagged by automated clog detection.
    - start: '2/16/24 1045'
      end: '2/17/24 1335'
      replace_wNAN: False
      replace_w0: False
      flag: C
      event_code: CLOG
      explanation: Clog under-flagged by automated clog detection.
    - start: '2/17/24 1340'
      end: '2/18/24 0635'
      replace_wNAN: False
      replace_w0: False
      flag: U
      event_code: CLOG
      explanation: Clog under-flagged by automated clog detection.
    - start: '2/18/24 0640'
      end: '2/19/24 0935'
      replace_wNAN: False
      replace_w0: False
      flag: C
      event_code: CLOG
      explanation: Clog under-flagged by automated clog detection.
UPL_04:
  # precision in mm
  precision: 0.1048
  auto_flag:
    flag_over_intensity:
      max_per_hour: 25
CEN_01:
    # sensor accuracy 0.2794; sensor precision 0.1049; logger resolution 0.1221 mm; Root sum of square precision 0.161
    # precision is limited to 1 decimal place
    # post-2022 averaging
    # precision: 0.1
    # pre- 2022
    precision: 0.2
    auto_flag:
        # dictionary of quality assurance rules and their keyword argurments.
        # if method does not have kwargs, make an empty dictionary by placing a ":" after the method name.
        remove_GCE_F_flags:
        remove_GCE_E_flags:
        prorate_precip_during_tank_flux:
          max_prorate: 15
        round_precip_to_min_increment:
            scrape_remainder_window: 6
        flag_propagate_EM_from_tank:
        flag_double_precip:
            min_ppt_nprecision: 2
            flat_tank_nprecision: 1
            flat_ppt_nprecision: 1
        flag_repeating_val_precip:
            min_ppt_nprecision: 0
            flat_tank_nprecision: 1
            flat_ppt_nprecision: 0
            min_number_repeating: 5
        flag_empty_tank:
            pause_nsteps: 2
        flag_tank_overflow:
            tank_max: 744
        flag_precip_during_tank_flux:
          fluxprecision: 6.6
          accprecision: 7
          zero_precision: 2.8
          # number of timesteps, must be odd
          fluxwindow: 289
          accwindow: '1D'
          extend_ahead: 4
        flag_x_clogs:
          CEN_02:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 34
              # 7th percentile
              lowest_normal_ratio: -0.345
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.018
              # decide U or C flag
              precision_val: 0.2
              window: 0.5h
              n_std: 1.5
          CS2_02:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 50
              # 5th percentile
              lowest_normal_ratio: -0.143
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.03
              # decide U or C flag
              precision_val: 0.254
              window: 1h
              n_std: 1.5
          PRI_03:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 50
              # 5th percentile
              lowest_normal_ratio: -0.143
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.03
              # decide U or C flag
              precision_val: 0.254
              window: 1h
              n_std: 1.5
          PRI_01:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 50
              # 5th percentile
              lowest_normal_ratio: -10
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.04
              # decide U or C flag
              precision_val: 0.254
              window: 1h
              n_std: 1.5
          UPL_02:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 93
              # 5th percentile
              lowest_normal_ratio: -0.48
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.03
              # decide U or C flag
              precision_val: 0.1
              window: 1h
              n_std: 1.5
          UPL_04:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 93
              # 5th percentile
              lowest_normal_ratio: -1.1
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.03
              # decide U or C flag
              precision_val: 0.1
              window: 1h
              n_std: 1.5
          UPL_01:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 93
              # 5th percentile
              lowest_normal_ratio: -0.48
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.03
              # decide U or C flag
              precision_val: 0.1
              window: 0.5h
              n_std: 1.5
          VAR_02:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 70
              # 5th percentile
              lowest_normal_ratio: -0.36
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.12
              # decide U or C flag
              precision_val: 0.1
              window: 0.5h
              n_std: 1.5
          H15_02:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 50
              # 5th percentile
              lowest_normal_ratio: -0.245
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.055
              # decide U or C flag
              precision_val: 0.2
              window: 0.5h
              n_std: 1.5
          GSM_02:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 45
              # 5th percentile
              lowest_normal_ratio: -0.643
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.075
              # decide U or C flag
              precision_val: 0.2
              window: 0.5h
              n_std: 1.5
        weight_x_clogs:
          CEN_02: 58
          CS2_02: 8
          PRI_03: 4
          PRI_01: 4
          UPL_01: 10
          UPL_02: 5
          UPL_04: 5
          VAR_02: 25
          H15_02: 30
          GSM_02: 8
    manual_flags:
      # each item on this list (-) is an event dictionary with specific information
      - start: '12/18/18 0230'
        end: '12/25/18 0920'
        replace_wNAN: False
        replace_w0: False
        flag: ''
        explanation: Remove GCE M flag during clog period to include rapid unclog and catch up of cumulative precip.
      #- start: '10/27/18 0145'
      #  end: '10/27/18 0145'
      #  replace_wNAN: False
      #  replace_w0: False
      #  flag: ''
      #  explanation: Remove overflag after clog resolves
      #- start: '10/30/18 0135'
      #  end: '10/30/18 0140'
      #  replace_wNAN: False
      #  replace_w0: False
      #  flag: ''
      #  explanation: Remove overflag after clog resolves
      #- start: '10/30/18 0350'
      #  end: '10/30/18 0350'
      #  replace_wNAN: False
      #  replace_w0: False
      #  flag: ''
      #  explanation: Remove overflag after clog resolves
      - start: '2/12/19 1745'
        end: '2/21/19 1730'
        replace_wNAN: False
        replace_w0: False
        flag: ''
        explanation: Remove GCE M flag during clog period to include rapid unclog and catch up of cumulative precip.
      - start: '4/6/19 1000'
        end: '4/16/19 1200'
        replace_wNAN: False
        replace_w0: False
        flag: ''
        explanation: Remove GCE M flag during clog period to include rapid unclog and catch up of cumulative precip.
      - start: '10/23/20 2000'
        end: '10/23/20 2200'
        replace_wNAN: False
        replace_w0: False
        flag: ''
        event_code: ''
        explanation: Remove false clog flags.
      - start: '10/7/21 1255'
        end: '10/12/21 1705'
        replace_wNAN: False
        replace_w0: True
        flag: 'U'
        event_code: CLOG
        explanation: Valve left open at gauge. Not enough accumulated precip for autoflagging.
      - start: '10/29/18 0710'
        end: '10/29/18 1900'
        replace_wNAN: False
        replace_w0: False
        flag: 'U'
        event_code: CLOG
        explanation: Small clog not caught by auto_flags
      - start: '10/29/18 1905'
        end: '10/29/18 2315'
        replace_wNAN: False
        replace_w0: False
        flag: 'C'
        event_code: CLOG
        explanation: Small clog not caught by auto_flags
      - start: '11/1/23 1200'
        end: '11/4/23 1500'
        replace_wNAN: False
        replace_w0: False
        flag: ''
        event_code: ''
        explanation: Remove false clog flags.
CEN_02:
    # precision in mm
    # sensor accuracy 0.381; sensor precision 0.3166; logger resolution 0.158 mm; Root sum of square precision 0.354
    # precision is limited to 1 decimal place
    # post-2022 averaging
    # precision: 0.2
    # pre- 2022
    precision: 0.4
    auto_flag:
      # dictionary of quality assurance rules and their keyword argurments.
      # if method does not have kwargs, make an empty dictionary by placing a ":" after the method name.
      # perform multipart flagging routine to catch drains and recharge
      drain_recharge_flagging_wrap:
        # calculated from 5 years (WY 2018-2022)
        # 75percentile of 15 min precip where >0 and drain=True
        drain_threshold: -25
        event_window: 3
        max_recharge: 2.67
        runavg_wind: 12
        runavg_nstd: 2
      remove_GCE_F_flags:
      remove_GCE_E_flags:
      prorate_precip_during_tank_flux:
        max_prorate: 15
      round_precip_to_min_increment:
          scrape_remainder_window: 12
      flag_precip_during_tank_flux:
        fluxprecision: 3.3
        accprecision: 3.5
        zero_precision: 1.4
        # number of timesteps, must be odd
        fluxwindow: 289
        accwindow: '1D'
        extend_ahead: 4
      flag_propagate_EM_from_tank:
      flag_double_precip:
          min_ppt_nprecision: 2
          flat_tank_nprecision: 1
          flat_ppt_nprecision: 1
      flag_tank_overflow:
          tank_max: 558
      flag_repeating_val_precip:
          min_ppt_nprecision: 0
          flat_tank_nprecision: 1
          flat_ppt_nprecision: 0
          min_number_repeating: 5
      flag_empty_tank:
          pause_nsteps: 2
      flag_x_clogs:
        CEN_01:
          # perform multiple steps to find clogs and flag values during them
          clog_pair_flagging_wrap:
            # find clog event
            min_accum: 55
            # 7th percentile
            lowest_normal_ratio: -0.16
            rolling_window: 8D
            # 40% of the lowest normal ratio
            window_precision: 0.065
            # decide U or C flag
            precision_val: 0.1
            window: 1h
            n_std: 1.5
        UPL_02:
          # perform multiple steps to find clogs and flag values during them
          clog_pair_flagging_wrap:
            # find clog event
            min_accum: 93
            # 5th percentile
            lowest_normal_ratio: -0.8
            rolling_window: 8D
            # 40% of the lowest normal ratio
            window_precision: 0.03
            # decide U or C flag
            precision_val: 0.1
            window: 1h
            n_std: 1.5
        UPL_04:
          # perform multiple steps to find clogs and flag values during them
          clog_pair_flagging_wrap:
            # find clog event
            min_accum: 93
            # 5th percentile
            lowest_normal_ratio: -1.1
            rolling_window: 8D
            # 40% of the lowest normal ratio
            window_precision: 0.065
            # decide U or C flag
            precision_val: 0.1
            window: 1h
            n_std: 1.5
        UPL_01:
          # perform multiple steps to find clogs and flag values during them
          clog_pair_flagging_wrap:
            # find clog event
            min_accum: 93
            # 5th percentile
            lowest_normal_ratio: -0.8
            rolling_window: 8D
            # 40% of the lowest normal ratio
            window_precision: 0.065
            # decide U or C flag
            precision_val: 0.1
            window: 0.5h
            n_std: 1.5
        PRI_01:
          # perform multiple steps to find clogs and flag values during them
          clog_pair_flagging_wrap:
            # find clog event
            min_accum: 50
            # 5th percentile
            lowest_normal_ratio: -10
            rolling_window: 8D
            # 40% of the lowest normal ratio
            window_precision: 0.04
            # decide U or C flag
            precision_val: 0.254
            window: 1h
            n_std: 1.5
        PRI_03:
          # perform multiple steps to find clogs and flag values during them
          clog_pair_flagging_wrap:
            # find clog event
            min_accum: 50
            # 5th percentile
            lowest_normal_ratio: -0.34
            rolling_window: 10D
            # 40% of the lowest normal ratio
            window_precision: 0.12
            # decide U or C flag
            precision_val: 0.254
            window: 1h
            n_std: 1.5
        CS2_02:
          # perform multiple steps to find clogs and flag values during them
          clog_pair_flagging_wrap:
            # find clog event
            min_accum: 50
            # 5th percentile
            lowest_normal_ratio: -0.36
            rolling_window: 10D
            # 40% of the lowest normal ratio
            window_precision: 0.12
            # decide U or C flag
            precision_val: 0.254
            window: 1h
            n_std: 1.5
        VAR_02:
          # perform multiple steps to find clogs and flag values during them
          clog_pair_flagging_wrap:
            # find clog event
            min_accum: 70
            # 5th percentile
            lowest_normal_ratio: -0.44
            rolling_window: 8D
            # 40% of the lowest normal ratio
            window_precision: 0.12
            # decide U or C flag
            precision_val: 0.1
            window: 0.5h
            n_std: 1.5
        H15_02:
          # perform multiple steps to find clogs and flag values during them
          clog_pair_flagging_wrap:
            # find clog event
            min_accum: 50
            # 5th percentile
            lowest_normal_ratio: -0.245
            rolling_window: 8D
            # 40% of the lowest normal ratio
            window_precision: 0.055
            # decide U or C flag
            precision_val: 0.2
            window: 0.5h
            n_std: 1.5
        GSM_02:
          # perform multiple steps to find clogs and flag values during them
          clog_pair_flagging_wrap:
            # find clog event
            min_accum: 45
            # 5th percentile
            lowest_normal_ratio: -0.643
            rolling_window: 8D
            # 40% of the lowest normal ratio
            window_precision: 0.075
            # decide U or C flag
            precision_val: 0.2
            window: 0.5h
            n_std: 1.5
      weight_x_clogs:
        CEN_01: 58
        UPL_02: 5
        UPL_04: 5
        UPL_01: 10
        CS2_02: 8
        PRI_03: 4
        PRI_01: 4
        VAR_02: 25
        H15_02: 30
        GSM_02: 8
    manual_flags:
    # each item on this list (-) is an event dictionary with specific information
      - start: '4/23/19 2250'
        end: '4/24/19 0125'
        replace_wNAN: False
        replace_w0: False
        flag: ''
        event_code: ''
        explanation: False positive for clog
      - start: '11/10/20 1350'
        end: '11/10/20 1410'
        replace_wNAN: False
        replace_w0: False
        flag: ''
        event_code: ''
        explanation: False positive for clog
      - start: '11/10/20 1740'
        end: '11/10/20 1750'
        replace_wNAN: False
        replace_w0: False
        flag: ''
        event_code: ''
        explanation: False positive for clog
      - start: '10/13/17 0000'
        end: '10/13/17 0120'
        replace_wNAN: False
        replace_w0: False
        flag: ''
        event_code: LOGGER
        explanation: Remove flags during logger OS reinstall
      - start: '11/15/19 0745'
        end: '11/15/19 1750'
        replace_wNAN: False
        replace_w0: False
        flag: ''
        event_code: LOGGER
        explanation: Remove flags during logger OS reinstall
CEN_04:
  # precision in mm
  precision: 0.1962
  auto_flag:
    flag_over_intensity:
      max_per_hour: 25
CS2_02:
    # precision in mm
    precision: 0.25
    auto_flag:
        round_precip_to_min_increment:
          scrape_remainder_window: 0
        flag_tank_overflow:
            tank_max: 412
        # perform multipart flagging routine to catch drains and recharge
        drain_recharge_flagging_wrap:
            # calculated from 5 years (WY 2018-2022)
            # 75percentile of 15 min precip where >0 and drain=True
            drain_threshold: -8
            event_window: 3
            max_recharge: 2.67
            runavg_wind: 4
            runavg_nstd: 2
        flag_empty_tank:
          pause_nsteps: 2
        flag_x_clogs:
          CEN_01:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 34
              # 7th percentile
              lowest_normal_ratio: -0.09
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.03
              # decide U or C flag
              precision_val: 0.1
              window: 1h
              n_std: 1.5
        weight_x_clogs:
          CEN_01: 7
          #UPL_02: 20
    manual_flags:
        # each item on this list (-) is an event dictionary with specific information
        - start: '10/19/17 1645'
          end: '10/19/17 1645'
          replace_wNAN: True
          replace_w0: False
          flag: 'M'
          event_code: MAINTE
          explanation: Spike at drain start. Broken siphon sitting on scale while repairs attempted.
        - start: '11/21/17 1315'
          end: '11/21/17 1345'
          replace_wNAN: False
          replace_w0: False
          flag: Q
          explanation: Cancel autoflag as recharge. 1 mm tank drop at time of 3.05 mm precip (daily peak).
        - start: '4/17/18 1345'
          end: '4/17/18 1345'
          replace_wNAN: True
          replace_w0: False
          flag: M
          event_code: MAINTE
          explanation: Spike at drain start (weight of siphon).
        - start: '9/30/20 0915'
          end: '9/30/20 0915'
          replace_wNAN: True
          replace_w0: False
          flag: 'M'
          event_code: MAINTE
          explanation: Spike at drain start (weight of siphon). No rain rest of day.
        - start: '11/8/21 1000'
          end: '11/8/21 1000'
          replace_wNAN: False
          replace_w0: False
          flag: Q
          explanation: Tank level spikes, then immediately comes back down.
        - start: '1/4/22 1145'
          end: '1/4/22 1145'
          flag: M
          event_code: MAINTE
          explanation: Spike at drain start (weight of siphon). No rain rest of day.
          replace_wNAN: True
          replace_w0: False
        - start: '2/25/19 0630'
          end: '2/28/19 1130'
          flag: 'M'
          event_code: CLOG
          explanation: Snowdown overflowed noahiv with snow.
          replace_wNAN: True
          replace_w0: False
#        - start: '4/8/19 0330'
#          end: '4/9/19 1630'
#          flag: U
#          explanation: Tank overflow. No precip recorded.
#          replace_wNAN: True
#          use_orig_val: False
PRI_03:
    # precision in mm
    precision: 0.25
    auto_flag:
        round_precip_to_min_increment:
          scrape_remainder_window: 0
        flag_tank_overflow:
            tank_max: 434
        # perform multipart flagging routine to catch drains and recharge
        drain_recharge_flagging_wrap:
            # calculated from 5 years (WY 2018-2022)
            # 75percentile of 15 min precip where >0 and drain=True
            drain_threshold: -8
            event_window: 3
            max_recharge: 2.67
            runavg_wind: 4
            runavg_nstd: 2
        flag_empty_tank:
          pause_nsteps: 2
        flag_x_clogs:
          CEN_01:
            # perform multiple steps to find clogs and flag values during them
            clog_pair_flagging_wrap:
              # find clog event
              min_accum: 34
              # 7th percentile
              lowest_normal_ratio: -0.09
              rolling_window: 8D
              # 40% of the lowest normal ratio
              window_precision: 0.03
              # decide U or C flag
              precision_val: 0.1
              window: 1h
              n_std: 1.5
            PRI_01:
              # perform multiple steps to find clogs and flag values during them
              clog_pair_flagging_wrap:
                # find clog event
                min_accum: 45
                # 7th percentile
                lowest_normal_ratio: -80
                rolling_window: 14D
                # 40% of the lowest normal ratio
                window_precision: 0.14
                # decide U or C flag
                precision_val: 0.1
                window: 1h
                n_std: 1.5
        weight_x_clogs:
          CEN_01: 7
          #UPL_02: 20
PRI_01:
  # precision in mm
  precision: 0.254
  auto_flag:
    flag_over_intensity:
      max_per_hour: 25
  manual_flags:
    - start: '4/29/19 1850'
      end: '4/29/19 1900'
      replace_wNAN: False
      replace_w0: True
      flag: 'E'
      event_code: MAINTE
      explanation: Accidental tips while killing wasp nest.
    - start: '10/1/20 0000'
      end: '10/13/20 0000'
      replace_wNAN: False
      replace_w0: False
      flag: 'U'
      event_code: CLOG
      explanation: Clog in tipping bucket funnel
H15_02:
  precision: 0.2
  auto_flag:
    # dictionary of quality assurance rules and their keyword argurments.
    # if method does not have kwargs, make an empty dictionary by placing a ":" after the method name.
    drain_recharge_flagging_wrap:
      # calculated from 5 years (WY 2018-2022)
      # 75percentile of 15 min precip where >0 and drain=True
      drain_threshold: -25
      event_window: 6
      max_recharge: 2.67
      runavg_wind: 4
      runavg_nstd: 2
    prorate_precip_during_tank_flux:
      max_prorate: 15
    round_precip_to_min_increment:
      scrape_remainder_window: 6
    remove_GCE_F_flags:
    remove_GCE_E_flags:
    flag_propagate_EM_from_tank:
    flag_double_precip:
      min_ppt_nprecision: 2
      flat_tank_nprecision: 1
      flat_ppt_nprecision: 1
    flag_repeating_val_precip:
      min_ppt_nprecision: 0
      flat_tank_nprecision: 1
      flat_ppt_nprecision: 0
      min_number_repeating: 5
    flag_empty_tank:
      pause_nsteps: 3
    flag_tank_overflow:
      tank_max: 762
    flag_precip_during_tank_flux:
      fluxprecision: 4
      accprecision: 2
      zero_precision: 3
      # number of timesteps, must be odd
      fluxwindow: 289
      accwindow: '1D'
      extend_ahead: 4
  manual_flags:
    # each item on this list (-) is an event dictionary with specific information
    - start: '6/6/19 1550'
      end: '6/6/19 1555'
      replace_wNAN: False
      replace_w0: True
      flag: 'E'
      event_code: MAINTE
      explanation: Anti-freeze added to tank manually. Reset to 0
    - start: '3/8/23 1130'
      end: '3/8/23 1140'
      replace_wNAN: False
      replace_w0: True
      flag: 'E'
      event_code: MAINTE
      explanation: Anti-freeze added to tank manually. Reset to 0
    - start: '1/31/24 1300'
      end: '2/28/24 1530'
      replace_wNAN: True
      replace_w0: False
      flag: 'M'
      event_code: CLOG
      explanation: Drain left open
    - start: '11/18/19 1545'
      end: '11/18/19 1555'
      replace_wNAN: False
      replace_w0: True
      flag: 'E'
      event_code: MAINTE
      explanation: Anti-freeze added to tank manually. Reset to 0
GSM_02:
  precision: 0.2
  auto_flag:
    # dictionary of quality assurance rules and their keyword argurments.
    # if method does not have kwargs, make an empty dictionary by placing a ":" after the method name.
    prorate_precip_during_tank_flux:
      max_prorate: 15
    round_precip_to_min_increment:
      scrape_remainder_window: 6
    remove_GCE_F_flags:
    remove_GCE_E_flags:
    flag_propagate_EM_from_tank:
    flag_double_precip:
      min_ppt_nprecision: 2
      flat_tank_nprecision: 1
      flat_ppt_nprecision: 1
    flag_repeating_val_precip:
      min_ppt_nprecision: 0
      flat_tank_nprecision: 1
      flat_ppt_nprecision: 0
      min_number_repeating: 5
    flag_empty_tank:
      pause_nsteps: 3
    flag_tank_overflow:
      tank_max: 762
    flag_precip_during_tank_flux:
      fluxprecision: 4
      accprecision: 3
      zero_precision: 2
      # number of timesteps, must be odd
      fluxwindow: 289
      accwindow: '1D'
      extend_ahead: 4