...   ... go to
OSI SAF central
web portal
    Your location: OSI SAF HL /Products/ HL OSI SAF products / New Improved Sea Ice Concentration product  

New Improved OSI SAF Sea Ice Concentration Product

On 26th May 2016 the OSI SAF team introduced the new improved sea ice concentration product. This new improved product (labelled OSI-401b) replaced the existing sea ice concentration product (OSI-401a).

Changes in the new improved product

To ensure continuity, the sea ice concentration algorithm in the new and the old products is the same (Bristol - Bootstrap combination), and the procedure for regional reduction of atmospheric noise is the same. However, the new product has several advantages compared to the old. The new product is very similar to the EUMETSAT OSI SAF sea ice climate record (OSI-409) product, which makes them compatible.

The new developments are a direct result of the dialog with our users. The primary improvements in the new product are:

  • Temporally and spatially varying uncertainty estimates on every measured ice concentration pixel are provided. The total uncertainty squared is given as the squared sum of the representativeness uncertainty and the algorithm uncertainty. The two components are given in the data-file, together with the total uncertainty.
  • A land spill-over correction scheme, which is independent of climatology, is used. This means that, unlike the old product, ice concentrations are now estimated in the coastal zone. A climatology approach is used in OSI-409 for land-spill-over correction. A physical-statistical methodology is now used in the new product, in preference to the climatological one.
  • Dynamical tie-points are used to improve the sea ice concentration estimates during summer melt. Dynamical tie-points are also used to reduce sensitivity to interannual and climatic variability in the ice and water signatures, and sensor drift. Additionally, the dynamical tie-points enable quicker integration of new microwave radiometer data and eases the combination of different sensors in the same product, in order to improve coverage.
  • The confidence level, based on the standard deviation within each gridcell, is given. This, deprecated, variable is subject to elimination in future products.

Additionally, a mask has been introduced for the Northern Hemisphere to remove data from regions affected by land spillover (which causes spurious ice in the measurements). In particular, the mask removes ice concentration measurements for much of the Baltic Sea and lakes:

  • Much of the Baltic Sea the North Sea close to the North and East coast of Denmark has been masked, due to the geography of this region causing significant spillover effects.
  • Data of lakes have been removed, with the exception of central regions of the great lakes in North America and Lake Ladoga. The data from these regions should be treated with caution, as the sea ice concentration algorithm (which was used to compute the concentrations) has not be validated over lakes.
  • How to read the new GRIB files

    There are some changes in the GRIB file format. Unlike the old product in GRIB format which contained only one message for the ice concentration and another GRIB file for the quality flags, the new OSI-401-b GRIB product contains three messages, one with the status flag (indicatorOfParameter = 230), one with the quality flags, i.e., total uncertainties (indicatorOfParameter = 234), and one with the ice concentration (indicatorOfParameter = 91).
    In the following you will find a bit of Python code, which illustrates how to read the data of the new OSI-401-b GRIB files.

    import pygrib

    f = './ice_conc_nh_polstere-100_multi_201605281200.grb'
    grbs = pygrib.open(f)

    # list all message
    msgs = grbs.read()
    # print(msgs)
    # msg = [1:230:230 (instant):polar_stereographic:surface:level 0:fcst time 0 :from 201605281200,
    # 2:234:234 (instant):polar_stereographic:surface:level 0:fcst time 0 :from 201605281200,

    # 3:Ice cover (1=land, 0=sea):(0 - 1) (instant):polar_stereographic:surface:level 0:fcst time 0 :from 201605281200]

    ice_conc = msgs[2].values
    # or equivalent:
    ice_conc = grbs.select(name='Ice cover (1=land, 0=sea)')[0].values

    total_uncertainty = msgs[1].values
    status_flag = msgs[0].values

    Relevant documentation

    More information on these changes can be found in the following documents:

    Algorithm Theoretical Basis Document OSI-401-b
    Product User Manual OSI-401-b
    Validation Report OSI-401-b


    For questions, please contact us on osisaf-manager[at]met.no.