Above-Ground Biomass Estimation

Tool 2: Annual Forest Biomass Change and Degradation Mapping for the period 2007-2010, 2015-2016, using ALOS PALSAR Mosaic


Long wavelength radar data are a long-established method of generating maps of forest AGB in woodlands and dry forests (Le Toan et al. 1992, Le Toan et al. 2011, Ryan et al. 2012, McNicol et al. in press). Free data are now available from JAXA’s ALOS-1 and ALOS-2 L-band sensors (2007 – 2010, 2015 – onwards) (Shimada et al. 2010, Motohka et al, 2012), which offer a relatively straightforward means to generate maps of AGB in woodlands and forests with AGB of up to around 150 tonnes per hectare. The SMFM BIOmass Tool for ALOS (biota) is a tool that generates maps of AGB, AGB changes between multiple years, and uses estimates of AGB change to classify locations of deforestation and degradation. 

Method Design

Use of this tool has four elements:

  • Downloading ALOS mosaic tiles

  • Pre-processing ALOS data

  • Mapping aboveground biomass and forest cover

  • Detection of forest changes

Downloading ALOS Mosaic Tiles

Data from the ALOS mosaic can be accessed from JAXA through a graphical interface online after signing up. The data is delivered in either 1x1 degree tiles or 5x5 degree collections of tiles. To obtain national-scale data using this interface is possible, but for large-scale applications a command-line interface to automate data download is considered preferable.

The biota tool includes a script to download ALOS mosaic tiles directly from the JAXA FTP server. The user specifies either a 1x1 or 5x5 degree tile by its upper-left corner latitude and longitude and a year or set of years. The downloader handles access of both the older ALOS-1 filename structure and the ALOS-2 filename structure. The script also optionally decompress images after download


Pre-processing ALOS Mosaic Tiles

The ALOS mosaic is provided as a series of 1x1 tiles containing composites of multiple overpasses by ALOS-1 and ALOS-2. The format of the ALOS mosaic data is described in detail in its user manual . Backscatter data is stored as 16-bit unsigned digital numbers for each of HH and HV polarisations, and require the application of a calibration equation to generate gamma nought (gamma0) backscatter values in units of decibels:



Biota is a Python module built to automate pre-processing tasks of large volume of data over large areas in a programming environment. The steps for calibration of ALOS mosaic data to a usable object in Python are:

  • Loading of data with GDAL into memory, and extraction of metadata from filenames.

  • Conversion and calibration to gamma-0 backscatter.

  • Application of “bad data” mask, with additional optional masking of data from the wet season and around water bodies and flooded areas.

  • Optional filtering to reduce image noise with an Enhanced Lee Filter, a radar speckle filter that aims to preserve edges.

  • For more advanced users, the tool supports the output of gamma0 data to Geotiffs for customised onward processing chains.

In the pre-processing of radar data, order of processing steps is important. The biota module enforces the use of pre-processing steps in an appropriate order, and through its structure discourages inappropriate use of functions.

Mapping Above-ground Biomass and Forest Cover

The module includes a generic equation to calibrate gamma0 backscatter to forest AGB (McNicol et al. in press). This equation was developed for southern African woodlands using forest plot data from Mozambique, Tanzania and Malawi, using ALOS-1 data. This model for southern Africa can be applied as a first estimate of AGB where appropriate forest plot data does not yet exist.

For global applicability, the tool supports the calibration of country-specific backscatter-AGB relationships using available national forest plot data. Functionality will be provided to ingest shapefiles containing forest plot data and generate a linear or logarithmic calibration equation to relate radar backscatter to AGB. This is of particular importance under the SMFM project as one of the objectives is to provide generic and globally applicable methods and tools.

The biota tool generates forest maps that match and can be tailored to nationally-determined parameters, through the following variables:

  • A forest AGB threshold (in tonnes per hectare) to separate forest from non-forest;


  • A minimum area threshold (in hectares) of contiguous forest.

Maps of AGB and forest cover can be output as GeoTiffs for straightforward visualisation and generation of summary statistics (Figure, a/b, below).


Maps of (a) above-ground biomass (AGB) (brown = low, yellow = moderate, green = high), (b) forest cover (yellow = non-forest, green = forest), (c) AGB change (red = loss, blue = gain) and (d) change classification (red = deforestation, orange = degradation, blue = growth), generated by the biota tool. Maps show a location in Kilwa District of southeastern Tanzania, which underwent rapid land-use change from the expansion of smallholder agriculture between the years 2007 to 2010. These maps are based on data from ALOS-1, a generic southern African biomass-backscatter relationship and an arbitrary definition of forest.

Change Detection

“False positives” in the detection of forest change are a common problem to using data from ALOS because of the noise inherent to radar images. This issue is compounded in use of data from the ALOS mosaic, which may not come from the dry season and cannot be averaged out over multiple images. Thus a naive classification of a difference image based on AGB change thresholds alone will tend to overestimate rates of forest change. The following strategies are employed to suppress noise in radar imagery and to reduce its impact on change predictions were implemented:


  • Filtering: The Enhanced Lee filter suppresses noise. Applied to the gamma0 images in the pre-processing steps.

  • Minimum change area specification: In addition to matching a national forest definition, minimum areas of change can be employed to remove isolated pixels of apparent change.

  • Minimum change intensity thresholds: Spurious changes may be recorded where changes of small magnitude cross the threshold of forest/non-forest. A minimum intensity of change (e.g. 20% loss of AGB) can be used (optional) to filter out some of the changes that likely result from noise in data.

  • Masking of water: In addition to AGB, L-band radar backscatter is sensitive to soil moisture. Areas with seasonal/inter-annual soil moisture changes may therefore be interpreted as changes to AGB. A buffer of user-defined size around rivers and lakes was applied to remove all changes that occur near rivers and water bodies. Ancillary land cover maps can be used to identify areas of frequent flooding to also be masked.

  • Soil moisture correction: Inter-annual variation in backscatter resulting from varying soil moisture may also be corrected using soil moisture estimates from other remote sensing products. We will investigate the utility of these corrections further for the SMFM biota tool.

Biota identifies areas of forest change by identifying locations that change between two years of measurement (e.g. 2007-2010). By default, the tool identifies six classes of change (Table 2), which can be modified to suit national definitions of forest over and forest cover change. In addition to the area of change, the biota tool outputs the magnitude of AGB that can be attributed to each change event. Example outputs are shown in Figure, c/d.







User Interface and Usage

The biota tool is provided as a Python module containing a range of functions to load, calibrate, produce maps of AGB and classify forest change, and generate summary statistics using ALOS mosaic tiles.

The Python scripts required to use this tool should be straightforward to implement to those with limited programming experience. Although the module is still under development, an indicative script for producing two biomass maps and a change map for a 1 x 1 degree tile is shown in code, below.

import biota


# Load data for 2007/2010

data_2007 = biota.LoadTile(‘~/DATA/’, -18, 33, 2007, lee_filter = True)

data_2010 = biota.LoadTile(‘~/DATA/’, -18, 33, 2010, lee_filter = True)


# Generate AGB maps and output GeoTiff files

AGB_t1 = data_2007.getAGB(output = True)

AGB_t2 = data_2010.getAGB(output = True)


# Generate a forest cover maps for 2007

forestcover_2007 = data_2007.getForestCover(forest_threshold = 5, area_threshold = 2.5)


# Add buffer around riverine areas to reduce false positives from soil moisture

data_2010.updateMask(‘rivers.shp’, buffer_size = 750)


# Generate a deforestation/degradation map and output to GeoTiff

biota.CalculateChange(data_2007, data_2010, forest_threshold = 15, intensity_threshold = 0.25, area-threshold = 2.5, output = True)

Documentation and Distribution

The (under development) biota module is available online, with documentation, which will include a number of worked examples for common processing tasks, in progress.

Documentation and worked examples are available online:




Example of Python script for generating a maps of AGB (2007 and 2010), a forest cover map (2007) and a forest change map (2007 to 2010) for the ALOS tile with latitude -18 and longitude 33.

Default definitions of forest change in biota. Changes are classified based on a forest AGB threshold (forest as opposed to non-forest), an intensity threshold (minimum proportional change of AGB) and a minimum area threshold (minimum size for a change event). Source: modified after McNicol et al (2018)

Satellite Monitoring for Forest Management

© 2023