How much water does California have left?

The California Data Exchange Site has lots data and some nice graphs that show how much water is in the California reservoirs, however there was one particular view that I was interested in that I never found.  So, I went ahead and made the graph myself using the historical data downloaded from the CDEC query tools.

how much water does california have left reservoir levels

 

This is a stacked bar graph that shows the amount of water in each of the 12 major California reservoirs.  For a reference, I plotted the historical average data as well (it is repeated), and the total reservoir capacity as well. The reservoir data is daily data taken from Jan. 1, 2009 to Jan 1, 2015, and the historical average data is monthly.

What does this graph tell us? For one thing, it is obvious that as of Jan. 1, 2015, we are well below our historical average, and this dry spell in January is not helping.  You can also see how the major rainstorms in mid-December helped us quite a bit, pulling us out of the lowpoint on the graph and actually made it so that the total amount of water in our reservoirs as of Jan 1, 2015 is close to the level in Jan. 2009.

I am working on something to automatically update this graph on a daily basis, so stay tuned. This data was downloaded and processed using Python/Numpy, and then graphed in Matlab.

13 thoughts on “How much water does California have left?”

  1. Perry – very cool charts. I actually went to the site to try to download a CSV of the latest numbers statewide for every station and couldn’t figure out how to get a CSV / Table or JSON output without inputting every single station ID code. Do you know the best way to get the whole state data out in one table with each station listed as a row? Thanks!

    1. Unfortunately, there is no way to get all of it at once. I wrote a python script to pull all the files separately. This is the format of the links to the get the data.

      Monthly historical data
      Daily data from 2009 to 2014
      For some reason there was no historical monthly data for EXC, so I had to manually pull that data from this image.

      You will need to substitute in the individual reservoir ID’s in the URLs to get the data.
      I used the python lxml package to parse the html to get the data out.

  2. Very cool! I was curious to see further back in time and for more Reservoirs. After reading the above comments I bit the bullet and did the same as you (curl, python,etc).

    Though my plot isn’t quite as nicely polished as yours, I thought I’d share in case anyone else is interested.

    Plot

    1. Thanks for sharing your plot! It is interesting to see how much variation there is over the years.

      Which other reservoirs did you include in your plot?

  3. I ordered them by the average amount of water over the time range. In that order (from largest to least) I have:

    ‘SHASTA DAM (USBR)’, ‘OROVILLE DAM’, ‘TRINITY LAKE’, ‘NEW MELONES RESERVOI’, ‘DON PEDRO RESERVOIR’, ‘BERRYESSA’, ‘SAN LUIS RESERVOIR’, ‘LAKE ALMANOR’, ‘NEW BULLARDS BAR’, ‘FOLSOM LAKE’, ‘NEW EXCHEQUER-LK MCC’, ‘PINE FLAT DAM’, ‘FRIANT DAM (MILLERTO’, ‘CAMANCHE RESERVOIR’, ‘HETCH HETCHY’, ‘CHERRY VALLEY DAM’, ‘WHISKEYTOWN DAM (USB’, ‘WARM SPRINGS (USACE)’, ‘UNION VALLEY’, ‘PARDEE’, ‘ISABELLA DAM’, ‘CLEAR LK – CACHE CRE’, ‘NEW HOGAN LAKE’, ‘INDIAN VALLEY’, ‘CASTAIC’, ‘HELL HOLE (PCWA)’, ‘SPICER MEADOWS STANI’, ‘CACHUMA LAKE’, ‘STAMPEDE TRUCKEE R’, ‘PERRIS’, ‘PYRAMID’, ‘FRENCH MEADOWS’, ‘BUCKS LAKE STORAGE’, ‘SALT SPRINGS’, ‘COYOTE (LAKE MENDOCI’, ‘ENGLEBRIGHT (USACE)’, ‘LITTLE GRASS VALLEY’, ‘BLACK BUTTE’, ‘TULLOCH’, ‘COURTRIGHT (PG&E)’, ‘WISHON’, ‘BUCHANAN DAM’, ‘BEARDSLEY LAKE’, ‘LAKE DAVIS (DWR)’, ‘TERMINUS DAM’, ‘LOON LAKE (SMUD)’, ‘BUTT VALLEY’, ‘THERMALITO AFTERBAY’, ‘SLY CREEK’, ‘DONNELLS’, ‘FRENCHMAN DAM’, ‘ICE HOUSE (SMUD)’, ‘HIDDEN DAM (HENSLEY)’, ‘LAKE PILLSBURY’, ‘KESWICK RESERVOIR’, ‘SUCCESS DAM’, ‘ANTELOPE LAKE’, ‘LEWISTON’, ‘CAPLES LAKE (PG&E)’, ‘INDEPENDENCE LAKE’, ‘SLAB CREEK’, ‘STRAWBERRY’, ‘MOUNTAIN MEADOWS’, ‘DIAMOND VALLEY’, ‘LAKE NATOMA (NIMBUS ‘, ‘RELIEF’, ‘DONNER LAKE (DWR)’, ‘LAKE VALLEY RESERVOI’, ‘SILVER LAKE RESERVOI’, ‘PROSSER CREEK RESERV’, ‘LYONS RESERVOIR’, ‘PRADO DAM’, ‘SPRING CREEK DEBRIS ‘, ‘GERLE LAKE’, ‘RUBICON LAKE’, ‘BUCK ISLAND LAKE’, ‘SEVEN OAKS DAM’, ‘GOODWIN DAM’, ‘FARMINGTON’, ‘BOCA RESERVOIR’, ‘MARIPOSA CREEK DAM’, ‘VAN ARSDALE’, ‘OWENS CREEK DAM’, ‘BEAR’

    Or perhaps more usefully for you in a bash shell:


    for res in ALM ANT BAR BCL BER BIL BLB BOC BRD BTV BUC BUL CAS CCH CHV CLA CLE CMN COY CPL CTG DAV DMV DNN DNP DON ENG EXC FMD FOL FRD FRM GDW GLL HHL HID HTH ICH INP INV ISB KES LEW LGV LON LPY LVY LYS MAR MIL MMW NAT NHG NML ORO OWN PAR PNF PRA PRR PRS PYM RBL RLF SCC SHA SIV SLB SLC SLS SNL SPC SPM STP SVO SWB TAB TRM TUL UNV VAR WHI WRS WSN
    do

    curl 'http://cdec.water.ca.gov/cgi-progs/queryCSV?station_id='${res}'&sensor_num=15&dur_code=D&start_date=2000-01-01&end_date=2015-01-01&data_wish=View+CSV+Data' > ${res}.tmp
    cat ${res}.tmp | tail +3 | sed 's/,/ /g' | grep -v 'm' > $res.txt
    rm $res.tmp
    done

  4. Perry

    Your graph is the best visualization I have seen of reservoir levels.
    I printed out a copy and gave it to the State Water Resources Control Board when they were considering their Emergency Urban Conservation regulations. The Board is going to consider stronger conservation measures in upcoming months.

  5. hi there this winter got us 1.5 billion gallons of snow worth of water at least it helped us out a littel bit

  6. Excellent visualization. I am yet another fan who would appreciate seeing it updated to the current situation. Very few news articles describe the big picture, both in terms of state-wide capacity and multi-year trends. The best reporting I have seen stated that without significant precipitation this winter, we have roughly a year of capacity stored. Your graph really brings it home. Thanks.

Leave a Reply to George Schnurle Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>