Articles | Volume 16, issue 16
Model description paper
25 Aug 2023
Model description paper |  | 25 Aug 2023

Plume detection and emission estimate for biomass burning plumes from TROPOMI carbon monoxide observations using APE v1.1

Manu Goudar, Juliëtte C. S. Anema, Rajesh Kumar, Tobias Borsdorff, and Jochen Landgraf

This paper presents the automated plume detection and emission estimation algorithm (APE), developed to detect CO plumes from isolated biomass burning events and to quantify the corresponding CO emission rate. APE uses the CO product of the Tropospheric Monitoring Instrument (TROPOMI) on board the Copernicus Sentinel-5 Precursor (S5P) satellite, launched in 2017, and collocated active fire data from the Visible Infrared Imaging Radiometer Suite (VIIRS), the latter flying 3 min ahead of S5P. After identifying appropriate fire events using VIIRS data, an automated plume detection algorithm based on traditional image processing algorithms selects plumes for further data interpretation. The approach is based on thresholds optimized for data over the United States in September 2020. Subsequently, the CO emission rate is estimated using the cross-sectional flux method, which requires horizontal wind fields at the plume height. Three different plume heights were considered, and the ECMWF Reanalysis v5 (ERA5) data were used to compute emissions. A varying plume height in the downwind direction based on three-dimensional Lagrangian simulation was considered appropriate. APE is verified for observations over Australia and Siberia. For all fire sources identified by VIIRS, only 16 % of the data corresponded to clear-sky TROPOMI CO data with plume signature. Furthermore, the quality filters of APE resulted in emission estimations for 26 % of the TROPOMI CO data with plume signatures. Visual filtering of the APE's output showed a true-positive confidence level of 97.7 %. Finally, we provide an estimate of the emission uncertainties. The greatest contribution of error comes from the uncertainty in Global Fire Assimilation System (GFAS) injection height that leads to emission errors <100 %, followed by systematic errors in the ERA5 wind data. The assumption of constant emission during plume formation and spatial under-sampling of CO column concentration by TROPOMI yields an error of <20 %. The randomized errors from the ensemble ERA5 wind data are found to be less than 20 % for 97 % of the cases.

1 Introduction

Carbon monoxide (CO) is an air pollutant and in high concentrations harms human health. It is an indirect greenhouse gas as it alters atmospheric OH, thus leading to an increase in the lifetime of methane (Spivakovsky et al.2000). CO is produced mainly by incomplete combustion, and Andreae et al. (1988) and Watson et al. (1990) showed that biomass burning is a significant source of atmospheric CO. Furthermore, Granier et al. (2011), Crippa et al. (2018), and Hoesly et al. (2018) showed that there has been an increase in CO emissions due to fossil fuel burning since 2000. CO emitted by localized sources on the ground leads to a prominent footprint in the atmosphere due to its lifetime ranging from days to several months (Holloway et al.2000). These atmospheric characteristics can be observed by satellites, which can provide essential information to improve our understanding of the effect of CO on air quality and climate. The Tropospheric Monitoring Instrument (TROPOMI) on board the Sentinel-5 Precursor (S5P) satellite, launched in 2017, monitors CO daily on a global scale (Borsdorff et al.2018) and with a high spatial resolution of 7×7km2, improved to 5.5×7km2 in August 2019. Due to the high spatial resolution and daily coverage, CO emissions from cities (Borsdorff et al.2019a, 2020; Lama et al.2020), forest fires (Schneising et al.2020; Li et al.2020; Magro et al.2021; van der Velde et al.2021), and industrial sources (Tian et al.2022) have been investigated and quantified. Rowe et al. (2022) compared TROPOMI CO measurements with in situ aircraft measurements for different biomass burning plumes in 2018 and found differences of <7.2 %, illustrating the potential of TROPOMI CO measurements to quantify CO emissions from these sources.

Most of the studies mentioned above estimated CO fluxes on large regional scales (Schneising et al.2020; Magro et al.2021; van der Velde et al.2021) and mega-city scales (Borsdorff et al.2019a, 2020; Lama et al.2020). So far, the single-point CO emissions estimated from the TROPOMI CO data have received less attention. Tian et al. (2022) showed CO emissions based on TROPOMI for single-point industrial sources from India and China. They performed a statistical study for 3 years, as the geo-location of the industrial source is known. A similar analysis to quantify emissions from single-point biomass burning (fires) using TROPOMI CO data has not been shown in the literature.

Fire locations can be detected using the Visible Infrared Imaging Radiometer Suite (VIIRS) 375 m thermal anomalies/active fire product (Schroeder et al.2014). The VIIRS instrument is on board the joint NASA–NOAA Suomi National Polar-orbiting Partnership (Suomi NPP) satellite and flies in the same orbit as S5P, in loose formation with a temporal separation of 3.5 min between them. This short time difference allows us to collocate observations of TROPOMI CO data and the VIIRS active fire product.

Different methods of estimating emissions are discussed in the literature, namely inversion methods coupled with Gaussian dispersion models (Krings et al.2011; Nassar et al.2017; Lee et al.2019), different chemical transport models (CTMs) (Brasseur and Jacob2017), cross-sectional flux method (CFM) (White et al.1976; Beirle et al.2011; Cambaliza et al.2014, 2015; Kuhlmann et al.2020), and integrated mass enhancement (IME) method (Frankenberg et al.2016). An inversion coupled with a Gaussian plume model is used for flux inversions of an isolated single plume assuming steady and uniform wind conditions. This method fits an analytically computed Gaussian plume to TROPOMI CO column observations and can only be applied to observations under specific wind conditions (Varon et al.2018). The IME method relates the emissions and the integrated mass in the observed plume, and Frankenberg et al. (2016) showed that the relation is linear based on aircraft data for methane plumes. However, no such relationship has been established for CO measurements around fires. Hence, IME is not considered for the present work. Inversion methods using CTMs, such as the Weather Research and Forecasting model coupled to Chemistry (WRF-Chem) (Grell et al.2005) and GEOS-Chem (Bey et al.2001), can reduce uncertainties and thus predict emissions more accurately. Although these methods can be applied to complex emission events, the corresponding simulations are complex, computationally expensive, and difficult to automate, particularly for a large number of fires with different geo-locations, which is the objective of this study. The CFM is well suited to the present work, as it requires less computational power and is easier to automate. The CFM is based on the mass conservation of the pollutant transport in the downwind direction of the plume. The emission is estimated from corresponding fluxes across different planes perpendicular to the direction of the plume using the wind velocity at the plume height. Brunner et al. (2019) showed that the plume height depends on different aspects, namely meteorology and emission height, and may not be explicitly available. Furthermore, the CFM breaks down when diffusion is dominant, which is when the wind velocity is <2m s−1 (Varon et al.2018).

The present work aims at developing an automated scheme to detect single and spatially isolated emissions from biomass burning events in TROPOMI observations and to estimate the corresponding CO emissions. For this purpose, we employed and improved the CFM. First, VIIRS fire data and satellite data were prepared for automated plume detection, which is discussed in Sect. 2.1. The plume detection algorithm from a single point source using VIIRS fire counts is the subject of Sect. 2.2. Section 2.3 describes the emission estimation using the CFM, where an appropriate choice of the plume height and the wind fields is discussed. The results of our study are discussed in Sect. 3, and finally, Sect. 4 concludes our study and sets recommendations for future work.

2 Methodology

Figure 1 illustrates a high-level flow diagram of the automated plume detection and emission estimation algorithm (APE), and the corresponding pseudo-code is given as Algorithm B1 in Appendix B. APE is divided into three parts, namely data preparation, automatic plume detection, and emission estimation. The data preparation algorithm identifies single-point fire sources from the VIIRS 375 m active fire data product (Schroeder et al.2014) and subsequently selects and extracts TROPOMI CO data around every located fire source. Thereafter, the plume detection algorithm searches for a plume in the extracted CO data, and a detected plume serves as an input for emission estimation. The emission estimation algorithm initially computes the background CO, which is the usual observed CO concentration at that location without any CO emissions from the fire. The background allows us to obtain the CO enhancement, which is used by the CFM to estimate CO emissions. These three parts of the algorithm are discussed in detail in the following sections.

Figure 1High-level flow chart of the APE algorithm.


2.1 Data preparation

2.1.1 Selection of fire events

Fire events are inferred from the VIIRS 375 m active fire data product (Schroeder et al.2014), provided by the Fire Information for Resource Management System (FIRMS). FIRMS is operated by NASA's Earth Science Data and Information System (, last access: 5 February 2023). The data include various parameters such as fire radiative power (FRP), temperature, and the time of measurement defined in latitude–longitude coordinates. Each of these coordinates corresponds to the centre of a 375×375m2 ground pixel and is referred to in this paper as a fire count or a VIIRS pixel. In most cases, a fire within a single VIIRS pixel cannot create a CO signature spanning multiple TROPOMI pixels due to the detection limit of the satellite. Only larger fires with a cluster of VIIRS fire counts can lead to a detectable CO plume in the TROPOMI observations. We used the density-based spatial clustering of applications with noise (DBSCAN) algorithm (Ester et al.1996; Schubert et al.2017) from the scikit-learn library (Pedregosa et al.2011) to identify fire clusters. It separates areas that are densely packed with fire counts from areas of low density and therefore has the ability to detect clusters of any shape. DBSCAN takes two inputs: the first is the maximum search radius rmax around a fire count, and the second is the minimum number of fire counts within the area nmin. rmax is set to 4 km which is about half the size of the TROPOMI pixel. The minimum number of fire counts has been empirically set to nmin=10. For further analysis, we converted each cluster into a single point source using the fire radiative power (FRP) as the weight of the individual fire counts. This single point source will henceforth be referred to as a fire source and will be used as input to the TROPOMI CO data preparation.

2.1.2 TROPOMI CO data preparation

For the VIIRS fire sources, the corresponding TROPOMI orbits (see Table B1 for the version of the L2 product) were selected, and the orbit was corrected for stripes (see the fast Fourier transformation algorithm of Borsdorff et al.2019b). Figure 2 shows an example of the collocated information for a part of a TROPOMI orbit over Australia. Then, we extracted a data granule of 41×41 TROPOMI CO pixels centred on each fire source. The minimum granule size of 220 km was chosen, as an air mass with an average velocity of 5 m s−1 takes 6 h to reach the edges of the granules from the centre. After extraction, two data quality filters are applied.

  • DP-1. The maximum TROPOMI CO pixel size due to distortion in the swath direction is restricted to <12 km to avoid large pixel size and its variation within the granule.

  • DP-2. For a data granule, 80 % of all CO data must meet a data quality qa>0.5 (Apituley et al.2018), which corresponds to clear-sky, clear-sky-like, and mid-level cloud observations. Furthermore, we require 85 % of the pixels in an area of 7×7 pixels centred on the fire source to meet the above criterion. The more usable pixels around the source are, the better the plume can be disentangled from the atmospheric background (see the discussion in Sect. 2.3.1).

The threshold values are empirically determined for a reference dataset from September 2020 over the United States and verified for two other datasets over Australia and Siberia (see Table B1 in Appendix B for a detailed specification of the datasets). Finally, the selected CO scene is passed on as input to the plume detection algorithm.

Figure 2The 49 detected fire sources represented by black “+” on 6 October 2019 overlapped with the TROPOMI Level-2 CO data for orbit 10 254. The dashed region represents a 41×41 pixel granule.

2.2 Plume detection algorithm

The next step in APE is to identify the plumes within each selected CO data granule. Kuhlmann et al. (2019) developed a plume detection algorithm based on statistical methods, and Finch et al. (2022) used machine learning to detect plumes. In the present study, a machine learning approach is not considered mainly due to the unavailability of data containing detected plumes and their sources for training. Instead, our plume detection approach is based on traditional image processing algorithms (van der Walt et al.2014).

Using the extracted CO TROPOMI data, a plume is detected by a region-based segmentation algorithm, where pixels with similar properties are clustered together to form a homogeneous region. One of the most commonly used and classic region-based segmentation algorithms is the “marker-based watershed transform method” (Beare2006; Gao et al.2004). The CO column concentration metaphorically represents the altitude of a topographic map. Thus, the watershed algorithm segments the regions into valleys and mountains (CO enhancements) based on a given marker and a gradient map. In the following paragraphs, we describe plume detection in more detail using an example.

The marker-based watershed algorithm in the scikit-image package (van der Walt et al.2014) takes two inputs to segment an image. One is the “gradient map” Igrad, which emphasizes changes in altitude and attenuates homogeneous regions. The second input is a marker image Imark that provides the seed points for the algorithm, referenced by an integer label.

We start with the extracted CO TROPOMI granule of size 41×41 pixels I(i,j) with i,j=1,,41. An example is shown in Fig. 3a. First, the high-frequency components of the CO image are reduced by a two-dimensional Gaussian filter with a standard deviation of σ=0.5 pixels, chosen empirically. The smoothed image is called Is. From this image, the gradient map Igrad is computed using a Sobel operator (Sobel and Feldman2015; van der Walt et al.2014), namely

(1) I grad = G x + G y ,


(2) G x = 1 0 - 1 2 0 - 2 1 0 - 1 * I s G y = 1 2 1 0 0 0 - 1 - 2 - 1 * I s ,

where * represents the convolution operator. Here, the gradient Igrad emphasizes the edges of a plume, as shown in Fig. 3b.

Figure 3Plume detection algorithm. An example showing different steps for a fire source on 6 October 2019 in Australia.


By default, the marker image (Imark) is initialized to zero, and then two different seeds are defined. One seed indicates regions without CO enhancements, and another refers to regions with clear CO enhancements given by Imark(i,j)=1 and Imark(i,j)=2, respectively. The seeds are defined as follows.

  1. The regions without CO enhancement. A pixel Imark(i,j) does not have CO enhancement if it is below the median of IS or below the mean of the 15×15 pixels centred at IS(i,j). The size of 15×15 pixels was chosen to account for the background variability. Pixels corresponding to no enhancement can be seen in Fig. 3c represented by the label “1”, and the image is referred to as a preliminary marker image.

  2. The regions of CO enhancement. Using the preliminary marker image with labels “0” and “1”, we identified all connected pixels with the same marker value (hereafter referred to as connected regions) using the “label” algorithm (Fiorio and Gustedt1996) of the scikit-image package (van der Walt et al.2014). Each connected region is identified by a unique integer value per pixel (not to be confused with the seed marker). Next, we zoomed in on a 5×5 pixel area around the fire source and extracted all connected regions as potential plumes. Further, the potential plumes were expanded by going to 15×15 pixels around the fire source using pixels with the same label. Then, the labelled CO data in this area were extracted, and a CO threshold was calculated as their mean value. Lastly, all pixels within the 15×15 pixel area were marked with a label “2” if their CO value was above this threshold. This yields the remaining seed points which are defined in a 15×15 pixel area around the fire source.

The above selection process is illustrated in Fig. 3c with the different labels of the connected regions. The final marker image is shown in Fig. 3d. Finally, the watershed algorithm computes a segmented image for the entire domain using the gradient map image Igrad and the marker image Imark. Figure 3e shows an example of a segmented image. Using the gradient map, the watershed algorithm has decided that the two areas of enhanced CO values are not connected and therefore do not belong to the same plume. From the segmented image, we extracted the correct plume, which should originate from emissions at the source location. Therefore, we consider only those labelled areas that overlap with the centre 7×7 pixels. Figure 3f shows the detected plume. The detected plume appears to be shorter in this case, but the tail end of the plume, i.e.  around <143 E, will fail background subtraction due to similar enhancements to the background. This can also be seen in the gradient map, where no gradient is detected at the top side of the plume.

Finally, the suitability of the extracted plume for further processing is evaluated, and the length of the plume is calculated. The plume is provided to the emission estimation module if the following are met.

  • PD-1. The plume length is >25 km.

  • PD-2. There are not more than nine non-clustered fire counts or any other identified fire cluster within 0.05 distance from or in the identified plume.

If the length of the plume is <25 km, then the detected plume is flagged as a short plume and will be ignored for further processing. The short plumes are difficult to quantify in an automated way, as they can have different shapes, which makes it difficult to identify the direction of the plume. The second criterion (PD-2) removes all plumes with multiple fire sources, as the aim of this paper is to quantify fires with single sources.

2.3 Emission estimation

For detected plumes, emissions were estimated using the cross-sectional flux method (CFM) (White et al.1976; Beirle et al.2011; Cambaliza et al.2014, 2015; Kuhlmann et al.2020). The CO emission E is defined as the mean flux through n cross-sections perpendicular to the downwind direction of the plume, namely

(3) E = 1 n i = 1 n Q i , Q i = δ C co i ( s , t 0 ) υ i ( z i , s , t 0 ) d s ,

where Qi (in kg s−1) is the CO flux through cross-section i, δCcoi (in kg m−2) is the background-subtracted CO values along a cross-section i, and υi (in m s−1) is the velocity perpendicular to the cross-section i. Wind velocity υ(z,s,t0) at plume height z, cross-section position s, and observation time t0 are obtained from the data of the European Centre for Medium-Range Weather Forecasts Reanalysis v5 (ERA5) (Hersbach et al.2017). For error characterization, we define the standard error (σE) as

(4) σ E = 1 n i = 1 n E - Q i 2 .

The cross-sections, hereafter referred to as transects, were determined by calculating the plume direction in the downwind direction. The plume line results from a second-order curve fit through the pixel centres of the detected plume (see, for example, the solid black line in Fig. 4a). Next, the transects every 2.5 km perpendicular to the plume line were calculated and are illustrated as dashed lines in Fig. 4a. The transects are sampled at 2.5 km to reduce errors due to interpolation – discussed in the next paragraph. To compute Qi in Eq. (3), each transect was sampled at distances of 500 m. Points over transects are over-sampled to obtain a smoother CO distribution, which further helps in the background subtraction discussed in Sect. 2.3.1.

Figure 4Plume on 1 October 2019 at 03:52 UTC. (a) Plume and every second transact line drawn based on the detected plume separated by 5 km in the downwind direction. (b) The dotted black line corresponds to the CO column along a transect in (a), and the red line shows re-centred and cut-off CO used for Gaussian fitting. The dash–dotted blue line corresponds to the Gaussian fit, and the orange line represents the enhanced CO along the transect. (c) Cco along a transect against the distance from the source.


Along each transect, the CO column (Cco) is extracted by linear interpolation of the original CO data and is illustrated by a dotted black line in Fig. 4b. This CO column is further used to calculate δCco in Eq. (3). During the diagnostic tests of our interpolation algorithm, an oscillation was observed in the CO columns integrated along the transects as a function of the downward distance from the fire source (see Fig. 4c). The oscillation is due to the under-sampling of the CO distribution by the TROPOMI instrument. The distance between two minima is approximately equal to the TROPOMI pixel size. This error propagated further into the CO enhancement δCco, which was computed from the background subtraction algorithm.

2.3.1 Background subtraction

To determine the atmospheric background of CO per transect, first we re-centre the Cco such that the maximum is at the origin to facilitate the Gaussian fit. The transect line is truncated at the first minima of CO on either side of the origin, as illustrated by the red line in Fig. 4b. To determine the background for each transect (red line), we assume that the column CO along the transect can be expressed as

(5) C co = H 0 + H 1 s + A 0 G ( s ) ,

where H0 and H1 represent the background and the slope of change in the background over the transect, respectively. A0 is the amplitude of the Gaussian distribution (G). We determined the background by fitting Eq. (5) through the CO data, which is subsequently subtracted from the Cco data to calculate the CO enhancement as shown below:

(6) δ C co = max { 0 , C co - H 0 + H 1 s } .

Here, the negative enhancements in the CO column are ignored. The dashed blue and the orange lines in Fig. 4b represent Gaussian fit and δCco, respectively.

2.3.2 Filtering during background subtraction

The background subtraction includes an important filtering mechanism to remove overlapping plumes. This is done during the background subtraction after the transect line is truncated. The filter criterion is as follows.

  • EE-1. The difference between the minima on either side of a truncated transect should be <10 %. This ensures a smooth background and the absence of any interference with adjacent emission events.

2.3.3 Plume height

The plume height zi at a transect i is used to extract the appropriate wind velocity υ(zi,s,t0). For wildfires, Rémy et al. (2017) showed that the Integrated Monitoring and Modelling System for Wildland Fires (IS4FIRES) injection height, zinj, from the Global Fire Assimilation System (GFAS) database is in good agreement with the observations. Sofiev et al. (2012) showed the IS4FIRES injection height deviated by less than 500 m compared to the MISR Plume Height Project (MPHP); therefore we consider 500 m as plume height uncertainty. First, we assume that the height of the plume is zinj and is constant throughout the plume. This may be true for stable meteorological conditions. The constant plume height will be called zc and the uncertainty at this plume height is given as zcp=zinj+500 m and zcm=zinj-500 m.

It should be noted that the injection height calculated in the GFAS is for 24 h and may not be appropriate for a satellite plume which is a snapshot at a measurement time t0. In addition, the plume height may vary due to meteorology in the downwind direction. Therefore, we alternatively simulated particle trajectories starting at the fire site around the injection height with a three-dimensional Lagrangian tracer dispersion model. The local plume height zi is then estimated by averaging the height of the tracers along the downwind direction. This estimated plume height is zlag and captures the change in height in the downwind direction.

The Lagrangian simulations were performed using tracer particles. The motion of tracers is simulated according to

(7) d x p ( t ) d t = v ( x p ( t ) ) ,

where v(xp) represents the fluid velocity at the instantaneous particle position xp. The explicit forward Euler scheme (Butcher2003, p. 45) was used to integrate the equation in time. The velocity on the right-hand side of Eq. (7) is calculated by tri-linear interpolation of the ERA5 velocity fields. The fire counts described in Sect. 2.1.1 are used as source locations for Lagrangian simulations. Three tracer particles are released at zinj and zinj±500  m at each source location. The release at zinj±500 m is used for uncertainty analysis. The end time of the simulations is the TROPOMI measurement time t0 13:30 h local time (Veefkind et al.2012), and the simulation starts at t0−6 h. The particles are released from the source locations every 2 min. Figure 5a shows a simulation of the tracer particles for one plume. The white band indicates particles at the TROPOMI measurement time.

The contribution to fire emissions is low in the early morning, as shown in the ecosystem-specific diurnal cycles by Li et al. (2019). Therefore, we ignore trajectory simulations before t0−6 h. Additionally, the process of heating due to fires is not accounted for in our Lagrangian simulation as we assume the ERA5 velocity fields contain some aspect of heating, as ERA5 assimilates skin surface temperatures.

Figure 5(a) The white band shows all tracer particles at the end of the Lagrangian simulation, and the blue dots show the fire counts on the detected plume. Panel (b) shows the plume height computed for different transects from Lagrangian simulations. The constant plume height (zc) represented by a dashed orange line is 2521.87 m.


In each transect, the heights of the tracer particles released at zinj were extracted, and the mean height, zlag,i, was calculated. This is assumed to be constant along the transect. Figure 5b shows the height of the plume for different transects from the fire source that was used to calculate the velocity, υ, in Eq. (3). The uncertainty in plume height is defined as zlagp and zlagm and was calculated from tracer particles that were released at heights zinj+500 and zinj−500 m, respectively, which can be observed in Fig. 5b. Finally, the velocity, υ, was used to compute emissions.

2.3.4 Filtering during Lagrangian simulations

Related to the Lagrangian simulation, we apply three filters.

  • EE-2. The injection height from the GFAS must be available.

  • EE-3. If the simulated trajectories are not aligned in the direction of the plume, then the plume is rejected.

  • EE-4. If the wind velocity at the TROPOMI measurement time used to compute emissions is less than 2 m s−1, then the plume is rejected.

Filter EE-2 may become relevant due to the false detection of a plume, a false fire in the VIIRS active fire database, or the missing data in the GFAS database. There are several potential origins for filter EE-3: the rotation, errors in ERA5 velocities, the spatial and temporal resolution of velocity fields, or inaccurate injection height. Finally, if the wind speed is below the specified value in EE-4, diffusion dominates the pollutant transport, and the CFM is not appropriate to estimate the CO emissions.

Table 1Results for automated plume detection and emission estimation algorithm (APE v1.1) for 4 months in the US, Australia, and Siberia.

Download Print Version | Download XLSX

3 Algorithm application

The APE algorithm targets global performance and includes several threshold values which need to be carefully determined for optimal performance. For the current version of APE v1.1, we decided to determine the thresholds using the region that encapsulates the United States of America (US) in September 2020. The algorithm is verified by applying it to other regions that encompass Australia (AU) in October 2019 and Siberia (Sib) in June and July 2021 (see Table B1 for more details). It is important to note that these regions are not used to configure APE and can therefore be used to verify the overall performance of the algorithm. The different periods were chosen to focus on the regional burning season to maximize the number of fires observed. Table 1 shows the number of cases evaluated by different APE modules. The columns “fire clusters” and “CO data”, “plume detection”, and “emission estimation” show the results for data preparation (see Sect. 2.1), plume detection (Sect. 2.2), and emission estimation (Sect. 2.3), respectively. Furthermore, the details corresponding to filtering can be found in Tables B2, B3, and B4 in Appendix B.

A total of 5562 fire sources (see Table 1) were identified in the VIIRS active fire data product for all regions based on the clustering method discussed in Sect. 2.1.1. For each fire source, the TROPOMI CO data were filtered for maximum pixel size and quality (see Sect. 2.1.2). The TROPOMI pixel size filter (DP-1) rejected 1533 cases out of 5562 cases that mostly belonged to Australia and the United States. The quality of TROPOMI CO data (DP-2) was found to be insufficient for about 2553 cases in 5562 cases mainly due to the presence of clouds. For the Siberian region in July 2021, more than 50 % of all fire clusters are flagged as bad-quality data for the same reason. Finally, the data preparation part yielded a total of 1327 good CO data granules for all regions for further processing.

The plume detection algorithm described in Sect. 2.2 identified a plume signature in 882 cases for all regions from 1327 good CO data cases available. A total of 445 cases were found not to have enhancements (see Table B3), meaning that the enhancement of CO from these fires was below the detection limit of TROPOMI. In 882 cases, only 378 cases were considered good, as the PD-1 filter flagged 309 identified plumes as short as their plume length was <25 km. Furthermore, the PD-2 filter identified a total of 195 cases where other fire sources and clusters were present in the detected plumes.

The emission estimation algorithm took 378 plumes as input and calculated emissions using the CFM for a total of 226 cases. Therefore, a total of 152 plumes were rejected by the EE-1, EE-2, EE-3, and EE-4 filters during emission estimation (see Table B4 for details). The EE-1 filter removed 29 cases due to overlap with other plumes. The injection height from the GFAS database was not available for 57 cases (EE-2 filter). In addition, the particle–plume alignment filter, EE-3, removed a total of 51 cases. This can be attributed to poor plume detection, inaccurate velocities, or inaccurate injection heights. Finally, the velocity filter, EE-4, rejected a total of 15 cases.

As a final step, the 226 cases were verified by visual inspection. We can see a good performance of the algorithm, as only 5 of the 226 cases were wrongly identified. Figure 6 shows three examples of bad cases. Thus, based on the above analysis, we can conclude that 97.7 % of the cases produced by the algorithm are good.

Figure 6Falsely identified cases by the APE algorithm. Black dots indicate the fire counts, white bands the tracer particles, and the black polygon the detected plume. The dashed black lines are transaction lines.


Overall, APE incorporates strict data filtering, which is mainly driven by the TROPOMI detection limit and data quality due to cloud coverage. However, this should not distract from the fact that TROPOMI is the first instrument that shows these emission features in satellite data. Secondly, the data yield is thinned out further by selecting data which are appropriate for the current APE inversion scheme, which are fire emission events by isolated single sources. Overall, we consider that there will be sufficient data yield for a new TROPOMI CO data product when applied to more than 6 years of global observations.

Figure 7Plume height variation and emissions for regions encapsulating US and Australia (a, b) and Siberia (c, d). (a, c) The mean plume height (see Eq. 8) versus the constant plume height for each fire. The black colour represents δz≤500 m, and the orange colour indicates δz>500 m (b, d). Comparison between the emissions computed at plume height zlag versus zc is represented by black colour and zlag versus a constant plume height of 100 m by the blue colour.


3.1 Cross-sectional flux method (CFM)

The CFM computed emissions for 221 cases. To compare the effect of plume heights, two variables were defined, namely the mean plume height zlag, which is the mean of zlag of all transects along the downwind direction of the plume, and the maximum rise in plume height (δz) with respect to zc. They are given as


Figure 7a and c show the mean plume height zlag plotted against the constant plume height (zc) for the United States, Australia, and the Siberian region. δz decreased and increased in the downwind direction for about 43 and 178 fires, respectively. Furthermore, δz in the downwind direction was found to vary by >500 m for 30 fires in Australia and the United States, as shown by the orange colour in Fig. 7a. However, no such cases were found in Siberia (see Fig. 7c). Among these 30 fires, about 11 fires had δz>1000 m. This increase in plume height in the downwind direction can be attributed to the rising warm air, which may be heated by the fire. Furthermore, this heating can be related to total fire radiative power (FRP) and fire counts, since they describe the heat generated and the burnt area, respectively. However, no such relation was observed, as there were cases with low FRP or low fire counts, where δz>1000 m and vice versa. Additionally, it was challenging to find a suitable reason for a large increase in plume height in the downwind direction. Obviously, this plume height variation can influence the emissions due to the change in the velocity with height.

Figure 7b and d compare the emissions computed from the Lagrangian plume height (Elag) with the emissions computed from the constant plume height (Ec) represented in black and the 100 m plume height (E100) represented in blue. A combination of all cases in Fig. 7b and d shows that Ec varied less than 10 % from Elag for a total of 198 cases. For Siberia fires, the corresponding variation is less than 4 %. However, 23 cases in the United States and Australia show differences of >10 %. Thus, the overall effect of the Lagrangian plume height is considered minor. However, we could identify several cases where the emission estimate from Lagrangian plume height becomes more reliable. For example, a US fire (black colour) in the bottom right of Fig. 7b was found to have a high Elag=809kg s−1 and low Ec=115.9kg s−1. The total fire radiative power (FRP) for this case was the highest among all detected plumes, and the burnt area (number of fire counts in VIIRS data) was the third highest among all detected cases. The CO enhancement was also large, so a high emission estimate is expected. Furthermore, a high FRP is correlated with higher temperatures, so an increase in plume height in the downwind direction is normal. It should be noted that the Lagrangian simulations do not consider heating, but we assume that the meteorological data (velocities) in ERA5 cover this, as it assimilates the surface temperatures. The increase in plume height is observed in Lagrangian simulations, as zlag increases by 1350 m compared to the constant plume height in the downwind direction at 32.5 km from the fire source. From this, we can conclude that Elag may be more appropriate than Ec. Similar reasoning can be used to explain why Elag was higher compared to Ec, where the FRP on average was higher.

Figure 7b and d also compare emissions from Lagrangian plume height to a constant 100 m plume height. We considered 100 m plume height as three-dimensional velocity fields, which are required to compute the CO emissions based on the plume heights zc and zlag, amounting to a large quantity of data. Furthermore, computing emissions by scaling 100 m winds (Hersbach et al.2018) would simplify the approach to a large extent. However, we found no correlation between the difference in the emissions (E100Elag or Ec) and the variation in plume heights. Additionally, a total of 37 fires were found to have negative values for E100 due to a negative velocity at 100 m. This makes it challenging to find an appropriate scaling to obtain emissions at zlag from the velocities at 100 m, thus highlighting the importance of using three-dimensional velocity fields rather than near-surface wind fields at a fixed altitude. From all these observations, we conclude that the varying plume height is more reliable to compute emissions by an automated algorithm.

3.2 Emission uncertainty

Sherwin et al. (2023) validated satellite CH4 data using controlled emission releases of point sources of methane for detection and quantification. For CO, such validation is not possible for single-point releases. Rowe et al. (2022) have shown that the integrals of TROPOMI CO data along the plume transects were ≈7.2 % higher than the aircraft measurements after corrections for a few fires in the US. However, they do not report emissions. Thus, to the best of our knowledge, no independent, high-quality estimate of CO point-source emission is currently available. Hence, to demonstrate the data quality and enhance confidence in our data product, we instead perform a detailed uncertainty analysis disentangling (quasi-)random and systematic errors.

We estimate three different contributions to the uncertainty of the estimated emission, where constant emissions over time are assumed for each fire case. First, the relative variation in the CO fluxes through the different intersects Qi is considered. Different error sources may cause this variation, and the corresponding error in the flux estimate can be characterized by the standard error σE in Eq. (4). Second, errors due to random uncertainties in ERA5 velocity fields are addressed. Finally, systematic errors that affect the different fluxes, Qi, require a different approach. These errors are TROPOMI CO column biases, ERA5 velocity bias, and injection height uncertainty. To complete our error classification, we verify the emission uncertainty in the APE algorithm using data from WRF simulations, where the wind velocities, CO, and injection height are known.

3.2.1 Standard errors

The standard error in the emission estimate encompasses various uncertainty sources, e.g. the interpolation error due to the under-sampling of the CO field by TROPOMI (shown in Fig. 4c), the precision of the TROPOMI CO data, the uncertainty variation in defining the atmospheric CO background per intersect, and the temporal variation in the emission around its mean. σE does not allow us to disentangle these error sources, except for the TROPOMI CO precision, which is specified for every TROPOMI observation. Overall, the precision of the CO column is <10 % per pixel, even for dark scenes over land (Landgraf et al.2016). For the flux estimate, this yields a negligible error contribution. To compare the standard error for different fires, Table 2 reports the maximum relative standard error for the four regions using the Lagrangian plume height and the constant plume height zc. The error for individual fires can be accessed in the database (Goudar et al.2023). The data show that the maximum standard error for the Lagrangian plume height is significantly smaller than for the constant plume height zc for both the US and Australia. This is another indication to use the Lagrangian plume height as a baseline for APE. For the Siberian region, there is no difference between the two methods because the height of the plume does not vary much, as depicted in Fig. 7c. In general, the standard error in the emission estimate is <20 %.

Table 2Maximum values of standard error and emission uncertainties due to plume height for different regions among all fires.

Download Print Version | Download XLSX

Figure 8Histogram plot showing density versus relative standard deviation of emissions from 10 ERA5 ensemble velocity fields for four regions.


3.2.2 ERA5 uncertainties

ERA5 ensemble data (Hersbach et al.2017) are used to quantify velocity uncertainties. The ensemble includes 10 members, and the variation between the members represents random errors but not systematic errors (Hersbach et al.2020). Due to the small size of the ensemble, the data cannot encapsulate all the random uncertainties. For every member j of the ensemble, the Lagrangian plume height (Sect. 2.3.3) is used to calculate the emissions (Elagj) for all plumes. Subsequently, the relative standard deviation σvel/Elag per emission source was computed, where σvel represents the standard deviation of the emissions of the 10 members of the ensemble. Figure 8 shows the density histogram versus the relative standard deviation for all regions. A total of 215 cases among 221 cases have a velocity uncertainty of less than 20 %. One Australian case has an uncertainty >70 %, which was due to a single ensemble whose velocities were ≈3 times higher than the other nine ensembles. Although the ensembles do not fully describe the random errors, we observe less than 20 % uncertainty in 97 % of the cases.

3.2.3 Systematic errors

One potential error that cannot be addressed with the standard error is an overall bias in the TROPOMI CO product. Borsdorff et al. (2019b) reported a CO bias of 3.4 ppb for the TROPOMI product compared to the Total Carbon Column Observing Network (TCCON). This corresponds to a typical relative error <1.7 % for a plume concentration of about 200 ppb in a plume. Rowe et al. (2022) showed that the integrals of TROPOMI CO data along the plume transects were ≈7.2 % higher than the aircraft measurements after corrections for a few fires in the US. Assuming a worst-case scenario, the constant bias of 7.2 % over the plume leads to ≈7.2 % higher emission estimation.

Another error in this category is the emission uncertainty due to the uncertainty in the IS4FIRES injection height of ±500 m (Sofiev et al.2012). For each fire, we calculate two emission uncertainties,

(10) Δ E lag p / m = E lag p / m - E lag E lag ,

using plume heights zlagp and zlagm (see Fig. 5b). Analogously, the uncertainties ΔEcp and ΔEcm for Ec are computed. The uncertainties change from fire to fire and can be found in the data (Goudar et al.2023). Table 2 shows the value of the largest uncertainty per region. For the Siberian region, the maximum uncertainties are small, indicating little vertical variation in the velocity. For the US and Australian regions, the corresponding uncertainties are much larger, and the uncertainties corresponding to the constant emission height are a factor of 2–3 times higher than the Lagrangian plume height uncertainties. This hints at a more variable wind field for these regions. Overall, we estimate that this APE error term is the largest error contribution with an error <100 % for each fire.

Finally, we consider systematic errors in wind velocity that are constant in the plume domain. The error propagates one-to-one into the error of the flux estimate. Uncertainties of the ERA5 wind fields in the tropospheric boundary layer are not reported. Gualtieri (2022) derived near-surface wind errors of 1.76 m s−1 (root mean square error) for ERA5 data. A typical wind speed at the plume height is 3–11 m s−1, and although at the plume height the wind speed error of 1.76 m s−1 might be smaller, we consider this error as a significant error contribution. However, we refrain from quantifying this error due to the lack of reliable knowledge.

3.2.4 Emission uncertainty in APE

We verify our uncertainty estimates by evaluating WRF simulations of a CO plume using APE. The WRF simulation was performed using real atmospheric forcing at 1 km resolution for a fire with the highest FRP (USA, 12 September 2020; see Sect. 3.1). The details of the WRF simulation can be found in Appendix A. Three plumes at three different UTC times shown in Fig. 9a–c were selected, and emissions were estimated by our algorithm. It should be noted that the averaging kernels were not used to degrade to TROPOMI data, and only the enhancements were simulated in the model; thus the background is set to zero by the simulation. The plume height (zlag) was calculated as the maximum height where the concentration became zero, and the fire sources were the same as the sources used in the WRF simulation. The velocity used in both Lagrangian simulations and emission estimations was inferred from the WRF velocity data. The emissions for these plumes were estimated by APE assuming a constant emission in time and are presented in Table 3. Here, the actual emission is the mean of the total known CO emissions from all fire sources with time. The averaging interval is defined as the time the particles take to reach the final transect. Additionally, we degraded the simulation grid to the TROPOMI grid shown in Fig. 9e–g.

Figure 9Three selected plumes at three different UTC times (a, d) at 17:00, (b, e) at 18:00, and (c, f) at 19:00. Top panels (a–c) represent plumes at 1 km grid resolution, and bottom panels (d–f) represent TROPOMI grid resolution.


Table 3Comparison of actual emissions to the emissions computed at plume height zlag for the three selected plumes shown in Fig. 9. The uncertainty in the table is computed as 100 × (actualcomputed)/actual.

Download Print Version | Download XLSX

The uncertainties of the APE emission estimate range between −1.5 % and 38.5 % (Table 3). In all three plumes, the velocity and plume height used by APE are appropriate; however, the emissions computed by our algorithm differed from the actual emissions. This is attributed to the error in the cross-sectional flux method due to the assumption of constant emissions, which might not be the case for a fire. It should be noted that this uncertainty is for one particular case, and it can vary depending on the case. For the three selected cases, the CFM method leads to an error of 28.8 %, 38.5 %, and 1.5 %, which is in the range of the derived standard error. The difference in emissions between high resolution (1 km grid) and low resolution (TROPOMI grid) was found to be less than 2 %. If the velocity is accurate, then it can be concluded that having higher-resolution data does not have much effect on the cross-sectional flux method. Overall, this analysis suggests that the assumption of a constant emission is the major error source next to errors in the wind field and uncertainties in the injection height.

4 Conclusions and recommendations

An automated plume detection and emission estimation scheme for CO flux inversion for single-point fires was developed by integrating four freely available data sources: the VIIRS active fire dataset, the TROPOMI CO dataset, the injection height from GFAS, and ERA5 meteorological data. The automated plume detection and emission estimation algorithm (APE v1.1) was optimized for one region, and its performance is verified for 3 months of data for two other regions, Australia and Siberia. For all regions and for all the fire sources identified by VIIRS, 16 % (882 cases) of the data correspond to clear-sky TROPOMI CO data with a plume signature. Out of those 882 plumes, 309 plumes were too short and about 195 had multiple sources of fire in them. Internal quality filtering of APE reduced the number of estimated fires to 226 cases, which is 26 % of the 882 cases. Finally, the visual filter on APE's output of 226 cases showed a true-positive confidence level of 97.7 % (221 cases). One key element of automated APE detection of fire plumes in the TROPOMI CO dataset is prior knowledge of potential fire locations coming from the VIIRS active fire data product from Suomi NPP. It highlights the potential to fly the Suomi NPP and SP5 satellites in a loose formation with a temporal separation of 3.5 min.

To estimate CO fire emissions, we employed the CFM. Here, we considered three different assumptions on plume heights: first a constant plume height at 100 m altitude, second a constant plume height at the GFAS injection height, and third a varying plume height using a Lagrangian model. The varying plume height approach best reflects the characteristics of fire. If a fire is at its peak, strong convection leads to an upsurge of air, and at the same time, it is transported downwind from the fire source. Note that we assume that the ERA5 velocity fields incorporate this heating effect to some extent, as it assimilates the surface temperature observed by satellites. In our simulations, the plume height varied by more than 500 m in a downwind direction for 30 out of 221 cases, and all 30 cases were in the United States and Australia. The variation in plume height was found to be minimal in Siberia.

The assumption of plume height at 100 m led to unreliable emission estimates and was discarded. The difference in emission estimation for the constant injection height of the GFAS and the varying plume height was observed to be less than 4 % for the Siberian region. We observed larger differences for the US and Australia, where the maximum uncertainty using the varying plume height is half that using a constant plume height. Based on these findings, we decided to use the Lagrangian model for plume height as the processing baseline for APE.

Overall, we estimate the uncertainty of our product with a standard error of <20 %, which mainly accounts for errors due to spatial under-sampling of the CO field by TROPOMI and the assumption of constant emission for the time frame relevant to plume formation. The TROPOMI CO data are of high quality with respect to precision and bias. Based on TCCON, the TROPOMI CO data do not provide any significant contribution to the emission estimate of APE. Additionally, we analysed emission errors due to the uncertainty of injection height from the GFAS. Depending on the meteorological situation in the different regions, errors are <100 %. The random error in the meteorological data (wind velocities) was described using the ERA5 ensemble data and was found to be less than 20 % for 97 % of the cases. Systematic errors due to the wind for every fire case were also considered important; however, they cannot be specified, as the ERA5 data product does not provide an estimate of systematic wind errors.

Finally, the presented APE algorithm is appropriate for estimating CO emissions from single isolated fires from TROPOMI and VIIRS data using a fully automated algorithm. It is considered a baseline for future APE upgrades to optimize automated emission estimates of CO point sources. As a next step, we consider (1) the processing of the entire CO TROPOMI dataset; (2) expanding emission estimations for multiple fire sources; (3) developing an improved inversion scheme, which can be done by developing algorithms that map the simulated tracer particles from Lagrangian simulations to the TROPOMI CO concentrations to compute emissions; and (4) comparing the emissions predicted by APE to available emission databases.

Appendix A: The WRF model description

The WRF model configured in a two-domain configuration is applied in the tracer mode to simulate the transport and dispersion of CO emitted by a wildfire in the US. The outer and inner domains are run at a horizontal grid spacing of 5×5km2 and 1×1km2, respectively. The model domains are centred at 36.16225 N, 119.1528 E and have 43 vertical levels that extend from the surface to a model top of 50 hPa. The outer domain has 200×200 grid points, while the inner domain has 400×350 grid points in the west–east and north–south directions. The meteorological initial and boundary conditions for the outer domain are based on the Global Forecast System (GFS) forecasts available every 3 h at a horizontal grid spacing of 0.25×0.25. The static geographical fields and the GFS output are mapped onto the WRF domains using the WRF Preprocessing System (WPS). The physical parameterizations follow Kumar et al. (2021), except for the cumulus parameterization that is turned off in the inner domain.

Biomass burning emissions are obtained from the NCAR Fire Inventory (FINN; Wiedinmyer et al.2011) version 2.5 and are distributed vertically online using a plume rise parameterization developed by Freitas et al. (2007). This parameterization selects fire properties appropriate for the land use in every grid box containing fire emissions and simulates the plume rise explicitly using the environmental conditions simulated by WRF. Since we are using the model in the tracer mode, the chemical evolution of the plume is not simulated. To describe the loss of CO in the model, we allow the CO fire emissions to decay with an e-folding lifetime of 30 d. No other source (anthropogenic emissions, biogenic emissions, or photo-chemical production from hydrocarbons) is included in the simulation. The model run started on 12 September 2020 at 12:00 UTC and stopped on 13 September 2020 at 00:00 UTC. We used a time step of 20 s for the outer domain and 4 s for the inner domain. The model output is saved every minute and used for further analysis.

Appendix B: Algorithm and simulation details

Algorithm B1APE algorithm: pseudo-code

region and time
for region and time do
Find Fire sources from VIIRS data (Sect. 2.1.1)
for Each fire source do
Extract TROPOMI CO data granule (Sect. 2.1.2)
if Data is good then
Detect plume by plume detection algorithm (Sect. 2.2)
if Plume is detected then
Estimate emission (Sect. 2.3)
end if
end if
end for
end for

Table B1Considered region and time. The region is rectangular and is constructed based on the origin and width and height. The origin is always the south-western point of the region.

Download Print Version | Download XLSX

Table B2Filtering from fire clusters to good CO data. The total column is the same as the fire clusters in Table 1.

Download Print Version | Download XLSX

Table B3Filtering from good data to plume detection in Table 1. The total should represent the good CO data available.

Download Print Version | Download XLSX

Table B4Filtering from plume detection to emission estimation in Table 1. The total should represent the plume detection cases.

Download Print Version | Download XLSX

Code availability

APE v1.1 code is archived on Zenodo (, Goudar2022).

Data availability

The TROPOMI CO dataset of this study is provided by ESA and is available for download at (ESA2023). The injection height from IS4FIRES generated by Copernicus Atmosphere Monitoring Service Information was obtained from!/dataset/cams-global-fire-emissions-gfas (Copernicus Atmosphere Monitoring Service Information2023). The three-dimensional velocities at 127 model levels (, Hersbach et al.2017) and hourly data on single levels (, Hersbach et al.2018) were obtained from the European Centre for Medium-Range Weather Forecasts (ECMWF) Reanalysis v5 (ERA5) on 5 February 2023. The Visible Infrared Imaging Radiometer Suite 375 m thermal anomalies/active fire product (standard processing) generated by NASA FIRMS was also accessed from (NASA FIRMS2023) on 5 February 2023. The processed data are available at (Goudar et al.2023).

Author contributions

MG developed the code and performed the analysis with some input from TB and JL. JCSA master's thesis served as a feasibility study for this work. RK performed WRF simulations and gave inputs on its data analysis. All co-authors commented and improved the paper with a special mention to JL and MG.

Competing interests

The contact author has declared that none of the authors has any competing interests.


Publisher’s note: Copernicus Publications remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.


The National Center for Atmospheric Research is sponsored by the National Science Foundation. The authors thank Andrew Barr for proofreading the article.

Review statement

This paper was edited by Christoph Knote and reviewed by two anonymous referees.


Andreae, M. O., Browell, E. V., Garstang, M., Gregory, G. L., Harriss, R. C., Hill, G. F., Jacob, D. J., Pereira, M. C., Sachse, G. W., Setzer, A. W., Dias, P. L. S., Talbot, R. W., Torres, A. L., and Wofsy, S. C.: Biomass-burning emissions and associated haze layers over Amazonia, J. Geophys. Res., 93, 1509,, 1988. a

Apituley, A., Pedergnana, M., Sneep, M., Veefkind, J. P., Loyola, D., Landgraf, J., and Borsdorff, T.: Sentinel-5 precursor/TROPOMI Level 2 Product User Manual Carbon Monoxide, User Manual SRON-S5P-LEV2-MA-002, 1.0.0, SRON Netherlands Institute for Space Research, Leiden, the Netherlands, 2018. a

Beare, R.: A locally constrained watershed transform, IEEE T. Pattern Anal., 28, 1063–1074,, 2006. a

Beirle, S., Boersma, K. F., Platt, U., Lawrence, M. G., and Wagner, T.: Megacity Emissions and Lifetimes of Nitrogen Oxides Probed from Space, Science, 333, 1737–1739,, 2011. a, b

Bey, I., Jacob, D. J., Yantosca, R. M., Logan, J. A., Field, B. D., Fiore, A. M., Li, Q., Liu, H. Y., Mickley, L. J., and Schultz, M. G.: Global modeling of tropospheric chemistry with assimilated meteorology: Model description and evaluation, J. Geophys. Res.-Atmos., 106, 23073–23095,, 2001. a

Borsdorff, T., de Brugh, J. A., Hu, H., Aben, I., Hasekamp, O., and Landgraf, J.: Measuring Carbon Monoxide With TROPOMI: First Results and a Comparison With ECMWF-IFS Analysis Data, Geophys. Res. Lett., 45, 2826–2832,, 2018. a

Borsdorff, T., aan de Brugh, J., Pandey, S., Hasekamp, O., Aben, I., Houweling, S., and Landgraf, J.: Carbon monoxide air pollution on sub-city scales and along arterial roads detected by the Tropospheric Monitoring Instrument, Atmos. Chem. Phys., 19, 3579–3588,, 2019a. a, b

Borsdorff, T., aan de Brugh, J., Schneider, A., Lorente, A., Birk, M., Wagner, G., Kivi, R., Hase, F., Feist, D. G., Sussmann, R., Rettinger, M., Wunch, D., Warneke, T., and Landgraf, J.: Improving the TROPOMI CO data product: update of the spectroscopic database and destriping of single orbits, Atmos. Meas. Tech., 12, 5443–5455,, 2019b. a, b

Borsdorff, T., García Reynoso, A., Maldonado, G., Mar-Morales, B., Stremme, W., Grutter, M., and Landgraf, J.: Monitoring CO emissions of the metropolis Mexico City using TROPOMI CO observations, Atmos. Chem. Phys., 20, 15761–15774,, 2020. a, b

Brasseur, G. P. and Jacob, D. J.: Modeling of Atmospheric Chemistry, Cambridge University Press,, 2017. a

Brunner, D., Kuhlmann, G., Marshall, J., Clément, V., Fuhrer, O., Broquet, G., Löscher, A., and Meijer, Y.: Accounting for the vertical distribution of emissions in atmospheric CO2 simulations, Atmos. Chem. Phys., 19, 4541–4559,, 2019. a

Butcher, J. C.: Numerical Methods for Ordinary Differential Equations, Wiley,, 2003. a

Cambaliza, M. O. L., Shepson, P. B., Caulton, D. R., Stirm, B., Samarov, D., Gurney, K. R., Turnbull, J., Davis, K. J., Possolo, A., Karion, A., Sweeney, C., Moser, B., Hendricks, A., Lauvaux, T., Mays, K., Whetstone, J., Huang, J., Razlivanov, I., Miles, N. L., and Richardson, S. J.: Assessment of uncertainties of an aircraft-based mass balance approach for quantifying urban greenhouse gas emissions, Atmos. Chem. Phys., 14, 9029–9050,, 2014. a, b

Cambaliza, M. O. L., Shepson, P. B., Bogner, J., Caulton, D. R., Stirm, B., Sweeney, C., Montzka, S. A., Gurney, K. R., Spokas, K., Salmon, O. E., Lavoie, T. N., Hendricks, A., Mays, K., Turnbull, J., Miller, B. R., Lauvaux, T., Davis, K., Karion, A., Moser, B., Miller, C., Obermeyer, C., Whetstone, J., Prasad, K., Miles, N., and Richardson, S.: Quantification and source apportionment of the methane emission flux from the city of Indianapolis, Elementa: Science of the Anthropocene, 3, 000037,, 2015. a, b

Copernicus Atmosphere Monitoring Service Information: Injection height from IS4FIRES (GFAS), Injection height from IS4FIRES generated using Copernicus Atmosphere Monitoring Service Information [data set],!/dataset/cams-global-fire-emissions-gfas, last access: 5 February 2023. a

Crippa, M., Guizzardi, D., Muntean, M., Schaaf, E., Dentener, F., van Aardenne, J. A., Monni, S., Doering, U., Olivier, J. G. J., Pagliari, V., and Janssens-Maenhout, G.: Gridded emissions of air pollutants for the period 1970–2012 within EDGAR v4.3.2, Earth Syst. Sci. Data, 10, 1987–2013,, 2018. a

ESA: TROPOMI level 2 CO data product distributed from Copernicus Open Access Hub [data set],, last access: 5 February 2023. a

Ester, M., Kriegel, H.-P., Sander, J., and Xu, X.: A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise, 226–231, KDD-96 Proceedings,, 1996. a

Finch, D. P., Palmer, P. I., and Zhang, T.: Automated detection of atmospheric NO2 plumes from satellite data: a tool to help infer anthropogenic combustion emissions, Atmos. Meas. Tech., 15, 721–733,, 2022. a

Fiorio, C. and Gustedt, J.: Two linear time Union-Find strategies for image processing, Theor. Comput. Sci., 154, 165–181,, 1996. a

Frankenberg, C., Thorpe, A. K., Thompson, D. R., Hulley, G., Kort, E. A., Vance, N., Borchardt, J., Krings, T., Gerilowski, K., Sweeney, C., Conley, S., Bue, B. D., Aubrey, A. D., Hook, S., and Green, R. O.: Airborne methane remote measurements reveal heavy-tail flux distribution in Four Corners region, P. Natl. Acad. Sci. USA, 113, 9734–9739,, 2016. a, b

Freitas, S. R., Longo, K. M., Chatfield, R., Latham, D., Silva Dias, M. A. F., Andreae, M. O., Prins, E., Santos, J. C., Gielow, R., and Carvalho Jr., J. A.: Including the sub-grid scale plume rise of vegetation fires in low resolution atmospheric transport models, Atmos. Chem. Phys., 7, 3385–3398,, 2007. a

Gao, H., Xue, P., and Lin, W.: A new marker-based watershed algorithm, in: 2004 IEEE International Symposium on Circuits and Systems (IEEE Cat. No.04CH37512), vol. 2, IEEE, IEEE,, 2004. a

Goudar, M.: APE :- Automated Plume detection and Emission estimation algorithm (V1.1), Zenodo [code],, 2022. a

Goudar, M., Anema, J., Kumar, R., Borsdorff, T., and Landgraf, J.: APE generated Data, Zenodo [data set],, 2023. a, b, c

Granier, C., Bessagnet, B., Bond, T., D'Angiola, A., van der Gon, H. D., Frost, G. J., Heil, A., Kaiser, J. W., Kinne, S., Klimont, Z., Kloster, S., Lamarque, J.-F., Liousse, C., Masui, T., Meleux, F., Mieville, A., Ohara, T., Raut, J.-C., Riahi, K., Schultz, M. G., Smith, S. J., Thompson, A., van Aardenne, J., van der Werf, G. R., and van Vuuren, D. P.: Evolution of anthropogenic and biomass burning emissions of air pollutants at global and regional scales during the 1980–2010 period, Climatic Change, 109, 163–190,, 2011. a

Grell, G. A., Peckham, S. E., Schmitz, R., McKeen, S. A., Frost, G., Skamarock, W. C., and Eder, B.: Fully coupled “online” chemistry within the WRF model, Atmos. Environ., 39, 6957–6975,, 2005. a

Gualtieri, G.: Analysing the uncertainties of reanalysis data used for wind resource assessment: A critical review, Renewable and Sustainable Energy Reviews, 167, 112741,, 2022. a

Hersbach, H., Bell, B., Berrisford, P., Hirahara, S., Horányi, A., Muñoz‐Sabater, J., Nicolas, J., Peubey, C., Radu, R., Schepers, D., Simmons, A., Soci, C., Abdalla, S., Abellan, X., Balsamo, G., Bechtold, P., Biavati, G., Bidlot, J., Bonavita, M., Chiara, G., Dahlgren, P., Dee, D., Diamantakis, M., Dragani, R., Flemming, J., Forbes, R., Fuentes, M., Geer, A., Haimberger, L., Healy, S., Hogan, R., Hólm, E., Janisková, M., Keeley, S., Laloyaux, P., Lopez, P., Lupu, C., Radnoti, G., Rosnay, P., Rozum, I., Vamborg, F., Villaume, S., and Thépaut, J.-N.: Complete ERA5 from 1940: Fifth generation of ECMWF atmospheric reanalyses of the global climate, Copernicus Climate Change Service (C3S) Data Store (CDS) [data set],, 2017. a, b, c

Hersbach, H., Bell, B., Berrisford, P., Biavati, G., Horányi, A., Muñoz Sabater, J., Nicolas, J., Peubey, C., Radu, R., Rozum, I., Schepers, D., Simmons, A., Soci, C., Dee, D., and Thépaut, J.-N.: ERA5 hourly data on single levels from 1979 to present, Copernicus Climate Change Service (C3S) Climate Data Store (CDS) [data set],, 2018. a, b

Hersbach, H., Bell, B., Berrisford, P., Hirahara, S., Horányi, A., Muñoz-Sabater, J., Nicolas, J., Peubey, C., Radu, R., Schepers, D., Simmons, A., Soci, C., Abdalla, S., Abellan, X., Balsamo, G., Bechtold, P., Biavati, G., Bidlot, J., Bonavita, M., De Chiara, G., Dahlgren, P., Dee, D., Diamantakis, M., Dragani, R., Flemming, J., Forbes, R., Fuentes, M., Geer, A., Haimberger, L., Healy, S., Hogan, R. J., Hólm, E., Janisková, M., Keeley, S., Laloyaux, P., Lopez, P., Lupu, C., Radnoti, G., de Rosnay, P., Rozum, I., Vamborg, F., Villaume, S., and Thépaut, J.-N.: The ERA5 global reanalysis, Q. J. Roy. Meteor. Soc., 146, 1999–2049,, 2020. a

Hoesly, R. M., Smith, S. J., Feng, L., Klimont, Z., Janssens-Maenhout, G., Pitkanen, T., Seibert, J. J., Vu, L., Andres, R. J., Bolt, R. M., Bond, T. C., Dawidowski, L., Kholod, N., Kurokawa, J.-I., Li, M., Liu, L., Lu, Z., Moura, M. C. P., O'Rourke, P. R., and Zhang, Q.: Historical (1750–2014) anthropogenic emissions of reactive gases and aerosols from the Community Emissions Data System (CEDS), Geosci. Model Dev., 11, 369–408,, 2018. a

Holloway, T., Levy, H., and Kasibhatla, P.: Global distribution of carbon monoxide, J. Geophys. Res.-Atmos., 105, 12123–12147,, 2000. a

Krings, T., Gerilowski, K., Buchwitz, M., Reuter, M., Tretner, A., Erzinger, J., Heinze, D., Pflüger, U., Burrows, J. P., and Bovensmann, H.: MAMAP – a new spectrometer system for column-averaged methane and carbon dioxide observations from aircraft: retrieval algorithm and first inversions for point source emission rates, Atmos. Meas. Tech., 4, 1735–1758,, 2011. a

Kuhlmann, G., Broquet, G., Marshall, J., Clément, V., Löscher, A., Meijer, Y., and Brunner, D.: Detectability of CO2 emission plumes of cities and power plants with the Copernicus Anthropogenic CO2 Monitoring (CO2M) mission, Atmos. Meas. Tech., 12, 6695–6719,, 2019. a

Kuhlmann, G., Brunner, D., Broquet, G., and Meijer, Y.: Quantifying CO2 emissions of a city with the Copernicus Anthropogenic CO2 Monitoring satellite mission, Atmos. Meas. Tech., 13, 6733–6754,, 2020. a, b

Kumar, R., Bhardwaj, P., Pfister, G., Drews, C., Honomichl, S., and D'Attilo, G.: Description and Evaluation of the Fine Particulate Matter Forecasts in the NCAR Regional Air Quality Forecasting System, Atmosphere, 12, 302,, 2021. a

Lama, S., Houweling, S., Boersma, K. F., Eskes, H., Aben, I., Denier van der Gon, H. A. C., Krol, M. C., Dolman, H., Borsdorff, T., and Lorente, A.: Quantifying burning efficiency in megacities using the NO2/CO ratio from the Tropospheric Monitoring Instrument (TROPOMI), Atmos. Chem. Phys., 20, 10295–10310,, 2020. a, b

Landgraf, J., aan de Brugh, J., Scheepmaker, R., Borsdorff, T., Hu, H., Houweling, S., Butz, A., Aben, I., and Hasekamp, O.: Carbon monoxide total column retrievals from TROPOMI shortwave infrared measurements, Atmos. Meas. Tech., 9, 4955–4975,, 2016. a

Lee, B., Cho, S., Lee, S.-K., Woo, C., and Park, J.: Development of a Smoke Dispersion Forecast System for Korean Forest Fires, Forests, 10, 219,, 2019. a

Li, F., Zhang, X., Roy, D. P., and Kondragunta, S.: Estimation of biomass-burning emissions by fusing the fire radiative power retrievals from polar-orbiting and geostationary satellites across the conterminous United States, Atmos. Environ., 211, 274–287,, 2019. a

Li, F., Zhang, X., Kondragunta, S., and Lu, X.: An evaluation of advanced baseline imager fire radiative power based wildfire emissions using carbon monoxide observed by the Tropospheric Monitoring Instrument across the conterminous United States, Environ. Res. Lett., 15, 094049,, 2020. a

Magro, C., Nunes, L., Gonçalves, O., Neng, N., Nogueira, J., Rego, F., and Vieira, P.: Atmospheric Trends of CO and CH4 from Extreme Wildfires in Portugal Using Sentinel-5P TROPOMI Level-2 Data, Fire, 4, 25,, 2021. a, b

NASA FIRMS: VIIRS 375 m Active Fire product (Standard processing) VIIRS 375 m Active Fire product (Standard processing) VJ114IMGTDL_NRT distributed from NASA FIRMS [data set],,, last access: 5 February 2023. a

Nassar, R., Hill, T. G., McLinden, C. A., Wunch, D., Jones, D. B. A., and Crisp, D.: Quantifying CO2 Emissions From Individual Power Plants From Space, Geophys. Res. Lett., 44, 10045–10053,, 2017. a

Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., and Duchesnay, E.: Scikit-learn: Machine Learning in Python, J. Mach. Learn. Res., 12, 2825–2830, 2011. a

Rémy, S., Veira, A., Paugam, R., Sofiev, M., Kaiser, J. W., Marenco, F., Burton, S. P., Benedetti, A., Engelen, R. J., Ferrare, R., and Hair, J. W.: Two global data sets of daily fire emission injection heights since 2003, Atmos. Chem. Phys., 17, 2921–2942,, 2017. a

Rowe, J. P., Zarzana, K. J., Kille, N., Borsdorff, T., Goudar, M., Lee, C. F., Koenig, T. K., Romero-Alvarez, J., Campos, T., Knote, C., Theys, N., Landgraf, J., and Volkamer, R.: Carbon Monoxide in Optically Thick Wildfire Smoke: Evaluating TROPOMI Using CU Airborne SOF Column Observations, ACS Earth and Space Chemistry, 6, 1799–1812,, 2022. a, b, c

Schneising, O., Buchwitz, M., Reuter, M., Bovensmann, H., and Burrows, J. P.: Severe Californian wildfires in November 2018 observed from space: the carbon monoxide perspective, Atmos. Chem. Phys., 20, 3317–3332,, 2020. a, b

Schroeder, W., Oliva, P., Giglio, L., and Csiszar, I. A.: The New VIIRS 375 m active fire detection data product: Algorithm description and initial assessment, Remote Sens. Environ., 143, 85–96,, 2014. a, b, c

Schubert, E., Sander, J., Ester, M., Kriegel, H. P., and Xu, X.: DBSCAN Revisited, Revisited, ACM T. Database Syst., 42, 1–21,, 2017. a

Sherwin, E. D., Rutherford, J. S., Chen, Y., Aminfard, S., Kort, E. A., Jackson, R. B., and Brandt, A. R.: Single-blind validation of space-based point-source detection and quantification of onshore methane emissions, Sci. Rep.-UK, 13, 3836,, 2023. a

Sobel, I. and Feldman, G.: An Isotropic 3x3 Image Gradient Operator, ResearchGate,, 2015. a

Sofiev, M., Ermakova, T., and Vankevich, R.: Evaluation of the smoke-injection height from wild-land fires using remote-sensing data, Atmos. Chem. Phys., 12, 1995–2006,, 2012. a, b

Spivakovsky, C. M., Logan, J. A., Montzka, S. A., Balkanski, Y. J., Foreman-Fowler, M., Jones, D. B. A., Horowitz, L. W., Fusco, A. C., Brenninkmeijer, C. A. M., Prather, M. J., Wofsy, S. C., and McElroy, M. B.: Three-dimensional climatological distribution of tropospheric OH: Update and evaluation, J. Geophys. Res.-Atmos., 105, 8931–8980,, 2000. a

Tian, Y., Sun, Y., Borsdorff, T., Liu, C., Liu, T., Zhu, Y., Yin, H., and Landgraf, J.: Quantifying CO emission rates of industrial point sources from TROPOMI observations, Environ. Res. Lett., 17, 1,, 2022. a, b

van der Velde, I. R., van der Werf, G. R., Houweling, S., Maasakkers, J. D., Borsdorff, T., Landgraf, J., Tol, P., van Kempen, T. A., van Hees, R., Hoogeveen, R., Veefkind, J. P., and Aben, I.: Vast CO2 release from Australian fires in 2019–2020 constrained by satellite, Nature, 597, 366–369,, 2021. a, b

van der Walt, S., Schönberger, J. L., Nunez-Iglesias, J., Boulogne, F., Warner, J. D., Yager, N., Gouillart, E., and Yu, T.: scikit-image: Image processing in Python, PeerJ, 2, e453,, 2014.  a, b, c, d

Varon, D. J., Jacob, D. J., McKeever, J., Jervis, D., Durak, B. O. A., Xia, Y., and Huang, Y.: Quantifying methane point sources from fine-scale satellite observations of atmospheric methane plumes, Atmos. Meas. Tech., 11, 5673–5686,, 2018. a, b

Veefkind, J., Aben, I., McMullan, K., Förster, H., de Vries, J., Otter, G., Claas, J., Eskes, H., de Haan, J., Kleipool, Q., van Weele, M., Hasekamp, O., Hoogeveen, R., Landgraf, J., Snel, R., Tol, P., Ingmann, P., Voors, R., Kruizinga, B., Vink, R., Visser, H., and Levelt, P.: TROPOMI on the ESA Sentinel-5 Precursor: A GMES mission for global observations of the atmospheric composition for climate, air quality and ozone layer applications, Remote Sens. Environ., 120, 70–83,, 2012. a

Watson, C. E., Fishman, J., and Reichle, H. G.: The significance of biomass burning as a source of carbon monoxide and ozone in the southern hemisphere tropics: A satellite analysis, J. Geophys. Res., 95, 16443,, 1990. a

White, W. H., Anderson, J. A., Blumenthal, D. L., Husar, R. B., Gillani, N. V., Husar, J. D., and Wilson, W. E.: Formation and Transport of Secondary Air Pollutants: Ozone and Aerosols in the St. Louis Urban Plume, Science, 194, 187–189,, 1976. a, b

Wiedinmyer, C., Akagi, S. K., Yokelson, R. J., Emmons, L. K., Al-Saadi, J. A., Orlando, J. J., and Soja, A. J.: The Fire INventory from NCAR (FINN): a high resolution global model to estimate the emissions from open burning, Geosci. Model Dev., 4, 625–641,, 2011. a

Short summary
A framework was developed to automatically detect plumes and compute emission estimates with cross-sectional flux method (CFM) for biomass burning events in TROPOMI CO datasets using Visible Infrared Imaging Radiometer Suite active fire data. The emissions were more reliable when changing plume height in downwind direction was used instead of constant injection height. The CFM had uncertainty even when the meteorological conditions were accurate; thus there is a need for better inversion models.