SYNOP observations

This page documents how SYNOP observations (z, ps, u10m, t2m, rh2m) are assimilated. An overview of GTS messages, BUFR, conversion to ODB and screening options is provided.

SYNOP on the GTS

BUFR

Conversion to ODB

At this stage we decide whether we want to assimilate geopotential, calculated from mean sea level pressure (MSLP) or surface pressure (Ps), or Ps available in the SYNOP BUFR report.

Surface pressure

In the context of Bator:

  • The BUFR namelist the SYNOPPSMETHOD entry provides an option to assimilate MSLP observations only (MSL), Ps observations only (SFC) or take Ps then MSLP in that order (ANY).

    &BUFR
    SYNOPPSMETHOD='MSL',
  • The Bator param file can also used to read MSLP/Ps or not. If the values entry, NN, is set to -1 then the value will not be read by Bator.

    values    NN  010004 Pressure
    values    NN  010051 Pressure reduced to mean sea level
  • Z or Ps values are blacklisted in the LISTE_LOC read by Bator. By default, Ps (110) is blacklisted for SYNOP (obstype=1) and BUOY (obstype=4). These "110" values should be changed to "1" in order to blacklst Z instead of Ps.

    N  1                  108
    N  1                  110
    N  4                  110

Screening

Blacklisting

  • t2m, rh2m not assimilated when soe, solar elevation, is less than 10.
  • u10m/v10m not assimilated if codetype is 11/14/16/170 (SYNOP LAND)
  • u10m/v10m not assimilated if land-sea mask is > 0
  • u10m/v10m not assimilated if station and model orography differ by more than 200 m
  • rh2m not assimilated if codetype is 21/22/23/24/182 (SYNOP SHIP)
  • ps/z not assimilated if model orography is greater than 500 m
if (OBSTYP = synop) then

    if VARIAB in (t2m,rh2m) then
        if (soe < 10.0 ) then fail(CONSTANT); endif;
    endif;

    if VARIAB in (u10m, v10m) then
        if (SPECIFIC > 0.0 ) then
           if (CODTYP in (11, 14, 16, 170)) then fail(CONSTANT); endif;
           if (RLSMASK > 0.) then fail(CONSTANT); endif;
         end if;
        if (STALT >= 0.) and (abs(STALT - MODORO) > 200.0) then fail(CONSTANT); endif;
    endif;

    if VARIAB in (rh, q) then
        if (PRESS <= 300.) then fail(CONSTANT); endif;
    endif;

    if (VARIAB = rh2m) then
        if (CODTYP in (21, 22, 23, 24, 182)) then fail(CONSTANT); endif;
        if (RLSMASK < 0.5) then fail(CONSTANT); endif;
        if (STALT >= 0.) and (abs(STALT - MODORO) > 200.0) then fail(CONSTANT); endif;
    endif;

    if VARIAB in (ps, z) then
        if (STALT >= 500.) then fail(CONSTANT); endif;
    endif;

endif;

Screening settings

Namelist settings ...

Variational bias correction of SHIP surface pressure observations

There is a possibility to activate variational bias correction for SHIP surface pressure observations. This is done by in harmonie_namelists.pm minimisation part change LBC_SFCOBS_PS and LBC_SFCOBS_SHIPPS to true as follows:

NAMVARBC_SFCOBS=>{
    'LBC_SFCOBS_PS' => '.TRUE.,',
    'LBC_SFCOBS_SHIPPS' => '.TRUE.,', 
    'LBC_SFCOBS_APD' => '.TRUE.,',
    'nbg_sfcobs_min_apd'=> '15,',
    'nbg_sfcobs_ndays_apd'  => '15,',
    'nbg_sfcobs_min_ps'=> '15,',
    'nbg_sfcobs_ndays_ps'  => '15,',
},

In addition you need to make sure that surface pressure variable is 'ps' and not 'z' for ship surface pressure subtypes, as explained above. Variational bias correction is only prepared for 'ps' not 'z'.