11/13/2014. Designing and Implementing a Stormwater Monitoring Program

Size: px
Start display at page:

Download "11/13/2014. Designing and Implementing a Stormwater Monitoring Program"

Transcription

1 Designing and Implementing a Stormwater Monitoring Program Washington State Municipal Stormwater Conference Roads and Highways Program November

2 Summary WSDOT s municipal permit (2009 and 2014) WSDOT s BMP design How we are monitoring Lessons learned Date, time and initials of last edit 2 2

3 Past and present monitoring sites 2009 permit map Facilities characterization Highways characterization BMPs 2014 permit map SR-518 BMP BMPs for highways BMPs for facilities Non-permit SR-518 bioswale 3 3

4 BMP MONITORING DESIGN Date, time and initials of last edit 4 4

5 BMP monitoring design (VFS type) 5 5

6 BMP Design (VFS type) 6 6

7 BMP monitoring design (bioswale type) SR-518 Bioswale study site 7 7

8 BMP monitoring design (bioswale type) SR-518 Bioswale study site Stilling well Sampling well Control point 8 8

9 BMP monitoring design (bioinfiltration swale type) Geiger MF swale study (Spokane) 9 9

10 BMP monitoring design (bioinfiltration swale type) Geiger MF swale study (Spokane) 10 10

11 MONITORING AND COLLECTING SAMPLES 11 11

12 Weather forecasting and tracking storms 12

13 HOW are we sampling? Many different criteria Antecedent duration Minimum forecast rainfall depths Seasonal variations T.A.P.E. Discharge proportional composite sampling Heavily automating our sampling procedures was a large key to our success 13 13

14 HOW are we sampling? How the datalogger sees it <Highway ProcessType="ScriptProcess" Script="// // script runs every 5 minutes // // increment minute counter by 5 // Tcounter\equalTcounter+5; // // // // determine event state based on Status and conditions // // Status \equal 0 : start-up // Status \equal 1 : waiting for antecedent period // Status \equal 2 : waiting for an event to start // Status \equal 3 : event started // - sample while waiting for event end // - event end means no rain\comma runoff is ignored // // // Status 3 : event started - sample while waiting for event end // a) ISCO trigger thresholds exceeded? // b) event ended? // IF(Status\equal\equal3) { // update event duration count and event rain count Evnt_dur\equalTcounter-Strt_evnt; Evnt_rain\equalRain- Strt_rain+Rain_trig; // // check pavement edge ISCO IF(HG_PE<\equal0) Vevnt_PE\equalVevnt_PE; ELSE Vevnt_PE\equalVevnt_PE+5*9.978*POW(HG_PE\comma0.3877); IF((Twater>\equalTwtr_min)&&(HG_PE>\equal(Stage_min/12))&&(Vevnt_P E>\equal(Thres_PE+Thres_PE*Smpl_PE))) { CMD(2M1!); Smpl_PE\equalSmpl_PE+1; } // // check 2 metre ISCO IF(HG_2m<\equal0) Vevnt_2m\equalVevnt_2m; ELSE Vevnt_2m\equalVevnt_2m+5*9.978*POW(HG_2m\comma0.3877); IF((Twater>\equalTwtr_min)&&(HG_2m>\equal(Stage_min/12))&&(Vevnt_2 m>\equal(thres_2m+thres_2m*smpl_2m))) { CMD(4M1!); Smpl_2m\equalSmpl_2m+1; } // // check 4 metre ISCO IF(HG_4m<\equal0) Vevnt_4m\equalVevnt_4m; ELSE Vevnt_4m\equalVevnt_4m+5*9.978*POW(HG_4m\comma0.3877); IF((Twater>\equalTwtr_min)&&(HG_4m>\equal(Stage_min/12))&&(Vevnt_4 m>\equal(thres_4m+thres_4m*smpl_4m))) { CMD(6M1!); Smpl_4m\equalSmpl_4m+1; } } // // check for event end // IF((Status\equal\equal3)&&(Rain6acc<\equalRain_ante)) { Strt_ante\equalTcounter-Tevnt_inter; Status\equal1; } // // // // Status 2 : waiting for event to start // a) if time & rain conditions met then set new status // and initialize sample counters // b) else keep waiting for event to start // IF((Status\equal\equal2)&&(Rain6acc>\equalRain_evnt)) { Status\equal3; Strt_evnt\equalTcounter; Strt_rain\equalRain; Rain_trig\equalRain6acc; Evnt_rain\equalRain6acc; Evnt_count\equalEvnt_count+1; Smpl_PE\equal0; Smpl_2m\equal0; Smpl_4m\equal0; Vevnt_PE\equal0; Vevnt_2m\equal0; Vevnt_4m\equal0; } // // // // Status 1 : waiting for antecedent period // a) if time & rain conditions met then set new status // b) restart antecedent if raining // c) keep waiting // IF((Status\equal\equal1)&&((Tcounter- Strt_ante)>\equalTevnt_ante)&&(((Season\equal\equal1)&&(Rain72acc<R ain_ante)) ((Season\equal\equal0)&&(Rain24acc<Rain_ante)))) { Status\equal2; Evnt_dur\equal0; Evnt_rain\equal0; Rain_trig\equal0; } // // // // Status 0 : start-up // so initialize counter & set new status // IF(Status\equal\equal0) { Strt_ante\equalTcounter; Status\equal1; }" Interval="300" Offset="0" /> (Math Is AWESOME!!!!!) How we see it Script monitors environmental characteristics systematically to determine station status Station is activated when conditions meet scripted requirements Algorithm calculates cumulative discharge every 5 minutes Cumulative discharge determines sample collected based on thresholds 14

15 Getting good data (quality assurance) Frequent maintenance of sites Using telemetry to generate redundant data Field QA/QC of staff and procedures Data verification and validation Communicating frequently with Ecology, our labs and each other is KEY! 15

16 StreamTrac Managing our data EQuIS SERF 16

17 Lessons learned - planning 1. Research>Plan>Coordinate>prepare for unexpected Site selection Database needs Parameters to sample/storm criteria 2. Budget and buy Enlist the help of experts and make it your own! Data management (What do you want to get from your data?) Choosing an equipment/database vendor Installing and construction of sites and infrastructure (Most equipment and most databases are not made for stormwater monitoring so customization time is necessary.) Implementation of monitoring Ask the Experts! 17

18 Lessons learned getting good data 3. Work WITH your labs! 4. Data Verification/Validation is MANDATORY! 5. Data analysis and reporting takes TIME! 6. Most equipment and databases are not designed for stormwater 18

19 WSDOT lessons learned Cars can inhibit your monitoring plans! Smokey point rest area SR-09 site Safety is more important than samples 19

20 Acknowledgements 20

21 A little about us 21 21