What is the Difference Between CF=1, ATM, and ALT?

PurpleAir devices use laser counters to measure the number of particles that pass through them. They also make estimations regarding the size of these particles, allowing us to find the volume that these particles occupy in any given space. However, the calculation of mass (which is the standard global measurement for particulate matter) requires volume and density. This is where _cf_1, _atm, and _alt are utilized. One of the things that these “Calibration Factors” do is estimate the density of the particles passing through the laser counters. With both the volume and density of the particles, the laser counters can generate a mass measurement.

CF=1 and ATM

CF=1 and CF=ATM (appearing as _cf_1 and _atm in the PurpleAir API) are calibration factors that are supplied by the laser counter manufacturer, Plantower. They are the default calibration factors applied to sensors on the map.

  • CF=1 is applied to indoor sensor data on the map
  • ATM is applied to outdoor sensor data on the map

The average density of particles differs between outside and inside environments. This is why Plantower supplies two separate calibration factors: CF=1 for indoor air; ATM for outdoor air.

The PurpleAir Map automatically applies CF=1 or ATM to a sensor based on whether it is registered as indoor or outdoor.

Until recently, the CF=1 algorithm was a black box as it is considered a proprietary algorithm by Plantower. However, a researcher in our community named Lance Wallace (@Lance) was able to recreate the algorithm. You can learn more about his study here: API History Fields Descriptions - #6 by Lance.

ALT cf=3

Speaking of Lance Wallace, ALT cf=3, or ALT-CF3 (appearing as _alt in the PurpleAir API), is an alternate calibration factor that he created. It has been found, in various situations, to be more accurate than the previous two factors. More information on the ALT cf=3 calibration factor can be found in this community article.

Additionally, you can view _alt on the Map by choosing the ALT cf=3 option in the Apply conversion field of the configuration menu.

Screenshot 2023-09-11 at 5.26.19 PM

The screenshot shows the Apply conversion dropdown menu.

Learn More

SD Card File Headers
API History Fields
Making API Calls
What Do PurpleAir Sensors Measure?


I appreciate this attempt to briefly summarize the differences between the CF_1, CF_ATM, and ALT-CF3 algorithms. However, the difference between cF_1 and CF_ATM can not be simply a different density of indoor and outdoor particles. If that were the case, the two algorithms would differ by a constant factor, the ratio of the two densities. But in fact, the two algorithms differ in a very weird and mysterious way. First they are identical for all PM2.5 concentrations less than about 28 ug/m^3. Then at higher concentrations, strangely enough, the CF_ATM values increase more slowly than the CF_1 values. Finally, another miracle occurs at about 78 ug/m3, at which point and at all higher values the ACF_ATM algorithm remains constant at almost exactly 2/3 the value of the CF_1 algorithm (or equivalently the CF_1 is about 3/2 (1.5) times the CF_ATM algorithm.

If someone could show me an actual physical process that behaves in this way, I could nominate him/her for the Nobel Prize. Lacking that, I have to assume the following:.

I speculate that Plantower was aware that their sensor was overpredicting PM2.5. A number of studies have shown that CF_1 overpredicts PM2.5 by 50-100%. Since they could not create a new sensor, they decided to create a second algorithm, which would read lower–say 50% lower. Hence the creation of CF_ATM. It is clear that the entire relationship is just a mathematical construct with no physical reality. For unusually high concentrations, however, it does produce estimates that are closer to the actual values. But for the great majority of concentrations, it just gives us the same overpredictions of CF_1.

I hope some day PurpleAir will toss aside CF_ATM. And then, for good measure, (pun intended), CF_1 could follow its twisted partner out the door.


Lance, we’ve made some changes to the article to clarify that an estimate of particle density is only one of the elements of the CF1 and ATM algorithms. We also made a few other changes to simply indicate how these calibrated data are used on the map, rather than recommending them for indoor/outdoor sensors. Let us know what you think.

Andrew, I’m not sure how to find my way to the revised article. Canyou suply a link?

It’s this same article. We simply edited it, so you can read it above.


OK, the revision no longer has any serious errors. On the other hand, it perpetuates the decision made long ago by PurpleAir to use the ATM algorithm for outdoor air. This is completely understandable on the basis that, as Adrian told me, it is less of an overprediction than CF1. However, the science has moved along. Any one should be able to look at the graph I provided and see at once that the ATM algorithm cannot be related to any physical process. Could you not explain to users that switching to any one of the alternative conversion factors (ALT-CF3.4, the EPA version of Barkjohn, the Australian and Lane County versions) provides a more accurate estimate of PM2.5?


Lance, thank you for your explanations. We will be rewriting several sections of this article; it will be in the same location, but the wording will be different. If you’d like, I can tag you in a comment when that’s done so you can have another look.


I’ll be happy to comment

Greetings Lance, your look here is spot-on from my understanding and experience. I think that when we see values in the Pacific Northwest, where I’ve worked for the last 20 years, for unusually high concentrations that are greater than about 50 or 75 micrograms per cubic meter, then generally, the source of the fine particle pollution dominates that estimation. My assertion is that the “light scatter density” of the particles that are produced by wildfires have a different ratio of mass to light scatter than do particles produced by Diesel engines, for example. Other sources make it even more complex. Another example is garbage fires. And, of course, meteorology plays a large part in these events, because in rainy, windy scenarios, you’re not going to ever see these unusually high numbers. Since these events are very difficult to characterize consistently, I don’t think anyone has ever come up with specific numbers, but I do think that there is merit in using purple air sensors in conjunction with network monitors that are mass based (like the BAM as one example) to look closely at several different types of dominant source categories. The difficulty comes in, when you are trying to find those dominant source categories, because I know of no way to measure or calculate that - you could probably only “guestimate” what the dominant source is. So, we’re left with more questions than answers. But I think that with a more national robust network of ultrafine particle binning counters, there could be some real breakthroughs. Can sources be apportioned with short time resolution data? (minutes or hours versus days) We have done it with daily filters and the Chemical Speciation network, but we have only gotten so far. I think that is what I would say about the physical reality of our air quality in terms of fine particulate matter. -More to learn. -Best, Matt Harper, Puget Sound Clean Air Agency.

Yeah, Matthew, I agree with pretty much everything you say. With respect to fires, WW Delp and Brett Singer of Lawrence Berkeley lab did make an effort to estimate how the different density of the smoke affected PurpleAir estimates. They found a factor of about 2 difference from more normal aerosol composition.

Right now we Bay area Californians are under red flag warning due to fires in far northern California and Oregon, smoke from which is being brought to us by strong constant winds from the North. My wife and I have been evacuated twice from our home in eastern Santa Rosa due to the Nuns-Tubbs 2017 fire and the Glass fire of 2022. Not anxious to experience that again. I grew up in Seattle and apart from a few quakes we seemed never to have a huge weather problem.