6. L2b Products Format Specification#
6.1 Main Product header#
The Main Product Header (MPH) is an XML file present in all the BIOMASS L2 products.
BIOMASS L2 products are folder based and the MPH is top level leaf of the product tree.
The MPH main scope is to provide all the information related to the:
Genesis of the product;
Identification of the product for example for cataloguing purposes;
Product consistency (filesize).
For the detailed description of the MPH content and format refer to [AD3]. It is very similar to the one described in 4.1, without following fields, which are not present in L2b:
eop:
swathIdentifierSwath identifiereop:
orbitDirectionOrbit directioneop:
wrsLongitudeGridTrack numbereop:
wrsLatitudeGridFrame numbersar:
antennaLookDirectionSAR antenna look direction
Instead, it has a new field “agbTileStatus” (see the “l2b only” comment reported also in 4.1), the field is under eop:metaDataProperty/bio:EarthObservationMetaData as:
eop:metaDataProperty Observation metadata
bio:EarthObservationMetaData
[…] (see 4.1)
bio:agbTileStatus Flag raised when a new iteration is needed (l2b only)
bio:agbTileIteration iteration index (integer value, starting form 1) (l2b only)
The field is a string, with following possible values ‘Complete’, “NotComplete’, ‘Partial’ [AD10]
6.2 Measurement data sets (MDS)#
The MDS of the L2b products is constituted by following quantities:
the dry weight of above ground biomass image binary raster data layer;
a layer of quality indication for each of the above ground biomass image pixel;
BPS_FNF: this is the annotation of Forest mask which defines, for each geographical pixel, the presence or absence of forest and which is used to discard invalid forest regions during aggregation of L2a in L2b products.
If the L2b FD product is provided as input, this MDS is the CFM pre-computed contained in L2b FD product, otherwise it is the FNF from L2a annotation LUT.
a Heat Map annotation of integer numbers (ubyte) which stores, pixel wise, how many L1c images have been used to compute each pixel (this information is completed with the list of all L1c images used by the processor, see input information DSR 6.3.1.3).
Acquisition ID Image: a multilayer image (COG format) where each contributing L2a input incidence map is stored (as a binary map); the number of layers is equal to the number of L2a inputs and their order is the same with respect to the L2a inputs ().
For all the images, following considerations are the same.
All the L2b image products are geocoded to specific BIOMASS tiling latitude-longitude geographic DGG, described in [RD9], ensuring a ground sampling always better than the resolution.
In particular, we have that L2b images are aggregations of the L2a products insisting on the same location on ground (a single tile of the above DGG); a different number of L2a products may be available for the MDS geographic grid tile, based on tile dimensions and swath coverage.
The format used to store the L2b images is again the Cloud Optimized GeoTIFF (COG) [RD1].
Details about COG format and its usage to store images are already explained in sec. 4.2 for L2a products and apply as well to L2b products;
Metadata
Metadata is the same of the L2a one, already described in sec. 4.2 and Tab.2. the only difference is the absence of “MATRIX_REPRESENTATION”, “PolarisationsSequence”, “Swath”, and “POLARIMETRIC_INTERP” metadata in L2b.
Overviews
Same considerations already explained in 4.2
6.3 Annotation data sets (ADS)#
6.3.1 Main ADS#
This section describes in detail the content of main ADS for L2b products. Differences from L2b products are in the description, where needed.
An overview is provided by the two figures below and by the table which describes all the elements, both for L2b.

Fig. 19 — main L2b ADS
Table 41 — Main L2b ADS
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
product |
Product L2b DSR. This DSR contains the L2b product information. |
|
1 |
|
Raster image DSR. This DSR contains all the necessary information to exploit the L2b raster images. |
|
1 |
InputInformation |
Input Information L2b DSR. This DSR contains the necessary information to identify the L2a products in input to L2b processor and also a list of all the L1c acquisitions used to generate those L2a products. |
InputInformationL2bL3ListType |
1 |
|
Processing parameters DSR. This DSR contains the description of L2b processing parameters. |
|
1 |
6.3.1.1 Product L2b DSR#
This DSR contains the parameters to describe the L2b product.
An overview is provided by figures and table below.

Fig. 20 — product L2b DSR
Table 42 — Product L2b DSR (productL2Type)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
mission |
Mission (BIOMASS). |
|
1 |
tileID |
DGG geographic cell (tile) identifier (one element list). |
|
1 |
basinID |
List of DGG basin identifiers. |
|
1 |
|
Product type ( |
|
1 |
|
Start time of the image [UTC]. |
|
1 |
|
Stop time of the image [UTC]. |
|
1 |
|
Radar carrier frequency [Hz]. |
|
1 |
|
Mission phase identifier. |
|
1 |
|
Sensor mode (always Measurement). |
|
1 |
|
Global coverage identifier. |
|
1 |
|
List of all the DGG tiles in the input neighbourhood, contributing for AGB parameter estimation (5x5 neighbourhood). Mandatory only in L2B AGB products. |
|
0,1 |
calABcoveragePerTile |
|
calABcoverageTilesListType |
0,1 |
GNcoveragePerTile |
Input GN products coverage per tile [% and absolute numbers], for each of the tiles in the input neighbourhood for AGB parameter estimation (5x5 neighbourhood). Mandatory only in L2B AGB products. |
GNcoverageTilesListType |
0,1 |
Table 43 — Product L2b DSR (calABcoverageTilesListType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
ID |
Tile ID |
|
1 |
tile |
|
calABcoverageType |
0…25 |
Table 44 — Product L2b DSR (calABcoverageType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
|
|
|
1 |
|
|
calABfilteredCoverageType |
1 |
Table 45 — Product L2b DSR (calABfilteredCoverageType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
|
|
|
1 |
afterAGBvalueFiltering |
|
|
1 |
afterAGBstdFiltering |
|
|
1 |
afterAGBrelativeStdFiltering |
|
|
1 |
afterLCMClassFiltering |
|
|
1 |
Table 46 — Product L2b DSR (GNcoverageTilesListType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
ID |
Tile ID |
|
1 |
tile |
Input GN products coverage, for each tile |
GNcoverageListType |
0…25 |
Table 47 — Product L2b DSR (GNcoverageListType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
acquisitionID |
GN product acquisition ID |
|
1 |
GN |
Input GN product coverage, for each input GN (unbounded) and current tile |
GNcoverageType |
1 unbounded |
Table 48 — Product L2b DSR (GNcoverageType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
|
Input GN product original coverage (current GN and current tile) percentage and number of pixel values |
|
1 |
|
Input GN product filtered (current GN and current tile) percentage and number of pixel values after each filtering.[RD] |
GNfilteredCoverageType |
1 |
Table 49 — Product L2b DSR (GNfilteredCoverageType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
|
Input GN product filtered coverage, percentage and number of pixel values after all filtering concatenate.[RD] |
|
1 |
|
Input GN product filtered coverage, disaggregated percentage and number of pixel values after filtering only for GN Sigma (backscatter) values limits. [RD] |
|
1 |
|
Input GN product filtered coverage, disaggregated percentage and number of pixel values after filtering only for GN Incidence Angle values limits. [RD] |
|
1 |
Table 50 — Product L2b DSR (percentPixelType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
percentage |
Coverage in percentage of the whole Tile |
|
1 |
pixels |
Coverage in number of pixels of the whole Tile |
|
1 |
6.3.1.2 Raster Image L2b DSR#
This DSR contains all the necessary information to exploit the raster images of all the L2b MDS, it is already described in Fig. 4, Tab.10, Tab.11, Tab.12, Tab.13, the differences are:
the projection which here is the specific “DGG” described in [RD9].
Table 51 — pixelRepresentationChoiceType (only L2b AGB choice described here)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
AGB |
Representation of the image pixels within the image MDS: Above Ground Biomass [t/ha] |
|
1 |
|
Representation of the image pixels within the image MDS: Above Ground Biomass quality [t/ha] |
|
1 |
|
Representation of the image pixels within the image MDS: Heat Map |
|
1 |
|
Representation of the image pixels within the image MDS: |
|
1 |
Acquisition_id_image |
Representation of the image pixels within the image MDS: Acquisition ID image |
|
1 |
6.3.1.3 Input Information L2b DSR#
This DSR contains, for each of the L2a Product in input to L2b processor:
the folder name of L2a product;
the L1c acquisitions used to generate that L2a product; it is an InputInformationL2aType, see description in 4.3.1.3 and Tab.14, Tab.15.
An overview is provided by figure below and in the table below for the L2inputs.

Fig. 21 — Input information L2b DSR (InputInformationL2bL3ListType)
Table 52 — Input information L2b DSR (InputInformationL2bL3ListType )
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
count |
XML attribute. |
|
required |
L2aInputs |
One entry for each L2a product in input to L2b. Each entry contains two elements: L2aProductFolderName and L1inputs. |
L2aInputsType |
1…N |
Table 53 — Input information L2b DSR (L2aInputsType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
L2aProductFolderName |
Folder name of each L2a product, as defined in sec. 3.2 (One string for each “L2aInputs” entry). |
|
1 |
L2aProductDate |
Product date for each L2a product |
|
1 |
L1inputs |
L1c acquisitions used to generate the L2a product. See 4.3.1.3 and Tab.14, Tab.15, Tab.20. (One element for each “L2aInputs” entry). |
InputInformationL2aType |
1 |
6.3.1.4 Processing parameters L2b DSR#
This DSR contains the exhaustive list of L2b processing parameters applied. An overview is provided by figures and table below.

Fig. 22 — processing parameters L2b DSR
Table 54 — Processing parameters L2b DSR
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
|
Version of the processor used to generate the product. |
|
1 |
|
Product generation time [UTC]. |
|
1 |
|
True if Forest/Non-Forest map masking has been performed during L2a products merging, false otherwise. |
bool |
1 |
|
The minimum percentage of tile coverage used to trigger the computation. |
|
1 |
|
Set of landcover class indices ignored |
|
1 |
|
Lower and upper limits on backscatter in linear units. Default values are 0.0001,100 for all polarisations) |
BackscatterLimitsType |
1 |
|
Used lower and upper limits on the local incidence angle [rad]. |
|
1 |
meanAGBLimits |
Used lower and upper limits on the AGB mean in [t/ha]. |
|
1 |
stdAGBLimits |
Used lower and upper limits on the AGB std in [t/ha] |
|
1 |
relativeAGBLimits |
Used lower and upper limits on AGB standard deviation relative AGB mean (coefficient of variability), in linear units. |
|
1 |
|
Selection of reference data (second iteration only). String with following possible values: ‘ |
|
1 |
indexingL |
Used “L” parameter variability with polarization ’p’, date ’j’, forest class ’k’ |
|
1 |
indexingA |
Used “a” parameter variability with polarization ’p’, date ’j’, forest class ’k’. |
|
1 |
indexingN |
Used “n” parameter variability with polarization ’p’, date ’j’, forest class ’k’. |
|
1 |
|
If True, indexingN=p has been forced (for all polarisations). |
bool |
1 |
|
Values used if |
|
1 |
|
Computational complexity used for the regression: “double” “float” |
|
1 |
|
Subsampling factor used during AGB regression, computed live basing on available RAM remaining (starting from job order Amount_of_RAM) |
|
1 |
|
The minimum percentage of invalid pixels which triggered a new iteration. |
|
1 |
|
L2B AGB algorithm estimated inversion parameters “N”, “A”, “L”: the parameters can have variability along polarisations, LCM classes and temporal dates. |
|
1 |
|
Configurable compression options for all the L2b MDS COG. |
|
1 |
Table 55 — BackscatterLimitsType L2b DSR
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
BackscatterLimitsType |
Used lower and upper limits on backscatter in linear units: three enumerates elements “HH”, “VH”, “VV”, each of MinMaxType |
MinMaxType |
3…3 |

Fig. 23 — Processinc parameters L2b DSR (estimatedParametersL2bAGBType)
Table 56 — Processing parameters L2b DSR (estimatedParametersL2bAGBType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
rho |
AGB estimation Rho value: logarithmic bias correction as the ratio of the average reference AGB to the average estimated AGB |
|
1 |
polarisations |
Attribute of beow described “Polarisation” element; possible values: “HH”, “VH”, “VV”, “HH VH VV” |
|
1 |
Polarisation |
Parameters estimated during AGB processing |
|
1 or 3 |
Note on estimatedParametersPolarisationType
It is a unique complex type (see Fig. 23), containing an xsd:sequence of “LCM” elements, which contains an xsd:sequence of “date” elements, which contains xsd:all “N”, “A”, and “L” elements, each of them each composed by the final xsd:sequence with “mean” and “std” elementary “xsd:float” elements)
Table 57 — Processing parameters L2b DSR (estimatedParametersPolarisationType )
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
classes |
String with integers separated by spaces, indicating group of LCM classes, i.e. “1 2 3” |
|
required |
LCM |
Sequence of “LCM” elements. Each LCM in the sequence collects, for each date, the “N”, “A”, “L” estimated parameters variability for the LCM classes specified in the attribute. |
|
1…unbounded |
Table 58 — Processing parameters L2b DSR (xsd:complexType (LCM))
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
dates |
String containing two dates (in the |
|
required |
date |
Sequence of “date” elements. Each “date” collects the “N”, “A”, “L” estimated parameters variability inside the dates interval specified in the attribute. |
|
1…unbounded |
Table 59 — Processing parameters L2b DSR ((sd:complexType (date))
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
N |
AGB inversion algorithm estimated parameter “N” for a specific polarisation group, LCM classes group and specified dates interval. |
|
1 |
A |
AGB inversion algorithm estimated parameter “A” for a specific polarisation group, LCM classes group and specified dates interval. |
|
1 |
L |
AGB inversion algorithm estimated parameter “L” for a specific polarisation group, LCM classes group and specified dates interval. |
|
1 |
Table 60 — Processing parameters L2b DSR (xsd:complexType (N, A, L))
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
mean |
Mean value for the estimated regression parameter |
|
1 |
std |
Standard deviation value for the estimated regression parameter |
|
1 |

Fig. 24 — Processing parameters L2b DSR (compressionOptionsL2bType)
Table 61 — Processing parameters L2b DSR (compressionOptionsL2bType)
Name |
Description |
Data Type |
Cardinality |
|---|---|---|---|
MDS à AGB à |
ZSTD algorithm compression factors used for all the images MDS. From 0 to 9, where zero means no compression. |
|
1 |
MDS à AGB à |
Used absolute maximum error admitted (which defines exactly how lossy has been the LERC compression algorithm). Zero means loss-less compression. |
|
1 |
|
MDS COG blocking algorithm size. Same value is used for both data array dimensions. |
|
1 |
6.3.1.5 Annotation LUT DSR#
This has no difference respect to the one already described in 4.3.2.
6.3.1 Quick-look ADS#
The Quick-look ADS is composed by lower resolution versions of all the MDS images.
The details about Quick-look ADS already explained in sec. 4.3.1 for L2a products apply as well to L2b products.
6.3.2 Overlay ADS#
The Overlay ADS is a Keyhole Markup Language (KML) file that describes the product coverage area and is suitable for viewing the Quick-look ADS in any application that supports KML format (like, e.g., Google Earth or GIS applications).
The details about Quick-look ADS already explained in sec. 4.3.2 for L2a products apply as well to L2b products.


