Skip to content

Instantly share code, notes, and snippets.

@dhimmel
Last active September 21, 2016 19:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dhimmel/35115bb4691721a119cc7d150b9f9cf0 to your computer and use it in GitHub Desktop.
Save dhimmel/35115bb4691721a119cc7d150b9f9cf0 to your computer and use it in GitHub Desktop.
How much Baltimore stream water do you need to drink to get high?
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# How much Baltimore stream water do you need to drink to get high?\n",
"\n",
"#### By Daniel Himmelstein\n",
"\n",
"A recent study reported high concentrations of amphetamine in Baltimore's streams:\n",
"\n",
"> Lee SS, Paspalof AM, Snow DD, Richmond EK, Rosi-marshall EJ, Kelly JJ (2016) [**Occurrence and Potential Biological Effects of Amphetamine on Stream Communities**](https://doi.org/10.1021/acs.est.6b03717). _Environmental Science & Technology_. DOI: 10.1021/acs.est.6b03717\n",
"\n",
"CNN [covered the study](http://edition.cnn.com/2016/08/25/health/meth-fish-baltimore/index.html \"CNN Health: Your drain on drugs: Amphetamines seep into Baltimore's streams\"). The study and especially the CNN piece suggest that execretion from illicit amphetamine users is the source of contamination. I am skeptical of these claims, as I explained [on PubMed Commons](http://www.ncbi.nlm.nih.gov/pubmed/27513635#cm27513635_26614).\n",
"\n",
"The study found a high concentration of amphetamines at Gwynns Run at Carroll Park in Baltimore (630 ng/ml). To see just how high this concentration is, we'll calculate **how much stream water one would need to drink to receive an effective dose of D-amphetamine** (5 mg). Credit to Kamen Simeonov and Benjamin Emert who [did this analysis first](https://twitter.com/dhimmel/status/769568322723647488 \"Tweet\") by hand. Note that the original version of this analysis mistakenly used milliliters rather than liters as the denominator for unit stream concentration."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Pint is a package for physical quantities in Python\n",
"import pint\n",
"u = pint.UnitRegistry()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"630.0 nanogram/liter"
],
"text/latex": [
"$630.0 \\frac{nanogram}{liter}$"
],
"text/plain": [
"<Quantity(630.0, 'nanogram / liter')>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Stream concentration\n",
"stream = 630 * u.ng / u.l\n",
"stream"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"5 milligram"
],
"text/latex": [
"$5 milligram$"
],
"text/plain": [
"<Quantity(5, 'milligram')>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Effective dose of D-amphetamine\n",
"dose = 5 * u.mg\n",
"dose"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# How much stream is needed for an effective dose\n",
"drink = dose / stream"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"7936.51 liter"
],
"text/latex": [
"$7936.51 liter$"
],
"text/plain": [
"<Quantity(7936.51, 'liter')>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Show in liters\n",
"round(drink.to(u.liter), 2)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"2096.6 gallon"
],
"text/latex": [
"$2096.6 gallon$"
],
"text/plain": [
"<Quantity(2096.6, 'gallon')>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Show in gallons\n",
"round(drink.to(u.gallon), 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### How about the artificial streams?\n",
"\n",
"In the study, Lee et al created artificial streams to evaluate the environemntal dangers of amphetamine runoff. Their articial streams had a concentration of 1 ug/ml. To assess the potency of their artificial stream, here is how much you would have to drink for an effective dose:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"drink = dose / (1 * u.ug / u.l)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"5000.0 liter"
],
"text/latex": [
"$5000.0 liter$"
],
"text/plain": [
"<Quantity(5000.0, 'liter')>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"round(drink.to(u.liter), 2)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"1320.86 gallon"
],
"text/latex": [
"$1320.86 gallon$"
],
"text/plain": [
"<Quantity(1320.86, 'gallon')>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"round(drink.to(u.gallon), 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Sewage (wastewaster) contentration"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"9.91 microgram/liter"
],
"text/latex": [
"$9.91 \\frac{microgram}{liter}$"
],
"text/plain": [
"<Quantity(9.91, 'microgram / liter')>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Assume 1 in 4 people consumes 30 mg of AMPH per day\n",
"daily_consumed_amph = 30 * u.mg * 0.25\n",
"# Assume 40% of AMPH is excreted\n",
"daily_excreted_amph = 0.4 * daily_consumed_amph\n",
"# Assume each person's excrement is dilluted in 80 gallons of wastewater per day \n",
"# Source http://water.usgs.gov/edu/qa-home-percapita.html\n",
"daily_water = 80 * u.gallon\n",
"# Calculate the average concentration of AMPH in sewage\n",
"sewage_concentration = daily_excreted_amph / daily_water\n",
"round(sewage_concentration.to(u.ug / u.l), 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Disclaimer\n",
"\n",
"I don't recommend consuming Baltimore stream water (either medicinally or recreationly) as the study states:\n",
"\n",
"> As much as 65% of the average flow in the Gwynns Falls can be attributed to untreated sewage from leaking infrastructure."
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [default]",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment