Airhounds has released the Airborne Disease Estimator mobile app:

The IOS version is available on the Apple App Store now. Android is on the way!
With the Airborne Disease Estimator you can quickly calculate the probability of infection for a variety of airborne diseases under different situations. This is especially helpful as winter sets in. Understanding your infection risk for diseases like Influenza and COVID-19 will help you make the right choices to stay healthy and happy!
The app works best when paired with a CO2 sensor like the Aranet4 or the Airhounds Airship wearable (up next on the bench), but it can be used standalone as well.
But just what does the app do when determining the infection probability? How does it work, and what goes into this calculation? To understand how the app works, we’ll need to dissect this:

Ready? Great, let’s buckle up and start at the top!
As was stated in one of our earlier blog posts, our app uses an airborne disease transmission model developed by Zhe Peng and Jose Jimenez from the University of Colorado, Boulder. This model shows that the probability of infection from an airborne disease such as COVID-19 is related to how much excess CO2 (emitted from other people) an individual inhales.
It shouldn’t surprise you then that the Airborne Disease Estimator (ADE henceforth) starts here:

Whenever the ADE pulls a CO2 measurement from a paired CO2 sensor, it updates its internal representation of a risk measurement. This risk measurement is the entry point to the guts of how the ADE works:

The risk measurement is responsible for calculating the probability of infection:

Where Pe is the probability of infection estimate, and <n> is the total expected value of inhaled infectious doses (quanta). This equation is based on the Wells-Riley model of airborne transmission (https://en.wikipedia.org/wiki/Wells-Riley_model).
To determine the total expected value of inhaled quanta, the app sums up all the inhaled quanta values from each quanta measurement it constructed while collecting CO2 measurements:

Inhaled quanta is determined by dividing the amount of inhaled CO2 that other people breathed out (currently assumed to be CO2 in excess of background levels), by the ratio of inhaled excess CO2 per unit quantum:

Basically, this is saying that if we know how much excess CO2 is inhaled per unit inhaled quantam, then we can divide the measured amount of excess CO2 inhaled by this value to get the expected value of quanta inhaled. This is how we can ultimately sum up the total expected value of inhaled quanta and calculate our estimate of probability of infection, Pe.
But how does each quanta measurement determine how much excess CO2 was inhaled?

This equation says that the volume of excess CO2 inhaled is based on the excess CO2 volume mixing ratio, times the breathing rate, times the event duration someone was exposed to the given situation. This is where the collected CO2 measurement and user settings in the app come into play. The excess CO2 volume mixing ratio is directly calculated from an Aranet4 measurement if connected, otherwise it uses the user defined setting:

Breathing rate is also a setting defined by the user:

Physical activity level directly influences breathing rates (resting, standing, light exercise, etc.). Breathing rate in m3 per hour is a function of activity level:

You can reference Table 6-28 of the Exposure Factors Handbook if you’re curious about these values:
https://www.epa.gov/expobox/about-exposure-factors-handbook
Duration is also defined by the user, and is quite straight forward:

Ok, congratulations are in order if you’ve made it this far! We’ve covered how the inhaled excess CO2 volume is calculated! Get ready, this was just a warm up – now we have to discuss how the ratio of inhaled excess CO2 per unit inhaled quantum is calculated:

There’s a ton of terms to discuss here, so let’s knock out the easy ones first. Unless explicitly mentioned otherwise, the terms above are user controlled settings.
- N is the number of people present.
- ηim is the probability that an occupant is immune.
- ηI is the probability that an occupant is infectious.
- mex is masking efficiency of those people present at filtering exhaled particles. This is general higher than min, the efficiency of a mask at filtering inhaled particles.
- DCO2 is the decay rate of CO2 in the room:

It is a function of the duration of the event D (h), and the ventilation rate of the room (λ0). Currently, ventilation rate is assumed to be a constant value (3 h-1).
- Dv is the decay rate of infectious virus in the room:

As with the decay rate of CO2, D is the duration of the event in hours. λ is the first-order rate constant of virus infectivity loss (h-1). It is influenced by factors that otherwise remove or inactivate the virus; ventilation, cleaning measures, sterilization, etc. It is currently assumed to be a constant value (3.92 h-1).
Ok, that’s nearly all of the terms. Let’s cover the two remaining heavy weights, starting with the exhalation rate of CO2:

This equation states that the exhalation rate of CO2 in m3 h-1 is equal to the converted volume of exhaled CO2.
The volume of exhaled CO2 is determined from the following equation (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5666301/):

It states that the volume of CO2 exhaled by a person is a function of the following terms:
- RQ, or respiratory quotient. It is the ratio of CO2 produced by the body to O2 consumed by the body, and is predominantly a function of diet, but usually falls in the range of 0.7 – 1.0. We’re using a constant value of 0.85.
- BMR is the basal metabolic rate. The app is using an average of male and female BMR reported for individuals of 11 years or older. Values are from https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5666301/, Tab. 4.
- M is the metabolic activity level. It is a function of the activity level, a user controlled setting:

Values for M corresponding to A are taken from Fig. S3 in the supplemental material of https://pubs.acs.org/doi/10.1021/acs.estlett.1c00183.
- T is the temperature, and is currently assumed to be a constant of 273 K.
- P is the pressure, and is currently assumed to be a constant of 101 kPa.
Ok, that covers how we can estimate the CO2 exhalation of people at an event! Onto the quanta exhalation rate (q h-1):

The quanta exhalation rate depends on the base quanta exhale rate (qb, q h-1), which is a function of the disease in question. Values for qb come from https://www.sciencedirect.com/science/article/pii/S1674987121001493, with the exception of COVID-19. The value for COVID-19 comes from Jimenez and Peng’s spreadsheet: https://docs.google.com/spreadsheets/d/16K1OQkLD4BjgBdO8ePj6ytf-RpPMlJ6aXFg3PrIQBbQ/edit#gid=519189277.
Quanta exhalation rate can also be determined by factors such as activity level or vocalization level. This is captured by qr, the quanta exhalation rate factor. The factor by which Ep is modified based on qr can be found in the spreadsheet linked above.
Finally, Ep can also be modified by the infectiousness of the current predominant disease strain (ds). This value is typically left at 1, however it has been adjusted for COVID-19 based on Jimenez and Peng’s spreadsheet.
Congratulations, you made it! You now know the nuts and bolts behind the ADE’s current implementation for calculating infection probability. At its heart, it really boils down to how much CO2 is exhaled per unit quantum, and what the excess CO2 measurement in a room is. The higher the CO2 concentration, the more air you breathe that was exhaled from other people, and the higher the likelihood that you’ll be infected by an airborne disease. Factors like masking up can help reduce the likelihood though! So be careful this upcoming holiday season – take some precautions by getting our app and an Aranet4 CO2 sensor! That way you can tell if it’s time to ventilate or mask up, or if you’re in the clear!