Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Confirmed: Static documentation.... But should it be updated with new products ?

 Model simulated satellite data produced at ECMWF provide unique information about the output from the numerical weather prediction model. Forecasters can use images generated from the simulated satellite data to visualise model forecast cloud and moisture features, while model developers can use the data in their research activities, in particular to validate model developments which affect the temperature and moisture fields.

The simulated satellite data (SSD) are generated using the operational ECMWF high-resolution forecast model output from the 00 UTC and 12 UTC cycles and the same fast radiative transfer model as used in the operational data assimilation (e.g., RTTOV-11). Output from the high-resolution forecast models is used as input to the RTTOV to calculate the cloudy brightness temperatures expected from satellites using the relevant atmospheric model profiles (i.e., temperature, specific humidity, ozone mass mixing ratio, cloud cover, specific cloud liquid water content, specific cloud ice water content, specific rain water content, specific snow water content) and the relevant surface parameters (i.e., skin temperature, 10m u and v wind components, 2m temperature and 2m dewpoint temperature, volumetric soil water layer 1, convective available potential energy).  The data can be visualised to provide a sequence of forecast-generated satellite images showing the evolution of the model-derived cloud or humidity features at 3-hour or 6-hour intervals.

...

  • Nadir view for every model grid point
    The new simulated satellite data assume a nadir view (top-down) for every model grid point so the effect of looking slantwise through the atmosphere is neglected.
  • Produced in post-processing within the IFS, with no mapping on satellite grid
    This is a technical advantage of the new simulated satellite data being now produced in the post-processing within the IFS and being part of the research tests for operational release to validate model developments which affect the temperature and moisture fields.
  • Availability of the simulated satellite data in MARS
    The new simulated satellite data products are archived in MARS in GRIB edition 2 and are available at every post-processing step, out to 240 hours: 3 hourly from T+0 to T+144 and 6 hourly from T+150 to T+240.
  • Availability of the simulated satellite data in ECMWF Catalogue and dissemination in the future
    The timeliness of delivery is optimal for dissemination. The addition of the new simulated satellite data products to the ECMWF Catalogue will be proposed. It will not be available to commercial customers / researchers until then.

...

Code Block
languagepy
themeConfluence
titleMetview macro for plotting images from simulated satellite data
collapsetrue
# Metview Macro - created from Display Window contents

#  **************************** LICENSE START ***********************************
# 
#  Copyright 2015 ECMWF. This software is distributed under the terms
#  of the Apache License version 2.0. In applying this license, ECMWF does not
#  waive the privileges and immunities granted to it by virtue of its status as
#  an Intergovernmental Organization or submit itself to any jurisdiction.
# 
#  ***************************** LICENSE END ************************************
# 
# Date: Thu 17 March 2016
# Author:  ECMWF User Support
# 
  

format  = "png"
satelliteID  = 57  # Meteosat-10
instrument   = 207 # SEVIRI  
channel = 9        # Channel = 5, 6 or 9
clbt    = 260510   # Cloudy Brightness Temperature

outfile = "ssd_channel" & channel

# Device Description 
File_ps = ps_output(  
                OUTPUT_NAME : outfile
        ) 
  
File_png = png_output(  
                OUTPUT_NAME : outfile
        ) 

if format = "png" then
   File = File_png
else
   File = File_ps
end if

# Checks running mode  
mode = runmode()  
if mode = 'batch' or mode = 'execute' then  
   setoutput(File)  
end if  


# Call function to build layout (defined at end of macro)
display_window = build_layout()


# Importing : /usd/EMOSLIB/SSD/get_ssd.mars

ssd_common = (
    stream     : "OPER",
    class      : "od",
    expver     : 0001,
    date       : 0,
    time       : 0,
    type       : "ssd",
    ident      : satelliteID,
    instrument : instrument,
    param      : clbt,
    channel    : channel
    )

ssd_3h = retrieve ( 
    ssd_common,             
    step       : [0,"to",144,"by",3]
    )
    
ssd_6h = retrieve ( 
    ssd_common,             
    step       : [150,"to",240,"by",6]
    )

ssd = ssd_3h & ssd_6h

# Countours for IR channel / clouds

ir_clouds = mcont(
    legend                           : "on",
    contour                          : "off",
    contour_level_selection_type     : "level_list",
    contour_level_list               : [185,187,189,191,193,195,197,199,201,203,205,207,209,211,213,215,217,219,221,223,225,227,229,231,233,235,237,239,241,243,245,247,249,251,253,255,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,310,315,320,325],
    contour_label_frequency          : 5,
    contour_shade                    : "on",
    contour_shade_technique          : "cell_shading",
    contour_shade_colour_method      : "list",
    contour_shade_cell_resolution    : 40,
    contour_shade_colour_list        : ["RGB(0.28,0.76,1)","RGB(0.35,0.78,1)","RGB(0.41,0.8,1)","RGB(0.48,0.83,1)","RGB(0.55,0.85,1)","RGB(0.62,0.87,1)","RGB(0.69,0.9,1)","RGB(0.76,0.92,1)","RGB(0.83,0.94,1)","RGB(0.9,0.97,1)","white","RGB(0.99,0.99,0.99)","RGB(0.98,0.98,0.98)","RGB(0.98,0.98,0.98)","RGB(0.97,0.97,0.97)","RGB(0.97,0.97,0.97)","RGB(0.97,0.97,0.97)","RGB(0.97,0.97,0.97)","RGB(0.96,0.96,0.96)","RGB(0.96,0.96,0.96)","RGB(0.96,0.96,0.96)","RGB(0.95,0.95,0.95)","RGB(0.95,0.95,0.95)","RGB(0.95,0.95,0.95)","RGB(0.94,0.94,0.94)","RGB(0.94,0.94,0.94)","RGB(0.93,0.93,0.93)","RGB(0.93,0.93,0.93)","RGB(0.92,0.92,0.92)","RGB(0.91,0.91,0.91)","RGB(0.9,0.9,0.9)","RGB(0.89,0.89,0.89)","RGB(0.87,0.87,0.87)","RGB(0.86,0.86,0.86)","RGB(0.84,0.84,0.84)","RGB(0.82,0.82,0.82)","RGB(0.81,0.81,0.81)","RGB(0.78,0.78,0.78)","RGB(0.76,0.76,0.76)","RGB(0.74,0.74,0.74)","RGB(0.71,0.71,0.71)","RGB(0.69,0.69,0.69)","RGB(0.66,0.66,0.66)","RGB(0.63,0.63,0.63)","RGB(0.6,0.6,0.6)","RGB(0.57,0.57,0.57)","RGB(0.54,0.54,0.54)","RGB(0.51,0.51,0.51)","RGB(0.48,0.48,0.48)","RGB(0.44,0.44,0.44)","RGB(0.41,0.41,0.41)","RGB(0.38,0.38,0.38)","RGB(0.35,0.35,0.35)","RGB(0.32,0.32,0.32)","RGB(0.29,0.29,0.29)","RGB(0.26,0.26,0.26)","RGB(0.23,0.23,0.23)","RGB(0.21,0.21,0.21)"],
    contour_shade_max_level_density  : 25,
    grib_scaling_of_retrieved_fields : "off"
    )

# Contours for Water Vaopour channels

wv_image_common = (
    legend                           : "on",
    contour                          : "off",
    contour_level_selection_type     : "level_list",
    contour_label                    : "off",
    contour_shade                    : "on",
    contour_shade_technique          : "cell_shading",
    contour_shade_colour_method      : "list",
    contour_shade_label_blanking     : "off",
    contour_shade_cell_resolution    : 40,
    contour_shade_colour_list        : ["rgb(1,1,1)","rgb(0.971428571429,0.971428571429,0.971428571429)","rgb(0.942857142857,0.942857142857,0.942857142857)","rgb(0.914285714286,0.914285714286,0.914285714286)","rgb(0.885714285714,0.885714285714,0.885714285714)","rgb(0.857142857143,0.857142857143,0.857142857143)","rgb(0.828571428571,0.828571428571,0.828571428571)","rgb(0.8,0.8,0.8)","rgb(0.771428571429,0.771428571429,0.771428571429)","rgb(0.742857142857,0.742857142857,0.742857142857)","rgb(0.714285714286,0.714285714286,0.714285714286)","rgb(0.685714285714,0.685714285714,0.685714285714)","rgb(0.657142857143,0.657142857143,0.657142857143)","rgb(0.628571428571,0.628571428571,0.628571428571)","rgb(0.6,0.6,0.6)","rgb(0.571428571429,0.571428571429,0.571428571429)","rgb(0.542857142857,0.542857142857,0.542857142857)","rgb(0.514285714286,0.514285714286,0.514285714286)","rgb(0.485714285714,0.485714285714,0.485714285714)","rgb(0.457142857143,0.457142857143,0.457142857143)","rgb(0.428571428571,0.428571428571,0.428571428571)","rgb(0.4,0.4,0.4)","rgb(0.371428571429,0.371428571429,0.371428571429)","rgb(0.342857142857,0.342857142857,0.342857142857)","rgb(0.314285714286,0.314285714286,0.314285714286)","rgb(0.285714285714,0.285714285714,0.285714285714)","rgb(0.257142857143,0.257142857143,0.257142857143)","rgb(0.228571428571,0.228571428571,0.228571428571)","rgb(0.2,0.2,0.2)","rgb(0.171428571429,0.171428571429,0.171428571429)","rgb(0.142857142857,0.142857142857,0.142857142857)","rgb(0.114285714286,0.114285714286,0.114285714286)","rgb(0.0857142857143,0.0857142857143,0.0857142857143)","rgb(0.0571428571429,0.0571428571429,0.0571428571429)","rgb(0.0285714285714,0.0285714285714,0.0285714285714)","rgb(0,0,0)"],
    grib_scaling_of_retrieved_fields : "off"
   )

wv_image_shade5 = mcont(
    wv_image_common,
    contour_level_list               : [221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,270]
   )
   
wv_image_shade6 = mcont(
    wv_image_common,
    contour_level_list               : [220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,295]
   )

if channel = 5 then
  image_contour = wv_image_shade5
else if channel = 6 then
  image_contour = wv_image_shade6
else if channel = 9 then
  image_contour = ir_clouds
end if
                 
# Plot command  
plot ( display_window[1], ssd, image_contour) 

# End of main program

# Function to build the layout.
function build_layout( )
    
    full_globe = geoview()
    
    _Page_ = plot_page(  
                TOP        : 0, 
                BOTTOM     : 100, 
                LEFT       : 0, 
                RIGHT      : 100, 
                ROWS       : 1, 
                COLUMNS    : 1, 
                PAGE_X_GAP : 0, 
                PAGE_Y_GAP : 0, 
                VIEW       : full_globe 
        )  
      
    # SuperPageDescription 
    _Display_Window_ = plot_superpage(  
                LAYOUT_SIZE        : "A4", 
                LAYOUT_ORIENTATION : "LANDSCAPE", 
                CUSTOM_WIDTH       : 29.7, 
                CUSTOM_HEIGHT      : 21.0, 
                PAGES                    : [ _Page_ ] 
        ) 
    # plot_superpage returns a list of drop identifiers. 
    # Index 1 is for first page, and so on. 
    # end of superpage definition  
      
    return _Display_Window_ 

end build_layout


Image Modified
Image Modified

48-hour global simulated Meteosat-10 SEVIRI imagery at 10.8 μm (channel 9) from the ECMWF model cycle 41r2 at TCO1279 / O1280 horizontal resolution with 137 vertical levels run on 1 March 2016 at 00 UTC.

48-hour global simulated Meteosat-10 SEVIRI imagery at  6.30 μm (channel 5)from the ECMWF model cycle 41r2 at TCO1279 / O1280 horizontal resolution with 137 vertical levels run on 1 March 2016 at 00 UTC.


Image Modified
Image Modified
Animation of 10 day global simulated Meteosat-10 SEVIRI imagery at 10.8 μm (channel 9) from the ECMWF model cycle 41r2 at TCO1279 / O1280 horizontal resolution with 137 vertical levels run on 1 March 2016 at 00 UTC.Animation of 10 day global simulated Meteosat-10 SEVIRI imagery at  6.30 μm (channel 5)from the ECMWF model cycle 41r2 at TCO1279 / O1280 horizontal resolution with 137 vertical levels run on 1 March 2016 at 00 UTC.

Simulated satellite data as ECMWF web charts

...

  • Hocking, J., Rayer, P., Rundle, D., Saunders, R., Matricardi, M., Geer, A., Brunel, P. and Vidot J., 2013: RTTOV v11 Users Guide , NWP SAF report, Met Office, 107 pp.
  • Lupu C. and A. J. Geer, 2015: Evaluation and operational implementation of the RTTOV-11 in the IFS, ECMWF Tech. Memo., 748, ECMWF, Reading, UK.
  • Lupu, C. and T. Wilhelmsson, 2016: A guide to simulated satellite images in the IFS, ECMWF Research Department Memorandum RD16-064, 10 pp

Technical information

The simulated satellite data are specified using the satellite identifier, instrument, channel number and central wavelength as given in the WMO Manual on codes:

...

.  For the simulated satellite data based on Meteosat-10 these are as in the table below:

SatelliteInstrumentSatellite IDInstrument TypeChannelCentral wavelength (μm)Description
Meteosat-10

SEVIRI (Spinning Enhanced Visible and InfraRed Imager)

5720756.30Water Vapour at ~300 hPa
67.36Water Vapour at ~500 hPa
910.79Atmospheric Window channel ~clouds, surface

GRIB encoding

The simulated satellite data fields are encoded in GRIB edition 2 with the parameter set to Cloudy brightness temperature:

paramIdshortNamenameunitsGRIB edition
260510clbtCloudy brightness temperatureKelvin2

The product description uses productDefinitionTemplateNumber=32 (analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data.  The relevant GRIB API keys are encoded as:

GRIB  key name
satelliteSeriessatelliteNumber
ident
instrumentType
instrument
channelNumber
channel
NB
numberOfContributingSpectralBands
scaleFactorOfCentralWaveNumberscaledValueOfCentralWaveNumber (units: m-1)
33357207510158800
610135800
91092700

Other GRIB API keys describing the product are:

KeyValueDescription
discipline   3Space products
parameterCategory1Quantitative products

parameterNumber

14

 Cloudy brightness temperature

GRIB API version at least 1.14.5 needs to be used in order to decode the simulated satellite data products.

...

Prior to the implementation of IFS cycle 41r2, the simulated satellite image data were stored in MARS with TYPE=SIM and REPRES=SV (Space View) for the IDENT, INSTRUMENT and CHANNEL as specified in the table below. 


SectorNameOperatorLongitude

Instrument Type

MARS availability

 MARS KeywordsNominal central
wavelength
(μm)
Dimensions
(pixels)
Satellite
subpoint
(pixels)
FromToIDENTINSTRUMENTCHANNEL
Indian OceanMeteosat-7EUMETSAT54.5° EMVIRI2009-03-102016-03-085420516.342500x25001250x1250
211.52
 

 

 





East Atlantic






 

Meteosat-8EUMETSAT

SEVIRI

2005-06-222009-03-095520756.301856x1856928x928
67.36
910.79
Meteosat-9EUMETSATSEVIRI2009-03-102013-01-235620756.301856x1856928x928
67.36
910.79
Meteosat-10  EUMETSAT  0°  SEVIRI

  
2013-01-24  2016-03-08  56 207  56.301856x1856  928x928  
67.36
910.79
 


East Pacific
  

GOES-11NOAA135.0° W

Imager

2009-03-102012-01-1725561536.741250x1250625x625
410.72
GOES-15  NOAA  135.0° WImager 2012-01-18  2016-03-08  259  615  36.551250x1250  625x625  
410.68

 


West Atlantic

GOES-12NOAA75.0° W

Imager

2009-03-102011-05-1725661536.481250x1250625x625
410.71
GOES-13NOAA75.0° WImager2011-05-182016-03-0825761536.541250x1250625x625
410.67

 


West Pacific 

MTSAT-1R JMA 140.2° E JAMI2009-03-10 2011-05-17  171294 210.81250x1250 625x625 
46.75
MTSAT-2JMA145.0° EImager2011-05-182016-03-08172294210.81250x1250625x625
46.77

These products have been encoded using GRIB edition 1.

...

Code Block
RETRIEVE,
    CLASS = OD, 
    TYPE = SIM,
    STREAM = OPER,
    EXPVER = 0001,
    REPRES = SV,
    DATE = YYYYMMDD,
    TIME = 0000,
    STEP = 0/3/6/9/12/15/18/21/24/27/30/33/36/39/42/45/48/54/60/66/72/78/84/90/96/102/108/114/120,
    DOMAIN = G,
    CHANNEL = 9,
    IDENT = 57,
    INSTRUMENT = 207,
    TARGET = ”old_simulated_meteosat-10.channel9.grib”

 

 

...