Skip to content

AI for Earth - AI enabled forecasting of regional-scale drinking water shortages in underserved communities

Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

AI enabled forecasting of regional-scale drinking water shortages in underserved communities

Rich Pauloo, PhD [richpauloo at gmail dot com], Larry Walker Associates, UC Davis
Darcy Bostic, MS [dbostic at pacinst dot org], Pacific Institute, UC Davis


This is the project repository for, made possible with support from the AI for Earth Innovation Program Grant provided by Global Wildlife Conservation and Microsoft Corporation. See press release.

This work further extends the domestic well failure modeling published in Pauloo, et al (2020), and Bostic, et al (2020).

If you've reached this site looking for the static site at, see this Github repository.

Project summary

About 1.5 million residents of California’s Central Valley rely on private domestic wells for drinking water, and many of these wells are vulnerable to chronic groundwater level decline, which may result from drought or unsustainable groundwater management. uses hydrologic modeling, statistical learning, and data science to predict how groundwater level changes may impact domestic wells. Open data and models are provided for local agencies to implement more refined analyses at a GSA or GSP scale. Decision makers and local agencies can use this information to prevent well failure and inform water resource management and planning.


Run scripts in code beginning in 02, 05, 06, 07 in order to generate objects for 00, which writes the static site.


/archive: outdated, unused material
/code: analysis and modeling scripts

  • 01_sampling_distribution_MT_GWL_difference.R: data cleaning, bootstrapping forecasted groundwater declines, generating plots p1-p4
  • 02_preprocess_data_for_dashbard: read in data saved in 01_... and preprocess specifically for jamstack
  • 03_compare_domestic_and_MT_well_depths.R: sanity check to ensure domestic well depths coincide with the ranges of groundwater level decline
  • 04_model.R: generate forecasts and assets used in the static pages
  • 05_postprocess.R: postprocess model results from 04_model.R into plotly popups for main page
  • 06_kriging.R: krige present day groundwater level and 2040 MT surface

/data: raw data used by the code in this project
/jamstack: code and files related to dashboard generation, which is hosted via Jekyll at

  • 00_main.html: main GSA landing pages
  • 01_scen.html: scenario specific pages

Processed data in /data:

  • dom_wells_ll.rds: domestic wells in critical-priority GSAs and within a 28 year retirement age* with selected data (wcr_num, lat, lon, pump_loc_low, pump_loc_up, TotalCompletedDepth). Derived from published data here (domcv6_mean_gw_with_beta_GF_CI.rds). year data was removed to reduce file size. CRS in LL.
  • gsa_ll.rds: critical priority GSA polygons (output from rmapshaper::ms_simplify() to reduce file size) containing monitoring well locations. Output from code/01_sampling_distribution_MT_GWL.R. CRS in LL.
  • gwl_2019_avg_ll.rds: 2019 average kriged groundwater level data.


Spring and Fall groundwater levels are taken from Pauloo (2020). Darcy implemented this code in data/4Interpolationinterpolate_cgwl_mts_CVcobs.R, which should be genralized into a kriging pipeline in code/06_kriging.R for future updates to the "present day" groundwater level and the "MT surface".


AI for Earth - AI enabled forecasting of regional-scale drinking water shortages in underserved communities






No releases published