Algorithm Theoretical Basis Document of
GCOM-C/SGLI Ver.3 Cloud Flag Product (CLFG)
by
Kazuhisa Tanada
Japan Aerospace Exploration Agency
Earth Observation Research Center

8 October 2021

Contents
1 Introduction
1.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Development strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22
2

2 Theoretical Description
2.1 Processing flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Deep neural network method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Output labels and Input data selection . . . . . . . . . . . . . . . . . . . . . .
2.2.2 DNN model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Ground truth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Training and results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Flag selection for the final output . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3
3
3
5
6
6
6

3 Validation10
3.1 Validation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Bibliography

131Introduction
1.1

Objectives

This Ver.3 cloud flag algorithm (CLFG; A1ABC) is developed for improving Ver.2 CLFG algorithm,
where the known problems of Ver.2 CLFG are as follows:• Accuracy of discriminating snow and ice from clear sky in day time
• Accuracy of discriminating heavy aerosols and clouds in day time
• Accuracy of discriminating cloud and clear-sky at night time

1.2

Development strategy

To solve the problems above, we newly developed a deep neural network (DNN) method. This
DNN method is processed at the same time as Ver.2 CLFG method (CLAUDIA) [2] processing.
Comparing the results obtained from two different methods for each pixel, the more plausible
result is chose to output the final cloud flag. The cloud flag for the areas that do not need any
improvements would be the same as the Ver.2 method because the algorithm of Ver.3 basicallydeveloped to focus on the weak points of Ver.2.
In particular, at night time, it is difficult to classify because only 2 thermal channels (10.8 and12.0 µm) can be used. In addition, preparing the ground truth data is almost impossible since
there are no important information such as visible images. We therefore use latitude, elevation,
day of year, and 2 thermal channels data at day-time as the night-time training and ground truth
data to improve the accuracy of classification.

2

Theoretical Description
2.1

Processing flow

Fig. 2.1 indicates the flow of the Ver.3 CLFG processing. The new method ”DNN method” isprocessing simultaneously with processing of CLAUDIA method. The input data for the DNN
method are the satellite data (LTOA product which is radiance data at the top of atmosphereobserved by GCOM-C/SGLI) and 1/24◦ spatial resolution digital elevation model (DEM) data.
The resolution of the input satellite radiance product is depending on the resolution of the output
CLFG (Q:250m, K:1km and F:1/24◦ ). Then, comparing the both results obtained from CLAUDIA
and the DNN methods, the final cloud flag is determined by ”flag selection” process.

Figure 2.1

2.2

Deep neural network method

2.2.1

Output labels and Input data selection

The purpose of the DNN method is to obtain the classification such as clear sky, cloudy, snow/ice
cover for each pixel of satellite images. First, we defined the output labels of the DNN model as 5
categories, ”land”, ”ocean”, ”cloudy”, ”heavy aerosol”, and ”ice/snow” for the day-time process.
Since the number of available satellite input data for the night (ascending) process is less thanthat of the day (descending) process, we reduce the number of categories to 4 to simplify theclassification, including ”land/ocean”, ”cloudy”, ”heavy aerosol”, and ”ice/snow” for the night3

4

Theoretical Description

time process. The difference between the number of categories for day and night is not a problem
for the output cloud flag because both the categories of ”land” and ”ocean” have the same meaningof clear sky pixels.
In order to select the effective input data for the DNN model, we calculate the standard partial
regression coefficient which shows the relative importance of different variables with the output
categories. Fig. 2.2 shows the value distribution of the input data candidates for 5 categories (thelist of the input data candidates is shown in Table 2.1). This distribution is obtained by collecting
the SGLI’s LTOA data and DEM globally for various day of year (the used data detail will be
described in Section 2.2.3). The calculated standard partial regression coefficients for the input
data candidates are shown in Fig. 2.3. We selected the 9 SGLI channels from 380 nm to 12.0 µmthat have high coefficients, in addition to latitude data, elevation data (DEM) and day of year forthe day-time process. For the night-time process, we used 2 SGLI thermal channels (10.8 and 12.0µm), latitude data, DEM and day of year.

Figure 2.2

Figure 2.3

Then, the data as shown in Table 2.1 are used to input the DNN model.

2.2. DEEP NEURAL NETWORK METHOD

5

Table 2.1: Input data for the day- and night-time processes
candidates
latitudelongitude
VN01 (380 nm)
VN02 (412 nm)
VN03 (443 nm)
VN04 (490 nm)
VN05 (530 nm)
VN06 (565 nm)
VN07 (673.5 nm)
VN08 (673.5 nm)
VN09 (763 nm)
VN10 (868.5 nm)
VN11 (868.5 nm)
SW01 (1050 nm)
SW02 (1380 nm)
SW03 (1630 nm)
SW04 (2210 nm)
TI01 (10.8 µm)
TI02 (12.0 µm)
DEMdate (day of year)

spatial resolution
250 m
250 m
250 m
250 m
250 m
250 m
250 m
250 m
250 m
250 m
250 m
250 m
250 m
1000 m1000 m
250 m
1000 m
250 m
250 m
1/24◦
250 m

day
X

night
X

X
X
X
X

X
X

X
X
X
X
X

X
X
X
X

Note: Different input data are used forday (descending) and night (ascending) processing.

2.2.2

DNN model

We use a 3-layer DNN architecture in this method as described below (with Keras model [1]):#Input layer:model.add(Dense(200, input dim=dim))model.add(Activation(”relu”))
model.add(Dropout(0.2))#1-hidden layer
model.add(Dense(100))model.add(Activation(”relu”))
model.add(Dropout(0.2))#2-hidden layer
model.add(Dense(8))
model.add(Activation(”relu”))
model.add(Dropout(0.2))#Output layer
model.add(Dense(final dim))model.add(Activation(”softmax”))
The dimension of the input data ”input dim” is 12 for the day-time process, and 5 for thenight-time process as shown in Table 2.1. The number of the output categories ”final dim” is 5
for the day-time process, and 4 for the night-time process. The training parameters are shown in
Table 2.2.

6

Theoretical Description
Table 2.2: The training parameters of the DNN model
parameter
input dimension
output dimension
epochsbatch size
validation split ratio
optimizer

2.2.3

day
12
5
20
280
0.1
Adam(lr=0.001)

night
5
4
20
280
0.1
Adam(lr=0.001)

Ground truth

We made the training input dataset and the ground truth data at the various regions in various
days of year. The locations of the training data (upper left location of the SGLI tiles) are shown in
Fig. 2.4. At each location, we extracted the values of the selected input data as shown in Table 2.1,
and labeled the category for each pixel considering the RGB true color image and QA flag of SIPR
(Snow Ice PRoperties) prooduct with eyes. The examples of the way of categorizing are shown in
Fig. 2.5 and Fig. 2.6. The total number of the training dataset is more than 500,000.

Figure 2.4: Training data set locations. The upper left locations of the SGLI tiles are plotted asblue filled circles.

2.2.4

Training and results

Fig. 2.7 and Fig. 2.8 show the training histories of the model loss and model accuracy for the dayand night-time processes using the DNN model as defined in Section 2.2.2. The accuracy of the
trained model is shown in Table 2.3 and Table 2.4. Although the pixels used for verification werein the same tile as the area containing the training pixels (exactly the same pixels were not used
to validate), the high accuracy was achieved for both day- and night-time trained models.

2.3

Flag selection for the final output

After processing both CLAUDIA and DNN methods, the final output cloud flag is determined bysome flag selection process defined as in Table 2.5 for day-time process and Table 2.6 for night-timeprocess.
After that selection process, the additional data screening will be applied in the cases below:

2.3. FLAG SELECTION FOR THE FINAL OUTPUT

7

Figure 2.5: The example of the labeled regions of ”land”, ”cloudy” and ”heavy aerosol” are represented by the green squares, black squares and orange squares over SGLI’s RGB true color imageof the east area in Austalia, respectively.

Figure 2.6: The example of the labeled regions of ”ocean”, ”land” and ”ice/snow” are represented
by the blue square, green square and red squares over SGLI’s RGB true color image of the west
region in America, respectively.
Table 2.3: The obtained accuracy of the trained model for the day-time process
Category
Total
Land
Ocean
CloudyIce/snow
Heavy aerosol

Accuracy [%]
99.78
99.67
99.93
99.84
99.75
99.70

Corrected pixels
5226469
1230057
811784
1362311864008958309Total pixels
5238201
12340838123431364443
866134
961198

Table 2.4: The obtained accuracy of the trained model for the night-time process
Category
Total
Land/ocean
CloudySnow/ice
Heavy aerosol

Accuracy [%]
96.29
98.46
97.00
99.57
88.29

Corrected pixels
4981847
19251961331517841730883404

Total pixels
5173855
1955228
13726858453931000549

8

Theoretical Description

Figure 2.7

Figure 2.8(1) Check the snow/ice flag in summer at low altitude area.
If:• DNN flag is snow/ice &• DOY (day of year) < 60 and DOY > 330 &• DEM < 1500 m
use CLAUDIA flag.
else:
use DNN flag (snow/ice).
(2) Check the snow/ice flag at southern arctic area.
If:• DNN flag is not cloudy &• reflectance of VN09 (763 nm) > 0.5 &• Land/Water flag = 1 (land) &• CCLCLDA ≥ 67%
set the snow/ice flag. In addition, output CCL will be replaced to CCLout = CCLCLDA + 17%.
else:
use Output flag as shown in Table 2.5, Table 2.6.

≥ 99%

heavy aerosol
≥ 50%
≥ 60%
≥ 99%
≥ 50%
≥ 60%
≥ 99%

Probability limit
≥ 50%
≥ 60%

DNN flagland/ocean
cloudysnow/ice

land/ocean
cloudysnow/iceheavy aerosol
heavy aerosol
land/ocean
cloudysnow/iceheavy aerosol
Note: the same description as Table 2.5.

snow/ice

CLAUDIA flag
no snow/ice & no heavy aerosol

Probability limit
≥ 50%
≥ 60%

Condition-1
if CCLCLDA ≥ 17%else
if CCLCLDA = 100%else
if CCLCLDA < 50%-

CCLoutCCLCLDA + 17%
CCLCLDACCLCLDA + 17%
CCLCLDACCLCLDA − 17%
CCLCLDACCLCLDACCLCLDA − 17%
CCLCLDA + 17%
CCLCLDACCLCLDACCLCLDACCLCLDACCLCLDA

Table 2.6: Definition of the flag selection for night

DNN flagland/ocean
cloudysnow/ice

Condition-2-

Output flag
flagCLDA
flagCLDA
snow/ice
flagCLDA
flagCLDA
flagCLDA
flagCLDA
no snow/ice
flagCLDA
flagCLDA
no heavy aerosol
no heavy aerosol
no heavy aerosol
flagCLDA

Condition-1
CCLoutCondition-2
Output flag
CCLCLDA
flagCLDA
if CCLCLDA < 50%
CCLCLDA − 17%
flagCLDA
if CCLCLDA ≥ 67%
CCLCLDA + 17%
snow/iceelse
CCLCLDA
flagCLDA
heavy aerosol≥ 99%
CCLCLDA
flagCLDA
snow/ice
land/ocean
CCLCLDA
flagCLDA
cloudy≥ 50%
if CCLCLDA < 50%
CCLCLDA − 17%
if CCLout ≤ 33%
no snow/ice
snow/ice≥ 60%
CCLCLDA + 17%
flagCLDA
heavy aerosol≥ 99%
CCLCLDA
flagCLDA
heavy aerosol
land/ocean
CCLCLDAno heavy aerosol
cloudy≥ 50%
CCLCLDAno heavy aerosol
snow/ice≥ 60%
CCLCLDAno heavy aerosol
heavy aerosol≥ 99%
CCLCLDA
flagCLDA
Note: ”CLAUDIA flag” is the result flag obtained by the CLAUDIA method, where ”DNN flag” is the predicted classification obtained by the DNN method.
We use the results of the DNN method only when the prediction probability is more than the limit as shown in the column of ”Probability limit”. If the bothresults for CLAUDIA and DNN methods satisfy ”condition-1”, the output Clear Confidense Level (CCLout ) will be replaced to the value in the column of”CCLout ”. When CCLout is CCLCLDA , it means there is no change from the CLAUDIA method. If CCLout is more than 100% (less than 0%), CCLout
will be replaced to 100% (0%). After that, we apply the second check in the column of ”condition-2”, and if the condition is satisfied, the output flag will be
replaced to the value in the column of ”Output flag”. When output flag is flagCLDA , it means there is no change from the CLAUDIA method.

CLAUDIA flag
no snow/ice & no heavy aerosol

Table 2.5: Definition of the flag selection for day

2.3. FLAG SELECTION FOR THE FINAL OUTPUT
9

Validation
3.1

Validation results

In this section, we show the validation results for the Ver.3 cloud flag. We focused on the 3 problems
as described in Section 1.
Fig. 3.1 shows the example of the Ver.3 cloud flag result at the tile ”T0426” in 1 January 2020
compared with the RGB true color image and Ver.2 cloud flag. Within the red circle area, the trueclassification is snow, however Ver.2 cloud flag includes many clear-sky pixels, which might cause
the overestimation of the aerosol optical thickness product due to the high reflectance of ice/snow.
The obtained Ver.3 cloud flag shows that the area is covered by snow. The number of the changed
pixels from Ver.2 cloud flag is shown in the right panel of Fig.3.1.
Fig. 3.2 shows the example of the Ver.3 cloud flag result at the tile ”T0508” in 9 September
2020 compared with the RGB true color image and Ver.2 cloud flag. Within the red circle area, thetrue classification is heavy aerosol, however Ver.2 cloud flag shows that the most of the pixels in thearea are cloudy, which might cause the lack of the valid pixels for the aerosol products over heavy
aerosols event. The obtained Ver.3 cloud flag correctly detected the heavy aerosol at the region.
The number of the changed pixels from Ver.2 cloud flag is shown in the right panel of Fig.3.2.
Fig. 3.3 shows the latitudinal distribution of the ratio of the clear-sky pixels at night in 4 seasonsobtained from the Ver.3 cloud flag compared with that of Ver.2 cloud flag. The Ver.3 clear-sky
pixel ratio modestly increased from Ver.2 cloud flag in every season (the maximum increase is ∼20%), although the visual changes are slight as shown in bottom panels of Fig. 3.3. The valid pixels
for the other SGLI products such as LST (Land Surface Temperature) are expected to increase due
to its improvements of cloud flag at night. However, the latitudinal distribution indicates that the
problem still remains for improving the accuracy of clear-sky detection at high latitude area during
night time (future work).

Figure 3.1: The example of the Ver.3 cloud flag result at the tile ”T0426” in 1 January 2020. The
Ver.3 algorithm correctly classified the ice/snow pixels.
10

3.2. FUTURE WORK

11

Figure 3.2: The example of the Ver.3 cloud flag result at the tile ”T0508” in 9 September 2020.
The Ver.3 algorithm correctly classified the heavy aerosol pixels.
As a result, the main improvements of the Ver.3 cloud flag algorithm are as below:• [∼Ver.2 problem] Accuracy of discriminating snow and ice from clear sky in day time
→ Misclassification pixels decreased.
• [∼Ver.2 problem] Accuracy of discriminating heavy aerosols and clouds in day time
→ Heavy aerosol pixels can be classified at day time.
• [∼Ver.2 problem] Accuracy of discriminating cloud and clear-sky at night time
→ Clear-sky pixels increased at night time. However, there are still not enough pixels forhigh latitude regions at night time.

3.2

Future work

• Improve the accuracy of the night-time classification among cloudy, clear-sky land and ice/snow at high latitude area.
• Detect the heavy aerosols at night time.

12

Validation

Figure 3.3: The comparison of Ver.2 and Ver.3’s the latitudinal distribution of the clear-sky pixel
ratio on 4 dates, 1 January 2020, 1 April 2020, 1 July 2020 and 1 October 2020 at night time (upper
4 panels). The bottom 4 panels show the examples of the global cloud flag images in 1 January
2020 and 1 July 2020 for Ver.2 and Ver.3.

Bibliography[1] F. Chollet et al. Keras. https://keras.io, 2015. 5[2] T. Y. Nakajima, H. Ishida, T. M. Nagao, M. Hori, H. Letu, R. Higuchi, N. Tamaru, N. Imoto,and A. Yamazaki. Theoretical basis of the algorithms and early phase results of the gcom-c(shikisai) sgli cloud products. Progress in Earth and Planetary Science, 6(1):52, 2019. 2

13