Catching Rain

How much roof area do I need to supply my house?

living
water
Author

Beehive Beach

Published

November 1, 2022

Collecting rainwater and storing it in a cistern for household use is not a novel concept. How much roof area and storage is needed? How should it be treated prior to consumption?

Rainwater was considered to be a generally clean source of water requiring minimal treatment for safe consumption (Thomas et al. 2014). A recent study (Cousins et al. 2022) reveals that PFAS contamination is now global, and untreated rainwater is no longer safe to drink anywhere on the earth. It is thus necessary to filter rainwater with a recommended process (US EPA 2018) for consumption.

But what about the impacts of PFAS on the natural environment, with no luxury of filtration before consumption?

The average annual precipitation in Anne Arundel county is 42.45 inches, with an average of 4.17±0.25 per month with a 95% CI 1. Note that there is a lot of variability. May of 2015 was about 1.5 inches, June 2015 was over 12.5 inches of rain.

Code
import os
import json
import itables
import pandas as pd
import plotly.io as pio
import plotly.express as px

pio.renderers.default = "notebook"

data = []
dpath = "data/"
for m in range(1,13):
    with open(os.path.join(dpath, f"precip_{m}.json"), "r") as inf:
        mdata = json.load(inf)
        for k in mdata["data"].keys():
            year = int(k[:4])
            if year < 2021:
                month = m
                v = float(mdata["data"][k]["value"])
                row = [year, month, v]
                data.append(row)
df = pd.DataFrame(data, columns=["Year", "Month", "Precip"])
aaco_precip = px.scatter(
    df.query("Year < 2021").groupby(["Year"]).sum().reset_index(), 
    x="Year", 
    y="Precip",
    trendline="ols",
    labels={
        "Year":"Year",
        "Precip":"Precip. (in)"
    },
    height=400
)
aaco_precip.show()
stats = px.get_trendline_results(aaco_precip)
monthly_means = df.query("Year < 2021").groupby("Month").mean().reset_index()
ojs_define(monthly_means=monthly_means.values.tolist())
monthly_std = df.query("Year < 2021").groupby("Month").std().reset_index()
monthly_precip = px.bar(
    monthly_means,
    x = "Month",
    y = "Precip",
    labels={
        "Month":"Month",
        "Precip":"Precip. (in)"
    },
    height=300,
    error_y=monthly_std["Precip"],
)
monthly_precip.update_traces(marker_color='rgb(158,202,225)', marker_line_color='rgb(8,48,107)',
                  marker_line_width=1.5, opacity=0.6)
monthly_precip.show()

The calculations are straight forward:

One inch is \(\frac{1}{12} ft\), so one inch of rain on one square foot of surface is:

\[ \frac{1}{12}ft \times 1ft \times 1ft = 0.08333ft^3 \]

Given \(1 gal = 231in^3\) and \(1ft^3 = 1728in^3\), so \(1ft^3 = 7.48049\:gal\) 2:

\[ 1in = 0.08333 \times 7.48049 = 0.62337\:gal \]

So one inch of rain on one square foot of surface yields 0.62337 gallons.

A household will use about 125 gallons per day with no deliberate conservation3. That equates to about 45,625 gallons per year. Assuming an average of 42.5” rain for the year in this part of Maryland, a catchment area of about 1800 sqft will be sufficient, more or less. Variability in input (rainfall) and output (use) is quite high, so storage buffering is necessary to get through the high use, low rainfall periods.

3 The range is is large, up to about 650 g/day, with median of about 125.

Code
from IPython.display import Markdown

def gallons(area_feet, amount_inches):
    return amount_inches * area_feet * 0.62337

areas = [1,10,100,200,400,800,1200,1800]
rainfall = [0.25, 1,2,4.2,8,10,42.5]

table = []
table.append('<table class="table table-sm table-striped">')
table.append('<thead>')
table.append(f'<tr><th style="border-bottom: none;"></th><th colspan="{len(rainfall)}" style="text-align:center;">Rainfall</th></tr>')
h = [f'<th style="text-align:right;">{v}&quot;</th>' for v in rainfall]
table.append(f'<tr><th>Area ft<sup>2</sup>{"".join(h)}</tr>')
table.append('</thead>')
table.append('<tbody>')
data = []
header = ["Area $ft^2$",] + [f'{v}"' for v in rainfall]
for area in areas:
    row = [f'<td style="text-align:right;">{area}</td>',]
    for amount in rainfall:
        row.append(f'<td style="text-align:right;">{gallons(area, amount):5.1f}</td>')
    table.append(f"<tr>{''.join(row)}</tr>")

table.append('</tbody>')
table.append('</table>')
Markdown("\n".join(table))
Rainfall
Area ft2 0.25" 1" 2" 4.2" 8" 10" 42.5"
1 0.2 0.6 1.2 2.6 5.0 6.2 26.5
10 1.6 6.2 12.5 26.2 49.9 62.3 264.9
100 15.6 62.3 124.7 261.8 498.7 623.4 2649.3
200 31.2 124.7 249.3 523.6 997.4 1246.7 5298.6
400 62.3 249.3 498.7 1047.3 1994.8 2493.5 10597.3
800 124.7 498.7 997.4 2094.5 3989.6 4987.0 21194.6
1200 187.0 748.0 1496.1 3141.8 5984.4 7480.4 31791.9
1800 280.5 1122.1 2244.1 4712.7 8976.5 11220.7 47687.8

Notes:

References

Cousins, Ian T., Jana H. Johansson, Matthew E. Salter, Bo Sha, and Martin Scheringer. 2022. “Outside the Safe Operating Space of a New Planetary Boundary for Per- and Polyfluoroalkyl Substances (PFAS).” Environmental Science & Technology 56 (16): 11172–79. https://doi.org/10.1021/acs.est.2c02765.
Keresztesi, Ágnes, Ion-Andrei Nita, Réka Boga, Marius-Victor Birsan, Zsolt Bodor, and Róbert Szép. 2020. “Spatial and Long-Term Analysis of Rainwater Chemistry over the Conterminous United States.” Environmental Research 188 (September): 109872. https://doi.org/10.1016/j.envres.2020.109872.
Khayan, Khayan, Adi Heru Husodo, Indwiani Astuti, Sudarmadji Sudarmadji, and Tjut Sugandawaty Djohan. 2019. “Rainwater as a Source of Drinking Water: Health Impacts and Rainwater Treatment.” Journal of Environmental and Public Health 2019 (July): e1760950. https://doi.org/10.1155/2019/1760950.
Kim, Taegyu, Dennis Lye, Maura Donohue, Jatin Mistry, Stacy Pfaller, Stephen Vesper, and Mary Kirisits. 2016. “Harvested Rainwater Quality Before and After Treatment and Distribution in Residential Systems (In Press).” Journal - American Water Works Association 108 (November). https://doi.org/10.5942/jawwa.2016.108.0182.
Kirs, Marek, Philip Moravcik, Pradip Gyawali, Kerry Hamilton, Veljo Kisand, Ian Gurr, Christopher Shuler, and Warish Ahmed. 2017. “Rainwater Harvesting in American Samoa: Current Practices and Indicative Health Risks.” Environmental Science and Pollution Research International 24 (May). https://doi.org/10.1007/s11356-017-8858-z.
“Rainwater Harvesting Regulations Map.” n.d. Energy.gov. Accessed May 1, 2022. https://www.energy.gov/eere/femp/rainwater-harvesting-regulations-map.
Thomas, Russell B., Mary Jo Kirisits, Dennis J. Lye, and Kerry A. Kinney. 2014. “Rainwater Harvesting in the United States: A Survey of Common System Practices.” Journal of Cleaner Production 75 (July): 166–73. https://doi.org/10.1016/j.jclepro.2014.03.073.
US EPA, ORD. 2018. “Reducing PFAS in Drinking Water with Treatment Technologies.” Overviews and {{Factsheets}}. https://www.epa.gov/sciencematters/reducing-pfas-drinking-water-treatment-technologies.