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

This article is related to the PurpleAir API. If you are unfamiliar with it, check out our API Landing Page to get started.

PurpleAir devices use Plantower laser counters to estimate 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 concentration (which is the standard global measurement for particulate matter) requires values for both volume and density. This is where _cf_1, _atm, and _alt are utilized.


CF=1 and ATM

CF=1 and CF=ATM (appearing as _cf_1 and _atm in the PurpleAir API) are formulas used in Plantower laser counters. One of the things that these formulas do is estimate the density of the particles passing through the laser counters. With both the volume and density of the particles, these formulas can calculate a mass concentration value (i.e. ”g/m3).

CF1 and ATM data are shown by default on the PurpleAir Map as follows:

  • Indoor sensors display CF1 data
  • Outdoor sensors display ATM data

*Indoor and outdoor sensors, in this context, are determined by how the sensor is registered. Thus, a PurpleAir Classic, while typically being used outdoors, can be registered as an indoor sensor, and the data from the sensor will be CF1 data on the map.

It should be noted that both the CF=1 and ATM algorithms are unknown to us; the manufacturer, Plantower, considers these formulas to be proprietary and hasn’t provided them to us. We follow their instructions for how to use the data, which comes directly out of the laser counters as CF=1 and ATM data.

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 Fields Descriptions - #6 by Lance.


ALT cf=3.4

Speaking of Lance Wallace, ALT cf=3.4, or ALT-CF3.4 (appearing as the suffix _alt for certain fields in the PurpleAir API), is an alternate formula that he created. The data generated by this formula has been found, in various situations, to be more accurate than data using the previous two formulas. More information on the ALT cf=3.4 algorithm can be found in this community article.

Additionally, you can use the ALT-CF3.4 formula on the Map by choosing the ALT cf=3.4 option in the Apply conversion field of the configuration menu.

Screenshot 2024-10-04 at 3.41.30 PM

The screenshot shows the Apply conversion dropdown menu.


Learn More

PurpleAir Map Guide
Making API Calls
SD Card File Headers
What Do PurpleAir Sensors Measure and How Do They Work?

Andrew–

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.

2 Likes

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.

Andrew–

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?

3 Likes

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.

Andrew–

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.

Are these alternative conversion factors available for SD Card data?

Hi @Cameron_Sell

SD cards will output the CF=1 and ATM values, because they are values created by the laser counters themselves. However, Lance’s formula, ALT, is not available on SD cards.

Good Morning from Indiana. I have just read your post again and I’ve been going over your paper this week, many times. I am not a scientist or a data specialist but part of a local (and increasingly national), concerned group of amateurs. We are loaning monitors from the EPA and using them to measure the density of PM2.5 particles in the air, surrounding sand and gravel pits. I have some questions and forgive me if they display any ignorance or naivety on my part;

  1. Why does the Alt PM 2.5 figure, which I am persuaded to use, show lower figures, when it is counting so many more of the very tinniest of the PM2.5 particles? Is it just a hidden characteristic of the CF1 algorithm that overestimates the stat by almost 100%?

  2. Why do you think the EPA has not adoped your algorithm? I believe their conversion is currently based on the work of Barkjohn. However, these figures seem to be midway between the ATM and the ALT PM2.5 stats. This is very confusing and makes direct comparisons difficult.

  3. Is there any reason why I should consider one of the other stats, when I know I am dealing mainly with tiny, abraded parts of silica dust , as well as the combustion of some vehiclular traffic, chiefly diesel. Of course its natural for me to want my figures to be higher, but accuracy is the most important criteria.
    Many thanks.

1 Like

Sue Kelly

  1. You are correct that the pm2.5 alt algorithm results in lower values than the CF_1 algorithm, and that the reason is that the CF_1 algorithm overestimates by a large amount. This has been found by multiple investigators, including Robinson, Barkjohn, Kelly, Liang, etc. They all find the CF_1 algorithm should be multiplied by a factor ranging between 0.50 and 0.53–as you say about 100% overestimate.

  2. The EPA carried out a study in multiple regions in the US (Barkjohn et al.,) in which they used either the CF_1 or CF_ATM algorithm supplied by Plantower. They multiplied that by about 0.5 and then added a constant and a correction for RH. This was a good study as far as it went, but relying on the “black box” algorithms supplied by Plantower was a mistake, in my opinion. That mistake was made by nearly all investigators at that time. I have never understood why these investigators did not adopt the algorithm used by all reputable manufacturers (Climet, Met-One, particularly TSI) dating back to the 1980s, which is in fact the pm2.5 alt algorithm, except for the calibration factor (CF) of 3.0, based on matching 33 PurpleAir outdoor monitors to 27 nearby sites using Federal Reference Method or Federal Equivalent Methods (FRM/FEM) to measure PM2.5. By the way, that value has been updated to 3.4, based on comparing thousands of outdoor PurpleAir monitors to 261 sites using FRM/FEM approaches. The value of 3.4 has not yet made its way to the PurpleAir API site, but I am assured it will presently appear. In the meantime, if you want to use the updated pm2.5 alt value you can just multiply your results by 3.4/3.0.

  3. I would say there is no reason to consider the other stats, since they are based on supposedly unknown “proprietary” algorithms. In fact, I now know the CF_1 algorithm (paper called “Cracking the Code”), having guessed it. For PM2.5, it takes the form of m1(N1+N2) + m2(N3) - d, where m1 is the mass of a particle with diameter equal to the geometric mean of the boundaries of the the two smallest size categories (0.3-0.5 um and 0.5-1 um), m2 is the mass of a single particle with diameter equal to the geometric mean of the next smallest category (1-2.5 um) and d is an additive correction factor equal to about -1 ug/m3. Using that equation for any CF_1 series will give very precise answers, except that when some CF_1 values are 0, the equation will give small negative values. In one CF_1 series, there were 18,000 zeros, while the equation gave 18,000 negative values. That is, the Plantower folks wanted to make that correction factor of -1 ug/m3, but for some small values, that resulted in negative numbers, so they simply replaced all negatives with zeros. Not so important for outdoor air, but very important for indoor air. The idea of using a single factor for the sum of the particles N1 and N2, instead of using separate factors for N1 and N2, seems weird, but may be based on earlier versions of the Plantower sensors that may have had only two sizes (N1 + N2) and N3 contributing to PM2.5 instead of the three sizes in the present sensor.

  4. Wallace, L. (2023a). Cracking the code—Matching a proprietary algorithm for a low-cost sensor measuring PM1 and PM2.5. Science of the Total Environment 893.164874. https://www.researchgate.net/publication/373512209_Cracking_the_Code--final_manuscript

2 Likes

Lance Arthur Wallace

Thank-you so much for your detailed reply which has helped me a great deal. I had read your article ‘Cracking the code’ but did not really understand where the calibration factor of 3 came from. Now, at least, I understand that this figure has been updated to 3.4. This means, that if I multipy the PM2.5_alt figure, obtained from the APIs, by
3.4 divided by 3,( which is 1.333333 recurring)
I will instantly have the most accurately possible PM2.5 figures available from our Purple Air data sets. Many of us are going on to buy our own Purple Air monitors and your articles have reassured me that they are precise and reliable.

1 Like

You’re absolutely correct!

1 Like

Hurrah, and from this amateur much thanks!

Dear Lance,

I am currently analyzing hourly data for PM_ATM (CF_ATM) and PM_Alt (ALT-CF3) from 2021 across the CONUS and have encountered some unexpected results. After spatially pairing this data with nearby EPA PM2.5 monitoring stations (within a 5 km radius), I found that the correlation coefficient for EPA PM2.5 with PM_ATM is 0.58, while it is slightly lower at 0.54 for PM_Alt. Additionally, the mean absolute bias was calculated at 4.94 ”g/m³ for PM_ATM, compared to 6.17 ”g/m³ for PM_Alt. Interestingly, despite the intended improvements of PM_Alt over PM_ATM, the PM_Alt appears to be less accurate.

For context, I have ensured that both datasets were filtered using channels A and B. This pattern of discrepancies was consistent even when comparing data from PurpleAir stations located within 1 km of EPA stations.

I would appreciate your insights or suggestions on why PM_Alt, which is expected to enhance accuracy, performs worse than PM_ATM in our analysis.

Thanks

Dear Masoud

The PM_ATM or CF_ATM has no physical support. It is a purely mathematical attempt to reduce the overestimates of the CF_1 algorithm. Multiple studies have found that the CF_1 and also the CF_ATM tend to overpredict by nearly a factor of 2. I have guessed the CF_1 algorithm in a paper called Cracking the Code. The CF_ATM algorithm is just the CF_1 algorithm out to about 28 ug/m3. Probably the majority of values in your dataset are below 28. There is then a steady linear increase in the CF_1/CF_ATM ratio up to about 79 ug/m3, above which point the ratio becomes constant at about 1.5. This obviously cannot reflect any physical or engineering reality.

The 2017-Sept 8 2021 paper by Wallace, Zhao, and Klepeis found an average PM2.5 value of about 8.3 ug/m3 for 10,000 PurpleAir monitors in three states, and about 4.4 ug/m3 for 4,400 indoor monitors. . It would be interesting to compare your results to these values. Also the recent paper by LBNL folks used the ALT-CF3 algorithm, which is based on those used by reputable manufacturers of multichannel particle monitors such as TSI (SMPS, APS, Model 3330
)

What did you choose as a cutoff value for the A&B comparison? I have used abs(A-B)/(A+B) with an upper cutoff of 0.2 or 20%. This resulted in removing about 8% of all values
 That chosen cutoff corresponds to a 28.28% cutoff if you are considering the SD of the two measurements. It is also equivalent exactly to restricting the greater/less ratio to be <1.5.

How did you treat values of zero in the CF_ATM data? In my cracking the Code article I found all values of zero to be originally small negative av\values due to Plantolwer practice of subtracting about 1 ug/m3 from every measurement.

(Attachment Cracking the code–STOTEN 893 2023.pdf is missing)

(Attachment Calibration of PurpleAir monitors using daily mean PM2.5 concentrations measured in California, Washington, and Oregon in 2017-2021.pdf is missing)

(Attachment Waallace Decrypted algorithms-2546472 (2) author corrections.pdf is missing)

(Attachment Indoor contribution to PM25 exposure using all PurpleAir sites in Washington, Oregon, and California including Supplement 9-15-22.docx is missing)

Dear Lance,
Thanks for the answer. It helped me a lot.
I used ((A-B)*2)/(A+B) as one filter and also removed data points
with percent differences larger than 2 standard deviations.
I also did not treat values of zero in the CF_ATM data.