Sentinel-1 SAR Backscatter Analysis Ready Data Preparation in Google Earth Engine

: Sentinel-1 satellites provide temporally dense and high spatial resolution synthetic aperture radar (SAR) imagery. The open data policy and global coverage of Sentinel-1 make it a valuable data source for a wide range of SAR-based applications. In this regard, the Google Earth Engine is a key platform for large area analysis with preprocessed Sentinel-1 backscatter images available within a few days after acquisition. To preserve the information content and user freedom, some preprocessing steps (e.g., speckle ﬁltering) are not applied on the ingested Sentinel-1 imagery as they can vary by application. In this technical note, we present a framework for preparing Sentinel-1 SAR backscatter Analysis-Ready-Data in the Google Earth Engine that combines existing and new Google Earth Engine implementations for additional border noise correction, speckle ﬁltering and radiometric terrain normalization. The proposed framework can be used to generate Sentinel-1 Analysis-Ready-Data suitable for a wide range of land and inland water applications. The Analysis Ready Data preparation framework is implemented in the Google Earth Engine JavaScript and Python APIs.


Introduction
Global coverage satellite data are considered indispensable for earth monitoring due to their large scale availability and low cost. In this regard, the Sentinel-1 synthetic aperture radar (SAR) data from the European Union's Copernicus program is unique, as it, for the first time, provides temporally dense and high spatial resolution satellite SAR imagery freely for the entire globe.
Sentinel-1's cloud-penetrating radar provides gap-free observations in almost all weather, day and night and is considered a valuable data source for monitoring the earth's surface particularly in regions with year round cloud cover. Examples of large-scale Sentinel-1 SAR applications include forest disturbance monitoring [1], rice cropland mapping [2], ground deformation monitoring [3], and inland water body monitoring [4].
In the 2010s, Google introduced Google Earth Engine (GEE) to further enhance the usability of satellite imagery for large scale applications. GEE is a web-based platform providing global-scale and analysis-ready earth observation data and the cloud computing infrastructure required for their analysis [5]. For SAR backscatter imagery, however, Analysis Ready Data (ARD) is a concept that doesn't have a fixed definition and can vary by application.
For example, radiometric terrain normalization is a recommended preprocessing step for most forest applications whereas, in ice monitoring, due to the absence of reliable and up-to-date digital surface models, radiometric terrain normalization is usually not performed. To preserve the maximum information content and user freedom to adapt and optimize the preprocessing to specific application needs, the processing of the Sentinel-1 SAR backscatter data ingested in GEE is limited to thermal noise removals, data calibration, multi-looking, and range-doppler terrain correction, however, additional preprocessing is not performed.
Specifications and recommendations on additional preprocessing to generate SAR backscatter ARD are being developed [6,7]. The most authoritative guide towards SAR backscatter ARD comes from the Committee on Earth Observation Society (CEOS) Analysis-Ready-Data for Land (CARD4L) [7]. For a range of applications, CARD4L recommends additional preprocessing steps, such as speckle filtering and radiometric terrain normalization, to be implemented by the user to make the data ready for information extraction. However, due to the technical nature of SAR data, expert knowledge is needed to implement the additional preprocessing steps, which is still limiting the uptake of SAR data within the wider remote sensing community [8].
To support additional Sentinel-1 SAR data preprocessing in GEE, some implementations can be found scattered in online forums while other components are published. Here, we combine existing and new GEE implementations in a comprehensive framework for preparing Sentinel-1 SAR backscatter ARD in GEE suitable for a wide range land and inland water applications that includes additional border noise correction, speckle filtering and radiometric terrain normalization. The provided ARD preparation framework supports a wide range of monitoring and mapping applications.

Sentinel-1 SAR Backscatter ARD Preparation Framework
The implemented framework to prepare Sentinel-1 SAR backscatter ARD ( Figure 1) includes additional border noise removal, speckle filtering, and radiometric terrain normalization applied to a Sentinel-1 GEE image collection. All the additional preprocessing is optional and can be adjusted by the user depending on their specific requirements and application needs. The framework is implemented in both GEE Javascript and the Python application programming interface (API) (https://github.com/adugnag/gee_s1_ard).

Sentinel-1 Data Selection
The Sentinel-1 collection in GEE includes Sentinel-1 Ground Range Detected (GRD) scenes, processed using the Sentinel-1 Toolbox to generate a calibrated, ortho-corrected product. The collection includes all Sentinel 1-A and 1-B GRD image products acquired in both ascending and descending orbits and is updated daily. The GRD images utilized in this framework are acquired in interferometric wideswath (IW) mode. The Sentinel-1 GRD images have a pixel spacing of 10 m at which the full information detail is guaranteed, and a spatial resolution, i.e., the ability to separate between adjacent target objects on the ground of approximately 20 × 22 m [9].
The Sentinel-1 constellation acquires images globally every 6 to 12 days, while, in some regions, it has a higher revisit time due to acquisition overlap ( Figure 2) [10]. We used the Sentinel-1 GRD data in the GEE catalogue that are retained in linear scale (S1_GRD_FLOAT) as all the preprocessing steps require the data to be in linear scale. Data can be selected in single polarization i.e., V H or VV or dual polarization mode i.e., VV and V H . We did not consider the Sentinel-1 imagery in HH and HV polarization as the coverage is predominantly in polar regions and our proposed preprocessing framework is designed for land and inland water application.

Additional Border Noise Correction
The presence of border noise in Sentinel-1 GRD products is one of the unwanted artifacts that should be removed before further analysis [11]. Originally, the border noise artifacts were produced when transforming the raw data to level-1 products by the Sentinel-1 Instrument Processing Facility software (IPF) 2.34 to 2.84 [11]. The dataset produced after upgrading the IPF to the new version released on March 2018 correctly applies the GRD border noise removal functionality. However, even after applying border noise correction, artifacts still remain in some images.
We implemented an additional masking procedure that removed most of the remaining border artifacts. The additional border noise removal followed in our implementation was modified from Hird et al. [12] (supplementary material) and is based on an incidence angle threshold and removing anomalous backscatter values from the neighboring pixels in the border region. For details on border noise removal please refer to Stasolla and Neyt [11] and Hird et al. [12] (supplementary material).

Speckle Filtering
Speckle filtering is an important component of SAR image preprocessing as all SAR images are inherently affected by speckle. We have implemented key mono-temporal and multi-temporal speckle filters available in the literature. The mono-temporal speckle filters apply filtering to each individual image independently. These speckle filters range from a simple blind low-pass filter, such as the boxcar filter, to different adaptive filters, such as the Lee filter [13], Gamma Maximum A-posterior (MAP) Filter [14,15], Refined Lee filter [16], and the improved Lee sigma filter [17]. The Refined Lee speckle filter used in this note, was adopted from [18]. We also implemented the multi-temporal image filtering framework introduced by Quegan and Yu [19] in combination with the above mentioned mono-temporal filters.
To make multi-temporal filtering more consistent, we included additional parameters, such as the number of images used in the multi-temporal filtering framework. Additionally, only images with a similar geometry were considered in the multi-temporal filtering framework irrespective of the acquisition orbit in order to not degrade the quality of the speckle-filtered Sentinel-1 image collection. This was done by frame matching between images available in the collection to include only fully overlapping image frames.
Users can evaluate the performance of speckle filters qualitatively by visually checking the speckle reduction in homogeneous regions and the preservation of subtle features, such as roads and point scatterers, in the filtered images or quantitatively using the equivalent number of looks (ENL) or coefficient of variation in homogeneous regions in the image. Please refer to Di Martino et al. [20] and Mullissa et al. [21] for details.

Radiometric Terrain Normalization
Radiometric terrain normalization is important to mitigate the effect of topography on the SAR backscatter. We implemented a simplified angular-based correction approach suggested in Hoekman and Reiche [22]. Since the Sentinel-1 images ingested in GEE were in ground range and all orbital state vectors were lost, we used the GEE implementation of Vollrath et al. [8] that adopted the volume scattering and surface scattering models from Hoekman and Reiche [22]. Both reference models depend on the angular relationships between the SAR image and the terrain geometry. The angular based radiometric terrain normalization implemented in GEE depends only on angles, from which a simplified relation between the image and terrain can be derived.
By default, we used the Shuttle Radar Topography Mission (SRTM) digital elevation model (DEM) at a resolution of 1 arc-second (∼30 m) [23], available as a GEE asset, to derive the elevation, slope and aspect values used in the radiometric terrain normalization. For areas greater than 60 degrees latitude where SRTM is not available, an alternative DEM, such as ASTER DEM [24], should be used. The SRTM DEM may also be substituted by regional high-resolution DEMs that better fit the spatial resolution of Sentinel-1, available as part of the Google Earth Engine collection or as uploaded by the user.
The radiometric terrain normalization provides a simplified mask to remove pixels in the active layover and shadow area in the image [8,22]. In this implementation, regions falling under an active layover and shadow areas are masked out by default. We also provide an optional additional buffer functionality set in 'meters' to account for passive layover and shadow in the image. Please refer to Vollrath et al. [8] for a detailed description.

Output
The processed Sentinel-1 ARD image collection can be formatted to a linear power or dB scale. For radiometrically terrain corrected outputs, the data will always be in gamma naught (γ 0 ) as the terrain normalization in Hoekman and Reiche [22] is defined for γ 0 .
In the absence of radiometric terrain normalization, the data is processed in sigma naught (σ 0 ). To export the processed image collection, we provided the export-to-asset option so that every image in the collection can be exported to a GEE asset. Experienced users can, however, modify the script to export their data to Google Drive or Google Cloud storage.
The Sentinel-1 ARD preparation framework is implemented in both the JavaScript in the GEE code editor (Figure 3) and the GEE Python API (https://github.com/adugnag/ gee_s1_ard). For quick prototyping and visualization, the JavaScript code editor is well suited, whereas, for large-scale operational processing, the Python API is appropriate. If the dual polarization state is selected, the first image taken from the processed collection is visualized in RGB ( VV , V H , VV/V H ratio) (Figure 4). To aid in visualization and interpretation, the output data format can be changed to a dB scale by the user.  (b) after applying additional border noise removal, a 9 × 9 multi-temporal Gamma MAP speckle filter and radiometric terrain normalization with a volume scattering model. Here VV is in red, VH is in green, and VV/VH ratio is in blue.

Discussion
We proposed a framework to prepare Sentinel-1 SAR backscatter ARD in GEE that is applicable for a wide range of large-scale land and inland water applications. Having Sentinel-1 backscatter ARD available in GEE follows the philosophy of bringing algorithms to data, thus, eliminating the costly process of downloading and storing large amounts of data. While some of the methods described in this technical note have already been published and others have been implemented in GEE, the provision of a comprehensive framework combining processing steps now provides a tool for GEE-based large-area mapping and monitoring applications.
The implementation of speckle filters and radiometric terrain normalization in GEE gives the user options to use different parameters for preprocessing the Sentinel-1 images depending on the envisioned application and scale of processing. The proposed ARD framework's capability has been demonstrated for generating Sentinel-1-based forest disturbance alerts in the Congo basin, Africa [1] and in the Sepal platform (https://sepal.io) for preprocessing Sentinel-1 SAR data.

Conclusions
We provided an implementation both in GEE JavaScript and Python API to achieve Sentinel-1 SAR backscatter ARD that is ready for information extraction. We believe these implementations will make preprocessing Sentinel-1 images in GEE easier for a wider range of researchers and non-experts.