Cloud mask

Dataset description

The cloud mask was derived from radiance measurements of the SWIR camera of the specMACS instrument. To overcome the effects of the sunglint, spectral water vapor absorption was used to identify clouds in front of a bright background. The specMACS cloud mask is created by the combination of a mask based on the brightness of the measurements (brightness_cloud_mask) and another based on the measured water vapor absorption (combined_brightness_watervapor_mask). The following flowchart illustrates the different steps of the cloud detection algorithm.
flowchart of cloud detection algorithm
Flowchart of cloud detection algorithm; taken from Master's Thesis of Felix Gödde (Figure 3.16).

The cloud mask for each research flight is stored in a separate NETCDF4 file. Each file contains the following variables:

In some cases (depending on the specific application), the combined mask may not give the best result. In such cases it is possible to analyse the two masks (brightness and combined brightness water vapor mask) separately. This is why the two variables ”brightness_cloud_mask” and "combined_brightness_watervapor_mask" are added to the files:

In addition to the cloud mask, there are additional variables in the files which simplify the work with the cloud mask:

On certain flight dates one additional variable is added:

Important notes and known problems:

Having these notes in mind you should be able to decide which cloud mask you should take. Here are some examples of possible applications and recommendations:

Changes

The algorithm developed to extract the cloud mask from the specMACS data in the presence of sunglint is described in the Master's Thesis of Felix Gödde. The Pdf document of the thesis can be downloaded here. For the EUREC4A cloud mask product some minor modifications of the algorithm were done:

Download

Example plot

Here you can find a simple python code showing how to plot the cloudmasks. The resulting image should look like the image below. In the upper panel the cloud_mask is shown. In the middle the brightness_cloud_mask and in the lower panel the combined_brightness_watervapor_mask. In the background of all three panels the swir_radiance is plotted. The violet lines surround all pixels which are either probably cloudy or most likely cloudy. The orange lines define the contourlines of the pixels which are most likely cloudy. One can clearly see the bright sunglint in the upper part of the radiance images. Having a look at the brightness mask it can be seen that the classification of the "most likely cloudy pixels" seems correct (orange contourlines), while the classification of the "probably cloudy pixels" is wrong (violet contourlines): Here, large parts of the sunglint are identified as clouds (basically the whole upper half of the image). This problem is removed in the combined brightness water vapor mask (lower panel). Since sunglint is present in this scene, the combined brightness water vapor mask is used for the final mask (upper panel).

It should be noted that the y-axis of the image is inverted in the script. This is done because the SWIR measurements are mirrored compared to the measurements of the 2D (polarization) cameras of specMACS. Inverting the y-axis simplifies a visual comparison of the two measurements. Have a look at the videos of the 2D camera measurements for a better understanding of the cloud situation! cloudmask example

Help needed?

If you have any questions concerning the cloud mask please feel free to contact us! This could be, e.g., by sending an e-mail to Veronika Pörtge.

Versions

Literature