From Compliant to Critical: Forecasting Emerging E. coli Risk in New Zealand’s South Island Rivers
Abstract
1. Introduction
2. Materials and Methods
2.1. Study Area and Monitoring Data
2.1.1. Cleaning and Quality Control
2.1.2. Catchment Land Cover
2.2. Compliance Labelling
2.3. Feature Construction
- Lagged levels: the annual median at the origin year and at each of the three preceding years of record (lags 0–3), capturing recent absolute conditions.
- Three-year trend: the change in annual median over the three preceding years of record, capturing the local direction of travel.
- Current breach status: a binary flag for whether the site is in breach at the origin year, which both anchors the model and defines the persistence baseline (Section 2.5).
2.4. Forecasting Model
2.5. Baselines and Temporal Validation
- Persistence: predict the future label to equal the current breach status. This is the primary benchmark to beat, and—by construction—it cannot flag any site that changes status.
- Trend projection: linearly extrapolate the current indicator value by its recent per-year slope and compare the projection to the threshold.
- Majority class: predict no breach for all site-years.
2.6. Calibration and Feature Attribution
2.7. Dissolved Reactive Phosphorus as an Action-Planning Indicator
3. Results
3.1. Forecast Skill Relative to Baselines
3.2. Operating Threshold and Decision Analysis
3.3. Early Warning of Emerging Breaches
3.4. Calibration and Score Reporting
3.5. Forecast Drivers and Within-Catchment Performance
3.6. Contribution of the Multi-Indicator Feature Set
3.7. Transferability Across Regions
3.8. Forward Forecast, 2025–2027
3.9. Dissolved Reactive Phosphorus as an Action-Planning Signal
4. Discussion
4.1. Relationship to Prior Water-Quality Forecasting
4.2. Why a Modest Margin over Persistence Matters
4.3. Land-Use Signatures and Forecast Drivers
4.4. Implications for Freshwater Management
4.5. Limitations
4.6. Future Directions
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Abbreviations
| AUC | Area Under the (ROC) Curve |
| DRP | Dissolved Reactive Phosphorus |
| LAWA | Land, Air, Water Aotearoa |
| LightGBM | Light Gradient-Boosting Machine |
| NEMS | National Environmental Monitoring Standards |
| NPS-FM | National Policy Statement for Freshwater Management |
| REC | River Environment Classification |
| ROC | Receiver Operating Characteristic |
| SHAP | SHapley Additive exPlanations |
Appendix A. Monitored Indicators and Units
| Indicator | Abbreviation | Unit a |
|---|---|---|
| Escherichia coli | E. coli | cfu/100 mL |
| Nitrate nitrogen | NO3-N | mg/L |
| Ammoniacal nitrogen | NH4-N | mg/L |
| Total oxidised nitrogen | TON | mg/L |
| Dissolved inorganic nitrogen | DIN | mg/L |
| Total nitrogen | TN | mg/L |
| Dissolved reactive phosphorus | DRP | mg/L |
| Total phosphorus | TP | mg/L |
| Turbidity | — | NTU/FNU b |
| Water clarity (black disc) | — | m |
| pH | — | pH units |
| Indicator | Site-Years | Sites | Min | Median | IQR | Max |
|---|---|---|---|---|---|---|
| Total nitrogen | 4796 | 440 | 0.012 | 0.365 | 0.145–1.075 | 14.45 |
| E. coli | 4688 | 435 | 1 | 74 | 25–210 | 7600 |
| Ammoniacal nitrogen | 4655 | 440 | 0.001 | 0.010 | 0.005–0.010 | 0.940 |
| Dissolved reactive phosphorus | 4609 | 440 | 0.001 | 0.006 | 0.003–0.013 | 0.400 |
| pH | 4565 | 436 | 4.30 | 7.53 | 7.28–7.77 | 8.92 |
| Turbidity | 4522 | 435 | 0.09 | 1.44 | 0.65–3.19 | 410.0 |
| Total oxidised nitrogen | 4381 | 413 | 0.001 | 0.168 | 0.034–0.670 | 13.80 |
| Total phosphorus | 4334 | 440 | 0.001 | 0.012 | 0.006–0.028 | 0.545 |
| Dissolved inorganic nitrogen | 4074 | 362 | 0.006 | 0.243 | 0.050–0.874 | 13.80 |
| Clarity (black disc) | 3823 | 376 | 0.022 | 2.30 | 1.19–4.26 | 22.81 |
| Nitrate nitrogen | 2419 | 303 | 0.001 | 0.147 | 0.031–0.467 | 7.15 |
Appendix B. Supplementary Validation Analyses
Appendix B.1. Temporal Leakage Verification
Appendix B.2. Precision–Recall Performance
| Horizon | ROC-AUC | PR-AUC | Bal. Acc. (Model) | Bal. Acc. (Persistence) |
|---|---|---|---|---|
| 1-year | 0.844 | 0.792 | 0.747 | 0.734 |
| 2-year | 0.847 | 0.773 | 0.765 | 0.731 |
| 3-year | 0.836 | 0.767 | 0.755 | 0.719 |
Appendix B.3. Quality-Code Sensitivity
Appendix B.4. Alternative Labelling Windows
| Protocol | Min. n | Units | Sites | Breach | Native | Pasture | Urban |
|---|---|---|---|---|---|---|---|
| Annual (adopted) | 9 | 4688 | 435 | 0.392 | 0.129 | 0.561 | 0.759 |
| 5-yr blocks | 30 | 955 | 411 | 0.428 | 0.091 | 0.639 | 0.900 |
| 5-yr blocks | 60 | 263 | 211 | 0.452 | 0.108 | 0.697 | 1.000 |
| 5-yr rolling | 30 | 4395 | 431 | 0.426 | 0.088 | 0.633 | 0.860 |
| 5-yr rolling | 60 | 950 | 237 | 0.421 | 0.128 | 0.650 | 0.909 |
Appendix C. Per-Site E. coli Breach Summary
| Site | n | Breach (%) |
|---|---|---|
| Native vegetation ( sites) | ||
| 12 Mile Creek at Glenorchy Queenstown Road | 6 | 0.0 |
| 25 Mile Creek Glenorchy Queenstown Road | 6 | 0.0 |
| Ahuriri River Ben Omar | 11 | 9.1 |
| Aorere at Le Comte | 14 | 28.6 |
| Aparima River at Dunrobin | 14 | 0.0 |
| Arnold Rv @ Blairs Rd No. 2 Br | 10 | 10.0 |
| Arnold Rv @ Kotuku Fishing Access | 12 | 0.0 |
| Arrow at Morven Ferry Road | 6 | 0.0 |
| Ashburton River South Branch at Buicks Bridge | 12 | 0.0 |
| Ashburton River South Branch at Quarry Road | 12 | 0.0 |
| Ashley River u/s Ashley Gorge Rd | 12 | 0.0 |
| Awatere River at Awapiri | 18 | 11.1 |
| Awatere River at River Mouth | 18 | 11.1 |
| Baker Ck @ Baker Ck Rd | 6 | 0.0 |
| Bannock Burn at Lake Dunstan | 10 | 0.0 |
| Black Birch Stream at Water Intake | 16 | 0.0 |
| Blackcleugh Burn at Rongahere Road | 6 | 0.0 |
| Branch River at Weir Intake | 15 | 0.0 |
| Brook at Burn Pl | 10 | 20.0 |
| Brook at Manuka St | 10 | 20.0 |
| Brook at Motor Camp | 10 | 0.0 |
| Buller at Longford | 20 | 0.0 |
| Buller at Te Kuha | 20 | 0.0 |
| Bush Stream Rangitata Gorge Road, at bridge | 12 | 0.0 |
| Cardrona River at Mt Barker | 12 | 25.0 |
| Cascade Stream at Pourakino Valley Road | 13 | 30.8 |
| Clutha at Luggate Br. | 19 | 0.0 |
| Clutha at Millers Flat | 17 | 0.0 |
| Conway River u/s Inland Road | 12 | 33.3 |
| Conway River u/s SH1 | 12 | 25.0 |
| Craig Burn at SH6 | 5 | 0.0 |
| Cromel Stream at Selbie Road | 13 | 0.0 |
| Crooked Rv @ Rotomanu-Bell Hill Rd | 9 | 0.0 |
| Crooked Rv @ Te Kinga | 11 | 36.4 |
| Cullen Creek at Road Bridge | 15 | 66.7 |
| Dart River at The Hillocks | 12 | 0.0 |
| Deep Stream Access Road near Tui House | 12 | 8.3 |
| Dencker at Kokorua Rd | 10 | 0.0 |
| Dipton Stream at South Hillend-Dipton Road | 4 | 50.0 |
| Dundas Creek at Mill Flat | 5 | 0.0 |
| Dunsdale Stream at Dunsdale Reserve | 13 | 7.7 |
| Dunstan Creek at Beattie Road | 14 | 0.0 |
| Ford Ck @ Blackball-Taylorville Rd | 8 | 12.5 |
| Forks Stream u/s SH8 | 12 | 0.0 |
| Fraser at Old Man Range | 6 | 0.0 |
| Graham River at Road Bridge | 17 | 41.2 |
| Graham at SH6 | 10 | 10.0 |
| Greenstone at Greenstone Station Road | 5 | 0.0 |
| Grey River at Awatere Valley Road | 3 | 33.3 |
| Grey at Dobson | 20 | 30.0 |
| Grey at Waipuna | 20 | 0.0 |
| Haast at Roaring Billy | 20 | 0.0 |
| Hae Hae Te Moana River South Branch Sheep Dip Road | 12 | 16.7 |
| Hapuku River at SH1 | 12 | 0.0 |
| Hawea River at Camphill Bridge | 12 | 0.0 |
| Hohonu Rv @ Mitchells-Kumara Rd Br | 9 | 0.0 |
| Hohonu Rv @ Mouth | 9 | 44.4 |
| Hunters at Kikiwa | 8 | 0.0 |
| Hurunui River u/s Mandamus confl. | 3 | 0.0 |
| Hurunui at Mandamus | 19 | 0.0 |
| Invincible Creek at Rees Valley Road | 5 | 0.0 |
| Irishman Creek u/s SH8 | 12 | 16.7 |
| Kahutara River at Dairy Farm Rd | 12 | 25.0 |
| Kaituna at Sollys Road | 8 | 37.5 |
| Kaituna at Track start | 8 | 0.0 |
| Kawarau at Chard Rd | 17 | 0.0 |
| Kenepuru Stream at Kenepuru Head | 15 | 40.0 |
| Kowhai River 100 m u/s SH1 | 12 | 25.0 |
| Lambies Stream at Ashburton Gorge Road | 11 | 0.0 |
| Leaping Burn at Wanaka Mt Aspiring Road | 6 | 33.3 |
| Lee at Meads Br | 8 | 12.5 |
| Lill Burn at Lill Burn-Monowai Road | 4 | 100.0 |
| Lindis River at Ardgour Road | 5 | 0.0 |
| Lindis River at Lindis Peak | 12 | 16.7 |
| Luggate Creek at SH6 Bridge | 12 | 33.3 |
| Maclennan at Kahuiku School Road | 6 | 0.0 |
| Maitai North Branch above Dam | 7 | 0.0 |
| Maitai South Branch at Intake | 10 | 0.0 |
| Maitai at Avon Tce | 10 | 0.0 |
| Maitai at Groom Rd | 10 | 0.0 |
| Mandamus River at Tekoa Road | 12 | 0.0 |
| Mangles at 5 km u-s Buller | 8 | 25.0 |
| Manuherikia downstream of Fork | 7 | 0.0 |
| Marahau at 250 m u-s Sandy Bay Rd | 4 | 0.0 |
| Mary Burn d/s SH8 | 13 | 23.1 |
| Matakitaki at SH6 Murchison | 8 | 0.0 |
| Matukituki River at West Wanaka | 12 | 16.7 |
| Mawheraiti River at Atarau Br | 7 | 28.6 |
| Mawheraiti Rv @ SH7 Maimai | 8 | 37.5 |
| Medway River Upstream of Awatere River | 3 | 0.0 |
| Meggat Burn at Berwick Road | 6 | 66.7 |
| Mokotua Stream at Awarua | 13 | 0.0 |
| Motatapu at Wanaka Mt Aspiring Road | 6 | 0.0 |
| Motueka at Gorge | 20 | 0.0 |
| Motueka at SH60 Bridge | 11 | 9.1 |
| Motueka at Woodstock | 20 | 15.0 |
| Motupiko at 250 m u-s Motueka Rv | 8 | 12.5 |
| Nelson Ck @ Swimming Hole Reserve | 18 | 5.6 |
| Nevis at Wentworth Station | 8 | 0.0 |
| Ngakuta Bay Stream at Queen Charlotte Dr | 3 | 33.3 |
| Ohau Canal below power station | 11 | 0.0 |
| Okutua Ck @ New Rd Br-Okarito Forest | 2 | 0.0 |
| Omarama Stream SH8 | 12 | 16.7 |
| Opouri River at Tunakino Valley Road | 16 | 18.8 |
| Orari River Gorge | 12 | 0.0 |
| Orari River Parke Rd | 12 | 16.7 |
| Oreti River at Three Kings | 14 | 7.1 |
| Orowaiti Rv @ Keoghans Rd | 7 | 0.0 |
| Otematata River SH83 | 12 | 0.0 |
| Otiake River Mt Bell Station | 9 | 11.1 |
| Pigeon Ck @ NIWA stage | 4 | 100.0 |
| Poerua Rv @ Rail Br | 2 | 0.0 |
| Poorman at Barnicoat Walkway | 10 | 10.0 |
| Quartz Creek at Maungawera Valley Road | 6 | 16.7 |
| Quartz Reef Creek at SH8 | 6 | 16.7 |
| Rai River at Rai Falls | 18 | 27.8 |
| Rakaia River Gorge 50 m d/s recorder | 12 | 0.0 |
| Rangitata River SH72 | 12 | 8.3 |
| Rees at Glenorchy Paradise Road Bridge | 6 | 16.7 |
| Riwaka at Hickmotts | 8 | 12.5 |
| Roaring Meg at SH6 | 6 | 0.0 |
| Ronga River at Upstream Rai River | 16 | 43.8 |
| Sawyers Ck @ Bush Fringe | 8 | 25.0 |
| Sawyers Ck @ Dixon Pk | 8 | 100.0 |
| Seven Mile Ck @ 300 m d/s Raleigh Ck | 1 | 0.0 |
| Seven Mile Ck @ SH6 Rapahoe | 17 | 47.1 |
| Shotover at Bowens Peak | 19 | 5.3 |
| Silverstream at Three Mile Hill Road | 6 | 16.7 |
| Spray River Upstream of Waihopai River | 3 | 0.0 |
| Taieri River at Linnburn Runs Road | 14 | 0.0 |
| Taieri River at Stonehenge | 15 | 13.3 |
| Takaka at Kotinga | 12 | 0.0 |
| Te Hoiere/Pelorus River at Fishermans Flat | 17 | 11.8 |
| Te Hoiere/Pelorus River at Kahikatea Flat | 18 | 0.0 |
| Tekapo River at Steel Bridge | 13 | 0.0 |
| Teviot at Bridge Huts Road | 6 | 33.3 |
| The Neck Creek at Meads Road | 6 | 0.0 |
| Timaru at Peter Muir Bridge | 6 | 0.0 |
| Timms Creek at Northbank Road | 3 | 0.0 |
| Twizel River d/s Black Stilt Reserve | 13 | 7.7 |
| Upper Cardrona at Tuohys Gully Road | 6 | 0.0 |
| Upper Shag at SH85 Culvert | 6 | 0.0 |
| Upper Waiau River at Queens Reach | 7 | 0.0 |
| Upukerora River at Te Anau Milford Road | 14 | 14.3 |
| Waiau River 2.3 km us Mararoa Weir | 5 | 0.0 |
| Waiau River 2.8 km ds Pearl Harbour | 5 | 0.0 |
| Waiau River 600 m us Clifden Highway | 1 | 100.0 |
| Waiau River at Sunnyside | 14 | 28.6 |
| Waiau River at Tuatapere | 14 | 71.4 |
| Waiau River ds Pearl Harbour | 5 | 0.0 |
| Waiau River u/s Leslie Hills Road | 12 | 16.7 |
| Waiau River us Excelsior Creek | 5 | 0.0 |
| Waiau at Tuatapere | 19 | 57.9 |
| Waihi River Waimarie | 12 | 16.7 |
| Waihopai River Upstream of Benhopai Dam | 3 | 0.0 |
| Waihopai River Upstream of Spray River | 3 | 0.0 |
| Waihopai River at Craiglochart | 17 | 5.9 |
| Waikaia River at Waikaia | 13 | 53.8 |
| Waikaia River u/s Piano Flat | 13 | 15.4 |
| Waikopikopiko Stream at Haldane Curio Bay | 13 | 30.8 |
| Waimakariri River Gorge-Sth bank | 4 | 0.0 |
| Waimakariri River Reids Reserve | 3 | 66.7 |
| Waimea at SH60 Appleby | 12 | 0.0 |
| Waipori River at Waipori Falls Reserve | 11 | 0.0 |
| Wairau River at Argyle Canal Road | 3 | 0.0 |
| Wairau River at Tuamarina | 20 | 5.0 |
| Wairau at Dip Flat | 20 | 0.0 |
| Wairoa at SH6 | 8 | 0.0 |
| Waitohi River at State Highway One | 17 | 17.6 |
| Wakamarina River at SH6 | 18 | 0.0 |
| Wakapuaka at Duckpond Rd | 10 | 10.0 |
| Wangapeka at 5 km u-s Dart | 8 | 0.0 |
| Exotic forest ( sites) | ||
| Akatore Creek at Creek Road | 6 | 33.3 |
| Collins at SH6 | 10 | 10.0 |
| Lud at 4.7 km | 10 | 40.0 |
| Lud at SH6 | 10 | 40.0 |
| Mimihau Stream Tributary at Venlaw Forest | 13 | 7.7 |
| Ohinemahuta River at Northbank Road | 18 | 22.2 |
| Sharland at Maitai Confluence | 10 | 0.0 |
| Teal at 1.6 km | 9 | 33.3 |
| Tuamarina River at State Highway One | 18 | 22.2 |
| Wakapuaka at Hira | 10 | 50.0 |
| Wakapuaka at Maori Pa Rd | 10 | 50.0 |
| Whangamoa at Hippolite Rd | 10 | 10.0 |
| Whangamoa at Kokorua Bridge | 10 | 20.0 |
| Whare Creek at Whare Flat Road | 6 | 0.0 |
| Pasture ( sites) | ||
| Aparima River at Thornbury | 14 | 71.4 |
| Are Are Creek at Kaituna Tuamarina Track | 15 | 66.7 |
| Ashburton River North Branch at SH72 | 12 | 0.0 |
| Ashley River 50 m u/s SH1 | 12 | 0.0 |
| Avon River at Summerlands Rd Bridge | 3 | 33.3 |
| Awamoko Stream at SH83 | 11 | 63.6 |
| Aylmers Valley Stream opposite Aubrey St | 12 | 58.3 |
| Baker Ck @ Oparara Rd | 7 | 85.7 |
| Benger Burn at Booths | 7 | 71.4 |
| Blackwater Ck @ Farm 846 | 6 | 100.0 |
| Blue Duck Creek Above SH1 | 11 | 54.5 |
| Bog Burn d/s Hundred Line Road | 13 | 100.0 |
| Boggy Creek u/s Lake Road | 5 | 100.0 |
| Borck at 400 m d-s Queen St | 8 | 87.5 |
| Boundary Drain Trigpole Road | 12 | 83.3 |
| Bradshaws Ck @ Bradshaw Rd | 7 | 100.0 |
| Bradshaws Ck @ Martins Rd | 7 | 100.0 |
| Buchanans Creek upstream confluence Waihao River | 12 | 8.3 |
| Buckler Burn at Glenorchy Queenstown Road | 6 | 0.0 |
| Burkes Ck @ SH69 | 8 | 75.0 |
| Cam River u/s Bramleys Road | 12 | 100.0 |
| Carran Creek at Waituna Lagoon Road | 13 | 84.6 |
| Catlins River at Houipapa | 14 | 35.7 |
| Cattle Creek Morland Settlement Road | 12 | 16.7 |
| Clarence River above river mouth | 11 | 0.0 |
| Clutha at Balclutha | 19 | 31.6 |
| Crookston Burn at Kelso Road | 12 | 100.0 |
| Cust River u/s Skewbridge Road | 12 | 75.0 |
| Deadman Stream Hakataramea Valley Road | 11 | 90.9 |
| Deep Ck @ Arnold Vly Rd Br | 8 | 75.0 |
| Deep Stream at SH87 | 11 | 0.0 |
| Doctors Creek Upstream Taylor | 15 | 66.7 |
| Doyleston Drain at Drain Rd recorder | 5 | 100.0 |
| Duck Ck @ Kokatahi-Kowhitirangi Rd Br | 8 | 50.0 |
| Duncan Stream at Outlet | 16 | 75.0 |
| Ellis Ck @ 50 m d/s Ferry Rd Br | 2 | 100.0 |
| Flaxbourne River at Quarry | 17 | 52.9 |
| French Farm Stream at recorder | 12 | 100.0 |
| Gentleman Smith Stream at Hakatere-Heron Road | 12 | 8.3 |
| Hakatakamea above MH Br. | 19 | 0.0 |
| Hakataramea River u/s SH82 bridge | 3 | 0.0 |
| Halswell River u/s McCartneys bridge | 17 | 100.0 |
| Hamilton Burn at Affleck Road | 4 | 50.0 |
| Harris Ck @ Mulvaney Rd | 8 | 100.0 |
| Harts Creek d/s Lower Lake Rd | 17 | 88.2 |
| Hawkins River u/s Deans Road | 12 | 33.3 |
| Hayes Creek at SH6 | 2 | 0.0 |
| Hedgehope Stream 20 m u/s Makarewa Confluence | 4 | 100.0 |
| Heriot Burn at Park Hill Road | 13 | 100.0 |
| Hills Creek at SH85 | 6 | 50.0 |
| Hillwood at Glen Rd | 10 | 100.0 |
| Hinds River Lower Beach Road | 13 | 46.2 |
| Home Creek 100 m us Waiau River | 5 | 40.0 |
| Hook River Beach Road | 12 | 50.0 |
| Hurunui River SH1 | 4 | 75.0 |
| Hurunui River above swing bridge | 3 | 66.7 |
| Irthing Stream at Ellis Road | 13 | 23.1 |
| Kaiapoi River u/s Harpers Road | 10 | 60.0 |
| Kaiapoi River u/s Island Rd | 12 | 75.0 |
| Kaituna River at Higgins Bridge | 18 | 38.9 |
| Kaituna Stream off Kaituna Valley Road | 17 | 94.1 |
| Kakanui River at Clifton Falls Bridge | 20 | 65.0 |
| Kakanui River at McCones | 14 | 7.1 |
| Kauru at Kauru Hill Rd 700 m Upstream | 14 | 35.7 |
| Kawarau River at Chards Rd | 7 | 0.0 |
| Kye Burn at SH85 Bridge | 13 | 7.7 |
| LII Stream u/s Pannetts Rd | 17 | 35.3 |
| Leader River u/s SH1 | 12 | 41.7 |
| Lee River u/s Brooklands Farm bridge | 12 | 41.7 |
| Living Springs Stream at Allendale | 12 | 100.0 |
| Longridge Stream at Sandstone | 12 | 91.7 |
| Lovells Creek at Station Road | 12 | 75.0 |
| Lyell Creek u/s SH1 | 12 | 100.0 |
| Maerewhenua River SH83 | 12 | 25.0 |
| Makarewa River at Counsell Road | 9 | 100.0 |
| Makarewa River at Lora Gorge Road | 13 | 92.3 |
| Makarewa River at Wallacetown | 13 | 100.0 |
| Makarora at Makarora | 6 | 33.3 |
| Manuherekia River at Blackstone Hill | 12 | 8.3 |
| Manuherikia River at Galloway | 21 | 19.0 |
| Manuherikia River at Ophir | 14 | 35.7 |
| Mararoa River at Weir Road | 14 | 35.7 |
| Marchburn River at Marchburn Station | 2 | 50.0 |
| Mason River d/s SH70 | 12 | 50.0 |
| Mataura River 200 m d/s Mataura Bridge | 13 | 100.0 |
| Mataura River at Gore | 13 | 100.0 |
| Mataura River at Mataura Island Bridge | 13 | 76.9 |
| Mataura River at Parawa | 13 | 15.4 |
| Mataura at Seaward Down | 19 | 100.0 |
| McKinnons Stream Wallaces Bridge | 12 | 75.0 |
| Mill Creek at Fish Trap. | 12 | 25.0 |
| Mill Creek at Ormonds | 16 | 43.8 |
| Moffat Creek at Moffat Road | 13 | 84.6 |
| Mokoreta River at Wyndham River Road | 15 | 80.0 |
| Molloy Ck @ Rail Line | 8 | 50.0 |
| Motupipi at 1.2 km u-s Abel Tasman Dr | 8 | 100.0 |
| Moutere at Riverside | 8 | 50.0 |
| Murchison Creek at 20 m u-s SH6 | 8 | 100.0 |
| Murray Ck @ Ford Rd S | 7 | 85.7 |
| Neimann at 600 m u-s Lansdowne Rd | 8 | 100.0 |
| Nenthorn at Mt Stoker Rd | 10 | 0.0 |
| Oamaru Creek at SH1 | 6 | 66.7 |
| Ohapi Creek upstream Orari River Confluence | 12 | 91.7 |
| Okana River u/s SH75 | 17 | 94.1 |
| Okarahia Stream u/s SH1 | 12 | 0.0 |
| Okuti River u/s Kinloch Road | 5 | 100.0 |
| Omaka River at Hawkesbury Road Bridge | 18 | 11.1 |
| Onekaka at Shambala Br | 8 | 50.0 |
| Opaoa River at Hammerichs Road | 18 | 16.7 |
| Opaoa River at Swamp Road | 18 | 5.6 |
| Opihi River-Grassy Banks | 4 | 25.0 |
| Opihi River at Rockwood | 4 | 75.0 |
| Opuha River Skipton Bridge | 4 | 0.0 |
| Orakipaoa Creek Milford Lagoon Rd | 12 | 91.7 |
| Orangipuku Rv @ Mouth | 9 | 44.4 |
| Orauea River at Orawia Pukemaori Road | 14 | 100.0 |
| Oreti River at Lumsden Bridge | 13 | 7.7 |
| Oreti River at Lumsden Cableway | 8 | 25.0 |
| Oreti River at Wallacetown | 13 | 38.5 |
| Orowaiti Rv @ Excelsior Rd | 11 | 81.8 |
| Orphanage at Saxton Rd East | 10 | 60.0 |
| Otamita Stream at Mandeville | 13 | 76.9 |
| Otapiri Stream at Otapiri Gorge | 13 | 92.3 |
| Otautau Stream at Otautau-Tuatapere Road | 14 | 100.0 |
| Otautau Stream at Waikouro | 14 | 100.0 |
| Otekaieke River Special School Road | 12 | 8.3 |
| Oteramika Stream at Seaward Downs | 13 | 100.0 |
| Otukaikino Creek u/s Dickeys Rd | 12 | 16.7 |
| Owaka at Katea Road | 11 | 45.5 |
| Ox Burn at Rees Valley Road | 5 | 0.0 |
| Page Stm @ Chasm Ck Walkway | 7 | 71.4 |
| Pahau River at recorder | 20 | 35.0 |
| Parakanoi Drain Lower Beach Road | 6 | 100.0 |
| Pareora River Pareora Huts | 12 | 33.3 |
| Pareora River SH1 | 12 | 16.7 |
| Penticotico Stream SH83 | 12 | 33.3 |
| Pleasant at Patterson Road Ford | 6 | 16.7 |
| Pomahaka River at Burkes Ford | 15 | 80.0 |
| Pomahaka River at Glenken | 17 | 64.7 |
| Poolburn at Cobb Cottage | 7 | 28.6 |
| Poorman at Seaview Rd | 10 | 30.0 |
| Powell at 40 m u-s Motupipi Rv | 10 | 100.0 |
| Precipice Creek at Glenorchy Paradise Road | 6 | 0.0 |
| Quailburn Quailburn Road | 12 | 33.3 |
| Rakaia River north bank d/s SH1 | 12 | 16.7 |
| Rangitata River Mouth | 12 | 50.0 |
| Raukapuka Creek Coach Road | 12 | 83.3 |
| Reservoir Creek at 20 m d-s Salisbury Rd | 8 | 62.5 |
| Rhodes Stream Parke Road | 13 | 46.2 |
| Riverlands Coop Drain at SH1 | 3 | 100.0 |
| Saltwater Creek SH1 Bridge | 2 | 0.0 |
| Saltwater Creek u/s Factory Rd | 12 | 25.0 |
| Sandstone Stream at Kingston Crossing Rd | 11 | 90.9 |
| Scott Creek at Routeburn Road | 6 | 0.0 |
| Selwyn River u/s Coes Ford bridge | 18 | 44.4 |
| Selwyn River u/s Whitecliffs Rd | 12 | 25.0 |
| Shag River at Craig Rd | 16 | 6.2 |
| Shag River at Goodwood Pump | 13 | 30.8 |
| Sherry at Blue Rock | 8 | 75.0 |
| Silverstream at Taieri Depot | 11 | 45.5 |
| Smithfield Creek Te Awa Rd | 12 | 83.3 |
| Spring Creek at Wairau River Floodgates | 18 | 16.7 |
| St Leonards Drain at recorder | 20 | 65.0 |
| Sutherlands Creek Ben Omar Road | 12 | 91.7 |
| Sutton Stream at SH87 | 7 | 14.3 |
| Tahakopa at Tahakopa | 7 | 42.9 |
| Taieri River at Allanton Bridge | 13 | 30.8 |
| Taieri River at Sutton | 15 | 26.7 |
| Taieri River at Tiroiti | 11 | 9.1 |
| Taieri River at Waipiata | 20 | 30.0 |
| Taieri at Outram | 20 | 25.0 |
| Takaka at Lindsays Br | 8 | 12.5 |
| Tasman Valley at u-s Jesters House | 8 | 100.0 |
| Taylor River at Rail Bridge | 18 | 33.3 |
| Te Ngawai River 200 m u/s Te Ngawai Road | 12 | 8.3 |
| Te Wharau Stream u/s Charteris Bay Road | 12 | 100.0 |
| Temuka River u/s Manse Bridge | 2 | 0.0 |
| Thomsons Creek at SH85 | 12 | 91.7 |
| Todds at SH6 | 10 | 100.0 |
| Tokanui River at Fortrose Otara Road | 13 | 84.6 |
| Tokomairiro River at West Branch Bridge | 15 | 80.0 |
| Tokomairiro at Blackbridge | 10 | 100.0 |
| Trotters Creek at Mathesons | 12 | 16.7 |
| Tuapeka at 700 m u/s bridge | 9 | 66.7 |
| Turner Creek at Kinloch Road | 6 | 0.0 |
| Tussock Creek at Cooper Road | 13 | 100.0 |
| Unnamed Ck @ Adamson Rd Whataroa | 2 | 100.0 |
| Upper Pomahaka at Aitchison Runs Road | 6 | 33.3 |
| Wai-iti at 400 m d-s Waimea West Rd | 8 | 12.5 |
| Waianakarua River at Browns | 13 | 15.4 |
| Waianakarua at South Branch SH1 | 6 | 33.3 |
| Waiareka Creek at Taipo Road | 14 | 57.1 |
| Waihao River Bradshaw Bridge | 12 | 16.7 |
| Waihopai River at Kennington | 5 | 100.0 |
| Waihopai River at SH63 Bridge | 18 | 16.7 |
| Waihopai River u/s Queens Drive | 13 | 100.0 |
| Waikaia River at Waipounamu Bridge Road | 13 | 46.2 |
| Waikakahi Stream Cock & Hen Road | 18 | 94.4 |
| Waikakahi Stream Old Ferry Road | 14 | 100.0 |
| Waikakahi Stream Te Maiharoa Road | 21 | 100.0 |
| Waikekewai Creek u/s Gullivers Rd | 12 | 41.7 |
| Waikiwi Stream at North Road | 13 | 100.0 |
| Waikouaiti at 200 m d/s DCC intake | 6 | 0.0 |
| Waima (Ure) River at SH1 Bridge | 16 | 6.2 |
| Waimatuku at Waimatuku Township Road | 4 | 100.0 |
| Waimea Stream at Mandeville | 13 | 84.6 |
| Wainui Stream u/s Wainui Main Rd | 12 | 91.7 |
| Waipahi River at Cairns Peak | 13 | 92.3 |
| Waipahi River at Waipahi | 15 | 66.7 |
| Waipara River at Laidmore Rd | 12 | 16.7 |
| Waipara River u/s Teviotdale Bridge | 12 | 25.0 |
| Wairaki River at Blackmount Road | 4 | 75.0 |
| Wairau River at Church Lane | 3 | 0.0 |
| Waireka/Waianiwaniwa River u/s Auchenflower Rd | 12 | 100.0 |
| Wairuna Stream at Millar Road | 14 | 100.0 |
| Waitahuna River at Tweeds Bridge | 13 | 84.6 |
| Waitaki River at SH1 | 3 | 0.0 |
| Waitati at Mt Cargill Road | 9 | 33.3 |
| Waitohi River 1.6 km u/s Hurunui Confluence | 20 | 30.0 |
| Waituna Creek at Marshall Road | 13 | 92.3 |
| Waiwera River at Maws Farm | 12 | 50.0 |
| Whitestone River d/s Manapouri-Hillside | 14 | 28.6 |
| Whitneys Creek Carrolls Rd | 11 | 100.0 |
| Willowburn Quailburn Road | 12 | 83.3 |
| Winton Stream at Lochiel | 13 | 100.0 |
| Zephyr Stream u/s Governors Bay Road | 3 | 33.3 |
| Urban ( sites) | ||
| Ashburton River at SH1 | 12 | 58.3 |
| Bullock Creek at Dunmore Street Footbridge | 6 | 66.7 |
| Clutha River/Mata-Au at Balclutha | 1 | 0.0 |
| Horn Creek at Queenstown Bay | 6 | 50.0 |
| Jenkins at Pascoe St | 10 | 70.0 |
| Kaikorai Stream at Brighton Road | 13 | 100.0 |
| Leith at Dundas Street Bridge | 13 | 100.0 |
| Lindsays Creek at North Rd Bridge | 12 | 100.0 |
| Murphys Creek at Nelson Street | 15 | 0.0 |
| Otepuni Creek at Nith Street | 13 | 100.0 |
| Taitarakihi Creek SH1 | 7 | 85.7 |
| Taitarakihi Creek Westcott Street | 4 | 100.0 |
| Taranaki Creek 20 m u/s Gressons Rd | 12 | 100.0 |
| Waitaki River Sth branch d/s SH82 | 3 | 0.0 |
| York at Waimea Rd | 10 | 100.0 |
| Unclassified ( sites) | ||
| Mararoa River at South Mavora Lake | 14 | 0.0 |
| Mararoa River at The Key | 14 | 35.7 |
| Mimihau Stream at Mimihau School Road | 2 | 100.0 |
| North Peak Stream at Waimea Valley Road | 12 | 91.7 |
| Opouriki Stream at Tweedie Road | 14 | 100.0 |
| Pourakino River at Traill Road | 14 | 78.6 |
| Waikaka Stream at Hamilton Park | 5 | 100.0 |
| Waikawa River at Biggar Road | 4 | 100.0 |
References
- UNESCO World Water Assessment Programme. The United Nations World Water Development Report 2024: Water for Prosperity and Peace; Technical Report; UNESCO: Paris, France, 2024. [Google Scholar]
- World Health Organization. Progress on Household Drinking Water, Sanitation and Hygiene 2000–2024: Special Focus on Inequalities; World Health Organization: Geneva, Switzerland, 2025. [Google Scholar]
- Deinet, S.; Marconi, V.; Freeman, R.; Puleston, H.; McRae, L. Living Planet Report 2024 Technical Supplement: Living Planet Index; Technical Report; WWF and Zoological Society of London: London, UK, 2024. [Google Scholar]
- Van Vliet, M.T.; Thorslund, J.; Strokal, M.; Hofstra, N.; Flörke, M.; Ehalt Macedo, H.; Nkwasa, A.; Tang, T.; Kaushal, S.S.; Kumar, R.; et al. Global river water quality under climate change and hydroclimatic extremes. Nat. Rev. Earth Environ. 2023, 4, 687–702. [Google Scholar] [CrossRef] [Scilit]
- Elmotawakkil, A.; Enneya, N.; Bhagat, S.K.; Ouda, M.M.; Kumar, V. Advanced machine learning models for robust prediction of water quality index and classification. J. Hydroinform. 2025, 27, 299–319. [Google Scholar] [CrossRef] [Scilit]
- Chen, B.; Cao, T.; Yao, L. Research on Short-Term Multi-Step Prediction of River Dissolved Oxygen based on STL-LSTM. Front. Comput. Intell. Syst. 2024, 9, 5–13. [Google Scholar] [CrossRef] [Scilit]
- Gao, Z.; Chen, J.; Wang, G.; Ren, S.; Fang, L.; Yinglan, A.; Wang, Q. A novel multivariate time series prediction of crucial water quality parameters with Long Short-Term Memory (LSTM) networks. J. Contam. Hydrol. 2023, 259, 104262. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- Lin, F.; Li, X.; Su, Y.; Yan, J. Water quality prediction model based on improved long short-term memory neural network and empirical mode decomposition. Discov. Artif. Intell. 2025, 5, 199. [Google Scholar] [CrossRef] [Scilit]
- Tiwari, P.; Rajanayaka, C.; Yang, J. Hybrid Modelling of Water Quality Dynamics: Data Assimilation with Machine Learning for Enhanced Predictions. In Differential Equations-Theory, Modeling, Data Assimilation and Algorithms; IntechOpen: London, UK, 2025. [Google Scholar]
- Nong, X.; He, Y.; Chen, L.; Wei, J. Machine learning-based evolution of water quality prediction model: An integrated robust framework for comparative application on periodic return and jitter data. Environ. Pollut. 2025, 369, 125834. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- Hu, Y.; Lyu, L.; Wang, N.; Zhou, X.; Fang, M. Application of hybrid improved temporal convolution network model in time series prediction of river water quality. Sci. Rep. 2023, 13, 11260. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- Whitehead, P.G.; Edmunds, P.; Bussi, G.; O’Donnell, S.; Futter, M.; Groom, S.; Rampley, C.; Szweda, C.; Johnson, D.; Triggs Hodge, A.; et al. Real-time water quality forecasting in rivers using satellite data and dynamic models: An online system for operational management, control and citizen science. Front. Environ. Sci. 2024, 12, 1331783. [Google Scholar] [CrossRef] [Scilit]
- McDowell, R.W.; Simpson, Z.P.; Ausseil, A.G.; Etheridge, Z.; Law, R. The implications of lag times between nitrate leaching losses and riverine loads for water quality policy. Sci. Rep. 2021, 11, 16450. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- Davies-Colley, R.; Wilcock, B. Water quality and chemistry in running waters. In Freshwaters of New Zealand; Caxton Press: Christchurch, New Zealand, 2004; pp. 11.1–11.17. [Google Scholar]
- Snelder, T.H.; Fraser, C.; Larned, S.T.; Monaghan, R.; De Malmanche, S.; Whitehead, A.L. Attribution of river water-quality trends to agricultural land use and climate variability in New Zealand. Mar. Freshw. Res. 2021, 73, 1–19. [Google Scholar] [CrossRef] [Scilit]
- Land, Air, Water Aotearoa (LAWA). River Water Quality. 2026. Available online: https://www.lawa.org.nz/explore-data/river-quality (accessed on 24 June 2026).
- Rogers, K.M.; Bradshaw, D.; Scadden, P.; Tschritter, C.; Sanderson, S.; Cooper, J.; Phillips, A.; Pannell, J.; Thern, J.; Abel, S.; et al. Nitrate contamination in New Zealand’s domestic drinking water with a focus on rural groundwater-sourced self-supplies. Sci. Total Environ. 2025, 1002, 180549. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- Barker, C. Understanding the Physiological Effects of Nitrate Pollution on Upland Bully (Gobiomorphus breviceps) in Canterbury, New Zealand. Master’s Thesis, School of Biological Sciences, University of Canterbury, Christchurch, New Zealand, 2023. [Google Scholar]
- McDowell, R.W.; Meenken, E.; Noble, A.; Kittridge, M.; Ausseil, O.; Keenan, L.; Snelder, T.; Doscher, C. High flows contributed a large part of annual contaminant yields in New Zealand’s rivers. Commun. Earth Environ. 2025, 6, 335. [Google Scholar] [CrossRef] [Scilit]
- Nelson City Council. National Guidance for Threatened Freshwater Species in Regional Planning Under the NPS-FM; Technical Report; Nelson City Council: Nelson, New Zealand, 2025; Envirolink (MBIE). [Google Scholar]
- Doehring, K. Collective Storytelling to Improve Freshwater Ecosystem Health through Catchment Community Knowledge Sharing; Technical Report; AgResearch: Christchurch, New Zealand, 2024. [Google Scholar]
- Julian, J.P.; De Beurs, K.M.; Owsley, B.; Davies-Colley, R.J.; Ausseil, A.G.E. River water quality changes in New Zealand over 26 years: Response to land use intensity. Hydrol. Earth Syst. Sci. 2017, 21, 1149–1171. [Google Scholar] [CrossRef] [Scilit]
- Ministry for the Environment. National Policy Statement for Freshwater Management 2020; Technical Report; Ministry for the Environment: Wellington, New Zealand, 2020; Amended October 2024.
- National Environmental Monitoring Standards. Water Quality Part 2: Sampling, Measuring, Processing and Archiving of Discrete River Water Quality Data; Technical Report; National Environmental Monitoring Standards (NEMS): New Zealand, 2019; Version 1.0.0, March 2019; Available online: https://www.nems.org.nz/documents/water-quality-part-2-rivers (accessed on 24 June 2026).
- Snelder, T.; Biggs, B.; Weatherhead, M. New Zealand River Environment Classification User Guide; Technical Report; Ministry for the Environment: Wellington, New Zealand, 2010; Updated June 2010.
- Land, Air, Water Aotearoa (LAWA). Land Cover and Why It Is Important. 2026. Available online: https://www.lawa.org.nz/learn/factsheets/land/land-cover-and-why-it-is-important (accessed on 24 June 2026).
- Ministry for the Environment. Update to REC Land Cover Categories and Review of Category Membership Rules; Technical Report CR 499; Ministry for the Environment: Wellington, New Zealand, 2022. Available online: https://environment.govt.nz/publications/update-to-rec-land-cover-categories-and-review-of-category-membership/ (accessed on 24 June 2026).
- Ke, G.; Meng, Q.; Finley, T.; Wang, T.; Chen, W.; Ma, W.; Ye, Q.; Liu, T.Y. LightGBM: A Highly Efficient Gradient Boosting Decision Tree. In Proceedings of the Advances in Neural Information Processing Systems, Long Beach, CA, USA, 4–9 December 2017; Volume 30, pp. 3146–3154. [Google Scholar]
- Lundberg, S.M.; Lee, S.I. A Unified Approach to Interpreting Model Predictions. In Proceedings of the Advances in Neural Information Processing Systems, Long Beach, CA, USA, 4–9 December 2017; Volume 30, pp. 4765–4774. [Google Scholar]
- De Lacerda, M.; Batista, G.; De Souza, A.; Aragão, D.; de Araújo, M.C.; Cunha, P. Predicting the presence of total coliforms and Escherichia coli in water supply reservoirs using machine learning models. J. Water Process Eng. 2025, 76, 108146. [Google Scholar] [CrossRef] [Scilit]
- Ibrahim, A.A.M.; Nkonyane, M.; Ngcobo, M.; Walingo, T.; Tapamo, J.R. Data-Driven Machine Learning Models for E. coli Concentration Prediction. Sustainability 2025, 18, 179. [Google Scholar] [CrossRef] [Scilit]
- Kuroki, S.; Ogata, R.; Sakamoto, M. Predicting the presence of E. coli in tap water using machine learning in Nepal. Water Environ. J. 2023, 37, 402–411. [Google Scholar] [CrossRef] [Scilit]















| Land-Cover Class | Sites (n) | Share (%) |
|---|---|---|
| Native vegetation | 181 | 36.4 |
| Exotic forest | 14 | 2.8 |
| Pasture | 264 | 53.1 |
| Urban | 16 | 3.2 |
| Unclassified | 22 | 4.4 |
| Total | 497 | 100 |
| Annual Statistic | Breach Condition |
|---|---|
| Median | >260 |
| 95th percentile | >1200 |
| Proportion of samples exceeding 540 | ≥30% |
| Proportion of samples exceeding 260 | ≥50% |
| Group | Definition | Count |
|---|---|---|
| Lagged levels | Annual median at lags 0–3 (years of record), per indicator | |
| Three-year trend | Median change over 3 preceding years of record, per indicator | |
| Current breach status | Binary E. coli breach flag at origin year | 1 |
| Static catchment | Land cover, region, latitude, longitude | 4 |
| Total | 60 |
| Metric | 1-Year | 2-Year | 3-Year |
|---|---|---|---|
| AUC (model) | 0.844 | 0.847 | 0.836 |
| Balanced accuracy (model, thr 0.25) | 0.747 | 0.765 | 0.755 |
| Balanced accuracy (persistence) | 0.734 | 0.731 | 0.719 |
| Precision @ 0.25 | 0.60 | 0.62 | 0.62 |
| Recall @ 0.25 | 0.78 | 0.78 | 0.77 |
| False alarm rate @ 0.25 | 0.29 | 0.25 | 0.25 |
| Thr. | Flagged | Recall | Prec. | False-Alert | NB Model | NB Flag-All |
|---|---|---|---|---|---|---|
| 0.15 | 1114 | 0.830 | 0.551 | 0.449 | 0.253 | 0.242 |
| 0.25 | 960 | 0.780 | 0.601 | 0.399 | 0.216 | 0.141 |
| 0.35 | 847 | 0.732 | 0.640 | 0.360 | 0.182 | 0.009 |
| 0.50 | 715 | 0.677 | 0.701 | 0.299 | 0.138 | |
| 0.65 | 626 | 0.631 | 0.746 | 0.254 | 0.083 | |
| 0.75 | 572 | 0.600 | 0.776 | 0.224 | 0.029 |
| Quantity | 1-Year | 2-Year | 3-Year |
|---|---|---|---|
| Currently compliant site-years tested | 1287 | 1161 | 1100 |
| of which crossed to breach | 235 | 205 | 211 |
| Emerging breaches caught (model) | 113 | 108 | 103 |
| Recall on emerging breaches (model) | 0.48 | 0.53 | 0.49 |
| Recall on emerging breaches (persistence) | 0.00 | 0.00 | 0.00 |
| Precision (model) | 0.37 | 0.40 | 0.39 |
| False alarms among stable sites | 195 | 164 | 163 |
| Transitions Recovered | 1-Year | 2-Year | 3-Year |
|---|---|---|---|
| Transitions available | 235 | 205 | 211 |
| Full model (thr 0.25) | 113 | 108 | 103 |
| Reduced model (thr 0.25) | 140 | 110 | 106 |
| Reduced, matched false positive rate | 122 | 90 | 98 |
| Reduced, matched flagged count | 119 | 100 | 100 |
| AUC advantage, full over reduced | 0.001 | 0.011 | 0.010 |
| Region | Test n | Breach Rate | AUC (Full) | AUC (Region Excluded) |
|---|---|---|---|---|
| Canterbury | 611 | 0.380 | 0.849 | 0.861 |
| Marlborough | 215 | 0.247 | 0.720 | 0.711 |
| Nelson | 156 | 0.301 | 0.786 | 0.823 |
| Otago | 559 | 0.306 | 0.853 | 0.854 |
| Southland | 165 | 0.552 | 0.844 | 0.814 |
| Tasman | 177 | 0.316 | 0.894 | 0.872 |
| West Coast | 196 | 0.459 | 0.874 | 0.873 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
Tiwari, P.; Goyal, T.; Kulasiri, D. From Compliant to Critical: Forecasting Emerging E. coli Risk in New Zealand’s South Island Rivers. Water 2026, 18, 2273. https://doi.org/10.3390/w18182273
Tiwari P, Goyal T, Kulasiri D. From Compliant to Critical: Forecasting Emerging E. coli Risk in New Zealand’s South Island Rivers. Water. 2026; 18(18):2273. https://doi.org/10.3390/w18182273
Chicago/Turabian StyleTiwari, Parul, Tanishqa Goyal, and Don Kulasiri. 2026. "From Compliant to Critical: Forecasting Emerging E. coli Risk in New Zealand’s South Island Rivers" Water 18, no. 18: 2273. https://doi.org/10.3390/w18182273
APA StyleTiwari, P., Goyal, T., & Kulasiri, D. (2026). From Compliant to Critical: Forecasting Emerging E. coli Risk in New Zealand’s South Island Rivers. Water, 18(18), 2273. https://doi.org/10.3390/w18182273

