Figure 1. Cloud Mask (CMA) variable for 2022-01-01 03:00 UTC. Values of 1 indicate the presence of cloud.
Abstract
The cloud mask (CMA), developed within the NWC SAF context, aims to support nowcasting
applications, and additionally the remote-sensing of continental and oceanic surfaces. The CMA
allows identifying cloud free areas.The central aim of the CMA is therefore to delineate all cloud-free pixels in a satellite scene with a
high confidence.CMA cloud detection is performed by a multi-spectral threshold method: the image is compared
with thresholds which delimit brightness temperatures/reflectance of cloud free pixels from those of
pixels containing clouds or snow/sea ice. The critical point is the thresholds tuning which are
computed from Look-Up Table and from RTTOV applied on-line to NWP vertical
profiles. This process is complemented by an analysis of the temporal variation (on a short period of
time (around 15 minutes)) of some spectral combination of channels (to detect rapidly moving
clouds), a specific treatment combining temporal coherency analysis and region growing technique
(to improve the detection of low clouds) and a temporal analysis of visible channels at high
horizontal resolution to detect sub-pixel low clouds.For further information please view the following documents:
Format
NetCDF4
Basepath, Filename Template and Data Access
On NCI (requires an NCI account and membership of the rv74 data collection)
Base path: /g/data/rv74/satellite-products/arc/der/himawari-ahi/cloud/cma/latest/<year>/<month>/<day>/
Filename Template: S_NWC_CMA_<satellite>_HIMA-N-NR_<year><month><day>T<hour><minute>00Z.nc
<satellite>: HIMA08 or HIMA09
On THREDDS (publicly available, no NCI account required)
Bureau of Meteorology - Satellite Derived Products (rv74) THREDDS
Base Path: satellite-products/arc/der/himawari-ahi/cloud/cma/latest/<year>/<month>/<day>/
Filename Template: S_NWC_CMA_<satellite>_HIMA-N-NR_<year><month><day>T<hour><minute>00Z.nc
<satellite>: HIMA08 or HIMA09
Version
Version 2.0: Initial release. Processed using EUMETSAT NWCSAF GEO software, version v2021.1. Input data includes Himawari-AHI data, NOAA's GFS 0.5 degree 6 and 12 hour forecasts and Bureau of Meteorology GAMSSA Sea Surface Temperature.
License
Update Frequency
Monthly with 3 month data latency
Temporal extents (YYYY/MM/DD)
2015/07/07 - present (with 3 month data latency)
Spatial Extents
81N ~ 81S, 59E ~ 222E
Owner
Bureau of Meteorology
Contact
Satellite Science Team, Research, Bureau of Meteorology
Credit
Many thanks to the Japan Meteorological Agency (JMA) for providing Himawari-AHI data and NOAA for providing GFS data.
Cloud Mask data derived from satellite imagery processed by the Bureau of Meteorology from Himawari-AHI data provided by the Japan Meteorological Agency using software provided by EUMETSAT NWCSAF.
Metadata Example
netcdf S_NWC_CMA_HIMA08_HIMA-N-NR_20220101T030000Z {
dimensions:
ny = 5500 ;
nx = 5500 ;
pal02_colors = 256 ;
pal_RGB = 3 ;
pal03_colors = 256 ;
pal01_colors = 256 ;
pal05_colors = 256 ;
pal04_colors = 256 ;
variables:
ubyte cma(ny, nx) ;
cma:standard_name = "cloud_binary_mask" ;
cma:long_name = "NWC GEO CMA Cloud Mask" ;
cma:valid_range = 0UB, 1UB ;
cma:_FillValue = 255UB ;
cma:ancillary_variables = "cma_status_flag cma_conditions cma_quality cma_pal" ;
cma:coordinates = "lon lat" ;
cma:comment = "0: Cloud free; 1: Cloudy" ;
cma:flag_values = 0UB, 1UB ;
cma:flag_meanings = "Cloud_free Cloudy" ;
cma:grid_mapping = "geostationary" ;
ubyte cma_cloudsnow(ny, nx) ;
cma_cloudsnow:long_name = "NWC GEO CMA Cloud and Snow Mask" ;
cma_cloudsnow:valid_range = 0UB, 3UB ;
cma_cloudsnow:_FillValue = 255UB ;
cma_cloudsnow:ancillary_variables = "cma_status_flag cma_conditions cma_quality cma_cloudsnow_pal" ;
cma_cloudsnow:coordinates = "lon lat" ;
cma_cloudsnow:comment = "0: Cloud free; 1: Cloud (except thin ice over snow); 2: Thin ice clouds over snow/ice; 3: Snow/Ice" ;
cma_cloudsnow:flag_values = 0UB, 1UB, 2UB, 3UB ;
cma_cloudsnow:flag_meanings = "Cloud_free Cloud_except_thin_ice_over_snow Thin_ice_clouds_over_snow_ice Snow_Ice" ;
cma_cloudsnow:grid_mapping = "geostationary" ;
ubyte cma_cloudsnow_pal(pal02_colors, pal_RGB) ;
cma_cloudsnow_pal:long_name = "RGB palette for cma_cloudsnow" ;
cma_cloudsnow_pal:valid_range = 0UB, 255UB ;
cma_cloudsnow_pal:colormodel = "RGB" ;
cma_cloudsnow_pal:comment = "Palette applicable to field cma_cloudsnow" ;
ushort cma_conditions(ny, nx) ;
cma_conditions:long_name = "Common geophysical and processing conditions" ;
cma_conditions:valid_range = 1US, 65535US ;
cma_conditions:_FillValue = 0US ;
cma_conditions:flag_mask = 1US, 6US, 6US, 6US, 8US, 48US, 48US, 48US, 64US, 128US, 768US, 768US, 768US, 3072US, 3072US, 3072US, 12288US, 12288US, 12288US, 49152US, 49152US, 49152US ;
cma_conditions:flag_values = 1US, 2US, 4US, 6US, 8US, 16US, 32US, 48US, 64US, 128US, 256US, 512US, 768US, 1024US, 2048US, 3072US, 4096US, 8192US, 12288US, 16384US, 32768US, 49152US ;
cma_conditions:flag_meanings = "space night day twilight sunglint land sea coast not_used not_used all_satellite_channels_available useful_satellite_channels_missing mandatory_satellite_channels_missing all_NWP_fields_available useful_NWP_fields_missing mandatory_NWP_fields_missing all_product_data_available useful_product_data_missing mandatory_product_data_missing all_auxiliary_data_available useful_auxiliary_data_missing mandatory_auxiliary_data_missing" ;
cma_conditions:comment = "Common geophysical and processing conditions" ;
cma_conditions:grid_mapping = "geostationary" ;
ubyte cma_dust(ny, nx) ;
cma_dust:long_name = "NWC GEO CMA Dust Detection" ;
cma_dust:valid_range = 0UB, 2UB ;
cma_dust:_FillValue = 255UB ;
cma_dust:ancillary_variables = "cma_status_flag cma_conditions cma_quality cma_dust_pal" ;
cma_dust:coordinates = "lon lat" ;
cma_dust:comment = "0: No dust; 1: Dust; 2: Undefined (separability problems)" ;
cma_dust:flag_values = 0UB, 1UB, 2UB ;
cma_dust:flag_meanings = "No_dust Dust Undefined_separability_problems" ;
cma_dust:grid_mapping = "geostationary" ;
ubyte cma_dust_pal(pal03_colors, pal_RGB) ;
cma_dust_pal:long_name = "RGB palette for cma_dust" ;
cma_dust_pal:valid_range = 0UB, 255UB ;
cma_dust_pal:colormodel = "RGB" ;
cma_dust_pal:comment = "Palette applicable to field cma_dust" ;
ubyte cma_pal(pal01_colors, pal_RGB) ;
cma_pal:long_name = "RGB palette for cma" ;
cma_pal:valid_range = 0UB, 255UB ;
cma_pal:colormodel = "RGB" ;
cma_pal:comment = "Palette applicable to field cma" ;
ushort cma_quality(ny, nx) ;
cma_quality:long_name = "Common Quality Indicators" ;
cma_quality:valid_range = 1US, 56US ;
cma_quality:_FillValue = 0US ;
cma_quality:flag_mask = 1US, 2US, 4US, 56US, 56US, 56US, 56US ;
cma_quality:flag_values = 1US, 2US, 4US, 8US, 16US, 24US, 32US ;
cma_quality:flag_meanings = "nodata internal_consistency temporal_consistency good questionable bad interpolated" ;
cma_quality:comment = "Common Quality Indicators" ;
cma_quality:grid_mapping = "geostationary" ;
ubyte cma_smoke(ny, nx) ;
cma_smoke:long_name = "NWC GEO CMA Smoke Detection" ;
cma_smoke:valid_range = 0UB, 2UB ;
cma_smoke:_FillValue = 255UB ;
cma_smoke:ancillary_variables = "cma_status_flag cma_conditions cma_quality cma_smoke_pal" ;
cma_smoke:coordinates = "lon lat" ;
cma_smoke:comment = "0: No smoke; 1: Smoke; 2: Undefined (separability problems)" ;
cma_smoke:flag_values = 0UB, 1UB, 2UB ;
cma_smoke:flag_meanings = "No_smoke Smoke Undefined_separability_problems" ;
cma_smoke:grid_mapping = "geostationary" ;
ubyte cma_smoke_pal(pal05_colors, pal_RGB) ;
cma_smoke_pal:long_name = "RGB palette for cma_smoke" ;
cma_smoke_pal:valid_range = 0UB, 255UB ;
cma_smoke_pal:colormodel = "RGB" ;
cma_smoke_pal:comment = "Palette applicable to field cma_smoke" ;
ushort cma_status_flag(ny, nx) ;
cma_status_flag:standard_name = "status_flag" ;
cma_status_flag:long_name = "Information on specific NWC GEO CMA processing" ;
cma_status_flag:valid_range = 0US, 2047US ;
cma_status_flag:_FillValue = 32768US ;
cma_status_flag:flag_mask = 1US, 2US, 4US, 8US, 16US, 32US, 64US, 128US, 256US, 512US, 1024US ;
cma_status_flag:flag_values = 1US, 2US, 4US, 8US, 16US, 32US, 64US, 128US, 256US, 512US, 1024US ;
cma_status_flag:flag_meanings = "Low_level_thermal_inversion_in_NWP_field Cold_snowy_ground_suspected Temporal_algorithm_passed High_resolution_satellite_data_used RTTOV_on-line_used SST_analysis_available Snow_map_available Sea_ice_map_available No_method_for_dust No_method_for_volcanic_plume No_method_for_smoke" ;
cma_status_flag:coordinates = "lon lat" ;
cma_status_flag:grid_mapping = "geostationary" ;
ushort cma_testlist1(ny, nx) ;
cma_testlist1:standard_name = "status_flag" ;
cma_testlist1:long_name = "NWC GEO CMA List of Tests (1/2)" ;
cma_testlist1:valid_range = 0US, 32767US ;
cma_testlist1:_FillValue = 32768US ;
cma_testlist1:flag_mask = 1US, 2US, 4US, 8US, 16US, 32US, 64US, 128US, 256US, 512US, 1024US, 2048US, 4096US, 8192US, 16384US ;
cma_testlist1:flag_values = 1US, 2US, 4US, 8US, 16US, 32US, 64US, 128US, 256US, 512US, 1024US, 2048US, 4096US, 8192US, 16384US ;
cma_testlist1:flag_meanings = "R06um_land_or_R08um_sea R16um_sea Sunglint_test_using_38um R138um T108um_or_SST T108umT120um T108umT38um T120umT38um T38umT108um T108umT87um T87umT108um T87umT38um Snow_with_only_38um Snow_with_16um Snow_with_combined_use_of_16um_and_22um" ;
cma_testlist1:coordinates = "lon lat" ;
cma_testlist1:grid_mapping = "geostationary" ;
ushort cma_testlist2(ny, nx) ;
cma_testlist2:standard_name = "status_flag" ;
cma_testlist2:long_name = "NWC GEO CMA List of Tests (2/2)" ;
cma_testlist2:valid_range = 0US, 32767US ;
cma_testlist2:_FillValue = 32768US ;
cma_testlist2:flag_mask = 1US, 2US, 4US, 8US, 16US, 32US, 64US, 128US, 256US, 512US, 1024US, 2048US, 4096US ;
cma_testlist2:flag_values = 1US, 2US, 4US, 8US, 16US, 32US, 64US, 128US, 256US, 512US, 1024US, 2048US, 4096US ;
cma_testlist2:flag_meanings = "Local_Spatial_Texture T108um_with_RTTOV T38um_with_RTTOV T87umT38um_with_RTTOV T108umT120um_with_RTTOV T108umT87um_with_RTTOV T108umT38um_with_RTTOV Temporal_differencing Stationary_cloud_in_twilight Spatial_extent_of_stationary_clouds_in_twilight Use_of_high_resolution_visible Spatial_filtering_cloud_reclassified_as_cloud-free Spatial_filtering_cloud-free_reclassified_as_cloud" ;
cma_testlist2:coordinates = "lon lat" ;
cma_testlist2:grid_mapping = "geostationary" ;
ubyte cma_volcanic(ny, nx) ;
cma_volcanic:long_name = "NWC GEO CMA Volcanic Plume Detection" ;
cma_volcanic:valid_range = 0UB, 2UB ;
cma_volcanic:_FillValue = 255UB ;
cma_volcanic:ancillary_variables = "cma_status_flag cma_conditions cma_quality cma_volcanic_pal" ;
cma_volcanic:coordinates = "lon lat" ;
cma_volcanic:comment = "0: No volcanic plume; 1: Volcanic plume; 2: Undefined (separability problems)" ;
cma_volcanic:flag_values = 0UB, 1UB, 2UB ;
cma_volcanic:flag_meanings = "No_volcanic_plume Volcanic_plume Undefined_separability_problems" ;
cma_volcanic:grid_mapping = "geostationary" ;
ubyte cma_volcanic_pal(pal04_colors, pal_RGB) ;
cma_volcanic_pal:long_name = "RGB palette for cma_volcanic" ;
cma_volcanic_pal:valid_range = 0UB, 255UB ;
cma_volcanic_pal:colormodel = "RGB" ;
cma_volcanic_pal:comment = "Palette applicable to field cma_volcanic" ;
float nx(nx) ;
nx:standard_name = "projection_x_coordinate" ;
nx:long_name = "X Georeferenced Coordinate for each pixel count" ;
nx:units = "m" ;
float ny(ny) ;
ny:standard_name = "projection_y_coordinate" ;
ny:long_name = "Y Georeferenced Coordinate for each pixel count" ;
ny:units = "m" ;
float geostationary ;
geostationary:proj_name = "GEOS141" ;
geostationary:sweep_angle_axis = "y" ;
geostationary:false_northing = 0LL ;
geostationary:grid_mapping_name = "geostationary" ;
geostationary:false_easting = 0LL ;
geostationary:satellite_height = 35785863. ;
geostationary:semi_major_axis = 6378137. ;
geostationary:semi_minor_axis = 6356752.3 ;
geostationary:perspective_point_height = 35785863. ;
geostationary:GeoTransform = -5500000., 2000., 0., 5500000., 0., -2000. ;
geostationary:longitude_of_projection_origin = 140.7 ;
geostationary:proj4 = "+proj=geos +lon_0=140.7 +h=35785863 +x_0=0 +y_0=0 +a=6378137 +b=6356752.3 +units=m +no_defs" ;
geostationary:spatial_ref = "PROJCS[\"unnamed\",GEOGCS[\"unnamed ellipse\",DATUM[\"unknown\",SPHEROID[\"unnamed\",6378137,298.2570248822731]],PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433]],PROJECTION[\"Geostationary_Satellite\"],PARAMETER[\"central_meridian\",140.7],PARAMETER[\"satellite_height\",35785863],PARAMETER[\"false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"Meter\",1]]" ;
// global attributes:
:Conventions = "CF-1.6" ;
:title = "NWC GEO Cloud Mask Product" ;
:institution = "Bureau of Meteorology" ;
:source = "NWC/GEO version v2021.1" ;
:comment = "Copyright 2022, EUMETSAT, All Rights Reserved" ;
:references = "http://nwc-saf.eumetsat.int" ;
:contact = "safnwchd@aemet.es" ;
:summary = "Cloud Mask Product of the NWC/GEO. Information on the presence of clouds, dust, smoke and volcanic plumes" ;
:keywords = "Cloud Amount, Dust, Ash, Smoke" ;
:keywords_vocabulary = "GCMD Science Keywords" ;
:id = "S_NWC_CMA_HIMA08_HIMA-N-NR_20220101T030000Z.nc" ;
:naming_authority = "Bureau of Meteorology" ;
:cdm_data_type = "Image" ;
:date_created = "2022-12-27T08:52:58Z" ;
:creator_name = "Bureau of Meteorology" ;
:creator_url = "www.bom.gov.au" ;
:creator_email = "SI-Research-SS@bom.gov.au" ;
:project = "NWC/GEO" ;
:processing_level = "Level 2" ;
:time_coverage_start = "2022-01-01T03:00:20Z" ;
:time_coverage_end = "2022-01-01T03:09:40Z" ;
:license = "EUMETSAT user policy" ;
:saf = "NWC/GEO" ;
:product_name = "CMA" ;
:product_algorithm_version = "5.1" ;
:satellite_identifier = "HIMA08" ;
:sub-satellite_longitude = 140.7f ;
:centre_projection_longitude = 140.7f ;
:nominal_product_time = "2022-01-01T03:00:00Z" ;
:region_id = "HIMA-N" ;
:region_name = "HIMA-N; CENTRE=0N 140.7E; SIZE=5500x5500pix" ;
:spatial_resolution = 2.f ;
:cgms_projection = "+proj=geos +coff=2750.500000 +cfac=20466275.000000 +loff=2750.500000 +lfac=20466275.000000 +spp=140.699997 +r_eq=6378.137000 +r_pol=6356.752300 +h=42164.000000" ;
:gdal_projection = "+proj=geos +a=6378137.000000 +b=6356752.300000 +lon_0=140.699997 +h=35785863.000000 +sweep=y" ;
:gdal_geotransform_table = -5499996.f, 1999.998f, 0.f, 5499996.f, 0.f, -1999.998f ;
:gdal_xgeo_up_left = -5499996.f ;
:gdal_ygeo_up_left = 5499996.f ;
:gdal_xgeo_low_right = 5499996.f ;
:gdal_ygeo_low_right = -5499996.f ;
:product_quality = 91.75343f ;
:product_completeness = 99.81164f ;
:geospatial_lat_max = 81.04704f ;
:geospatial_lat_min = -81.04704f ;
:geospatial_lon_max = 180.f ;
:geospatial_lon_min = -180.f ;
:product_version = "2.0" ;
:history = "Fri Jan 20 07:55:22 2023: ncatted -O -a product_version,global,c,c,2.0 /scratch/er8/vov548/output/nwcsaf_2021.1_h8_reprocessing/cma//S_NWC_CMA_HIMA08_HIMA-N-NR_20220101T030000Z.nc\nFri Jan 20 07:54:25 2023: ncks -O -L 9 --cnk_dmn x,5500 --cnk_dmn y,20 /scratch/er8/vov548/output/nwcsaf_2021.1_h8_compressed/cma/S_NWC_CMA_HIMA08_HIMA-N-NR_20220101T030000Z.nc /scratch/er8/vov548/output/nwcsaf_2021.1_h8_reprocessing/cma//S_NWC_CMA_HIMA08_HIMA-N-NR_20220101T030000Z.nc\nThu Dec 29 00:06:24 2022: ncatted -O -a product_version,global,c,c,2.0 /scratch/er8/vov548/output/nwcsaf_2021.1_h8//S_NWC_CMA_HIMA08_HIMA-N-NR_20220101T030000Z.nc\nThu Dec 29 00:05:27 2022: ncks -O -L 9 --cnk_dmn x,5500 --cnk_dmn y,20 /scratch/er8/vov548/output/nwcsaf_2021.1_h8/S_NWC_CMA_HIMA08_HIMA-N-NR_20220101T030000Z.nc /scratch/er8/vov548/output/nwcsaf_2021.1_h8//S_NWC_CMA_HIMA08_HIMA-N-NR_20220101T030000Z.nc\n2022-12-27T08:52:58Z (null) Product Created by NWC/GEO v2021.1\n2022-12-27T08:52:58Z (null) GEO-CMA.exe 2022-01-01T03:00:00Z /scratch/er8/vov548/ws/nwcsaf_2021.1_h8/install/tmp66z3dl8b/config/safnwc_HIMAN./scratch/er8/vov548/ws/nwcsaf_2021.1_h8/install/tmp66z3dl8b/config/safnwc_CMA.cf5.1 /scratch/er8/vov548/ws/nwcsaf_2021.1_h8/install/tmp66z3dl8b/config/safnwc_CMA.cf5.1" ;
:NCO = "netCDF Operators version 4.7.7 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco)" ;}