Miles per burrito
Posted on 2020-04-06 in story • 4 min read
With the COVID-19 pandemic currently affecting so many of us in the US and other parts of the world, it felt like a good time to write about something more light-hearted. In that spirit, today we are going to be examining bicycle commuting - specifically, typical caloric expenditures per unit distance.
Background¶
In the not-too-distant-past, I was a regular (typically once a week) bicycle commuter. I usually rode during three of the four seasons, starting first on a used Trek hybrid and ultimately ending up with a drop bar touring bicycle.
At some point, I ran across this graphic of a bicycle claiming to provide transportation efficiency at “infinity miles per gallon”. I posted it on my cube wall and was eventually challenged to substantiate this claim. At that time, I worked out a mini-dissertation on paper. Sadly, that calculation has been lost - likely to a recycling bin in a New Year’s cleaning purge. Since the Internet never forgets, I figured that this time around I would work back through the calcs in this Jupyter Notebook.
Research¶
In order to determine a reasonable approximation of miles per gallon for cycling, we must first make accomodations for the difference in fueling mechanisms of the internal combustion engine versus a human cycle operator. The bicycle is propelled by the human, who is fueled by food. In cases such as this where a transportation mode is powered by alternative fuels, the efficiency of the alternative energy source is typically converted to a miles per gallon equivalence, or MPGe. As I recall, I did that same calculation previously. But what stands out from the past, and what I wish to cover first, is to express the efficiency of bicycle commuting in terms of miles per unit of food. Therefore, we need to select a reasonable, common unit of food with a known caloric content. Additionally, we need to determine a reasonable rate of caloric expenditure per unit of time for cycling.
Settling on a Unit of Measurement and Running the Calcs¶
Simply replacing a gallon of gasoline for a gallon of something like potato salad made sense initially. But that didn’t stand up as a suitable unit of food. How often do you run out (or order delivery) for a gallon of food at one time? No, it makes much more sense to use a more sensible portion size. While we’re at it, let’s pick something that reasonably could be consumed while cycling, such as… a burrito! Therefore, we’ll be calculating miles per burrito (MPB) when commuting by bicycle.
I’m most familiar with Qdoba as a common source of burritos, so let’s use their current nutrition guide. And, before we start slinging code, it would be a good idea to note that I will be using the pint library within python for all of the unit conversions. Therefore, let’s go ahead and sum up the ingredients for a grilled adobo chicken burrito.
import pint
ureg = pint.UnitRegistry()
def burrito_calories():
"""calculate the total caloric value of a typical burrito configuration"""
tortilla = 210
chicken = 150
black_beans = 140
brown_rice = 170
lettuce = 0
pico_de_gallo = 10
salsa_verde = 15
three_cheese_queso = 90
all_ingredients = tortilla + \
chicken + \
black_beans + \
brown_rice + \
lettuce + \
pico_de_gallo + \
salsa_verde + \
three_cheese_queso
return all_ingredients * ureg.kcalorie
bc = burrito_calories()
print(f"{bc} per burrito")
Good thing I asked that they go light on the queso. We’re almost to 800 calories without adding any chips, guac, or a drink!
Caloric Expenditure¶
The next step is to determine a typical caloric expenditure during bicycle commuting. Pretty much every fitness tracker out there will give you an estimate of calories burned for a given activity. I wanted something a little more scientific, so I went to the bookshelf to consult a copy of Bicycling Science, Third Edition. There, in Table 2.1 on page 76, we find a metabolic heat value for a touring cyclist covering 12 miles per hour equal to 6 kCal per minute. Combining this value with our total for the burrito gives:
metabolic_heat = ( 12 / (6 * 60) )* (ureg.miles / ureg.kcalorie)
print(f"Energy flow rate: {metabolic_heat:.4f}")
efficiency = metabolic_heat * bc
print(f"Calculated efficiency: {efficiency:.4f} per burrito (MPB).")
There you have it! 26 MPB, give or take.
MPG Equivalence¶
Let’s see how this stacks up against typical automobiles. A skim through the literature on Sonoco Racing Fuels gives us a value of 111,000 Btu per gallon of 118 octane leaded fuel. Let’s assume your typical 87 octance isn’t quite as potent and round down to 100,000 Btu.
This will give us MPGe for cycling:
gallon_of_gas_energy = (100000 * ureg.Btu).to('kcalorie')
mpge = metabolic_heat * gallon_of_gas_energy
print(f"Commuting by bike is equivalent to {mpge:.4f} per gallon.")
Not too shabby!