Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The BUFR template document is here: AE-TN-ECMWF-L2BP_0073-L2B_BUFR_template_20151123_v1.00.pdfThe L2B EE format IODD also provides information (indirectly) on what the BUFR contains: AE_IF_ECMWF_L2BP_001_IODD_20180215_v3.10.pdfBased on various questions from NWP users, here are some answers to FAQ regarding the Aeolus L2B BUFR format and its use for NWP:

  • Why are there extra unexpanded descriptors in the Aeolus BUFR files compared to the WMO BUFR template?
    • These changes (which came with v3.00 of the L2B processing) are some modifications to the original published template. We found that the WMO approved template cannot store the satellite range for Aeolus because the decision was taken to go for a lower orbit of 320 km (this happened after we designed the template).  The satellite range (distance) values where outside the allowed ranges for of the BUFR template! The 20xxxx descriptors modify the number of bits and the scaling so the numbers fit again. The only thing you need to do is allow the changed number of unexpanded descriptors in your code (63 in stead of 51).  Actually, after expansion, the number of descriptors will be identical to the original template, i.e. it will be reduced to 51.  You should not need any changed BUFR tables at all, since this is part of the official BUFR file format itself.

    • You should also know that we plan 2 more updates with the same method in our upcoming software version (L2Bp v3.10, to be released at roughly 3-4 months after launch, at the end of the Commissioning Phase). With that update we will also modify the derivative values (dhlos_dT and dhlos_dp) for the Rayleigh channel (so adding another 8 20xxxx descriptors) to have increased precision (by mistake we didn't have enough).  For this planned change you will need to change the number unexpanded descriptors in your code to 71.  You should not need any changed BUFR tables to decode these changed files.

    • Since getting formal registration by WMO is a very lengthy process, and we may need other modifications that we do not yet foresee, we decided to not request any changes with WMO for the time being.
    • Miscellaneous advice: If you mix the Aeolus BUFR messages with other observations in the same BUFR file, then recognizing the data type is not as straightforward now, but it is not too difficult. For example looking at the 13th descriptor "005069 ADM RECEIVER CHANNEL" this one is unique to this Aeolus template and will never be used by any other observation, nor will it shift due to the mentioned changes.

  • Is there a description or interpretation of the L2B BUFR variables for use in NWP?
    • There is not yet available yet a nice description an official document for users of describing the meaning/interpretation of the data in the L2B BUFR files (however this webpage attempts to provide some guidance).  There is the BUFR template document, linked above, which provides helps to some guidanceextent.
    • Some basic advice:
      • The Aeolus L2B observations are provided as individual wind observations, each with a geolocation (not a profile with one geolocation).  Each BUFR message consists of a number of observations.
      • L2B HLOS winds are classified into different types e.g. Rayleigh-clear, Rayleigh-cloudy, Mie-clear and Mie-cloudy.  This is given by the combination of "receiverChannel" and "lidarL2bClassificationType".
      • The geolocation of the HLOS winds needed for an observation operator is described by the: "latitude", "longitude", "timeIncrement" (relative to the reference time given at the start of each message), "height" (altitude relative to geoid) and laser pointing information ("bearingOrAzimuth" and "elevation").
      • For a basic "point-like" wind observation operator we recommend using the  "coordinatesSignificance" values appropriate for the vertical and horizontal centre-of-gravity of the observation.  There is also geolocation information for start/end of the range-bin (horizontally) and top/bottom of the range-bin (vertically) in case people which to do an averaging-type (2D) observation operator rather than point-like winds.
      • Typically it is expected that L2B HLOS winds will have a horizontal averaging length-scale of around 80km.  However, due to classification of measurements (3 km scale chunks from which the observations are constructed) within a 80 km group into clear and cloudy it is possible to get observations smaller than 80 km (particularly for the Mie channel).  Where the air is all clear or all cloudy then you get the full 80 km observations.
  • What is the vertical geolocation for the HLOS wind observation?
    • The true vertical geolocation information for Aeolus is the geometric height (relative to the EGM96 geoid) of the lidar range-bin i.e. descriptor 0 07 071 Height (high resolution), for the Vertical Centre of Gravity of the observation.  There is also height for the top and bottom of the range-bin, if one likes to consider a more complex "vertical averaging" observation operator.
    • The geometric height of the range-bin should be converted to an appropriate geolocation variable for assimilation in your model.  Some models are fundamentally using pressure as the vertical reference e.g. the ECMWF IFS model.  Hence in the ECMWF model assimilation code we convert the geometric height to geopotential, and then a standard ECMWF routine obtains a pressure from the geopotential (using the background forecast) as part of the ECMWF IFS's pre-processsing steps.  Alternatively and more correctly one could forward model the geometric heights of the model levels and interpolate model winds to the Aeolus observation geometric height.  The Met Office model (UM) has geopotential height as the vertical co-ordinate, so they don't need to convert to a pressure value (but do need to convert the observation geometric to geopotential height using standard formulae). 
    • Any pressure geolocation that we could provide with Aeolus L2B winds would depend on a priori information from some NWP model, hence I don't think it's a good idea that we provide this.  We want the observations (in BUFR) to be as independent of NWP model as possible.
    • The L2B Rayleigh winds (molecular scattering) are corrected for a sensitivity to temperature (Doppler broadening) and pressure (Brillouin scattering) via the use of a priori NWP information.  Note that the Mie winds are not affected by temperature and pressure i.e. don't need a correction.  The Rayleigh winds would be biased if we didn't account for this (by e.g. 5 m/s).  The L2B processing documentation e.g. ATBD, which describes the Rayleigh-Brillouin correction.

    • There is no atmospheric pressure value provided for the vertical geolocation.  The descriptor 10004 in the Aeolus L2B BUFR is actually the reference pressure used for correcting the Rayleigh HLOS winds for a sensitivity to atmospheric pressure (a so-called Rayleigh-Brillouin correction - see the ATBD in the L2Bp v3.00 documentation).  However, I guess this is not written explicitly anywhere for the BUFR description (e.g. in the documentation TN7.3 ADM-Aeolus Level-2B BUFR description, it is not clear).  Hence users can mistake it for the proper vertical geolocation of the observation.  Our BUFR specialist at ECMWF (who defined the template with us) decided to use the already available (in BUFR) pressure descriptor rather than create a new one specially for Aeolus - the same goes for the temperature descriptor. 
    • Associated with these "reference" pressure and temperature values there are other descriptors: "derivative wind to pressure", and "derivative wind to temperature".  The idea of providing these "reference" values is that users may which to correct (linear correction) the Aeolus Rayleigh HLOS winds to a value using their own model's pressure and temperature data or use them in a Rayleigh wind observation operator.
    • Aeolus L2B Rayleigh winds rely on the AUX_MET (auxiliary meteorological) data i.e. a priori information, of the temperature and pressure at the observation's location - which is input to the L2Bp.  We create the AUX_MET data from the ECMWF short-range forecasts (i.e. background forecast).  However, there was a concern that other users of Aeolus L2B data might want to use their own model's temperature and pressure data, or even include the sensitivity to temperature and pressure in the observation operator.  To include it in the forward model, one can use the "reference" temperature and pressure values, and the linear sensitivity of the HLOS wind to temperature and pressure (part dHLOS/dT, and dHLOS/dp).  N.B. the typical dHLOS/dT  is around 0.1 m/s, so not huge!
    • Because the Mie HLOS winds do not require AUX_MET data T and p for any corrections, then they may not have these "reference" values available.  I'd have to check the code, but I guess the "reference" T and pressure is not guaranteed to be available with each observation - and clearly not based on your experience.
    • Not recommended: Of course the "reference pressure" with the Rayleigh winds (via ECMWF model) could be used if you really want to - but then you introduce some dependence on the ECMWF model - and as you say it is sometimes missing values and can't be relied upon.
  • Will the Aeolus BUFR be available on the GTS?
    • It should be available on the GTS in NRT (BUFR produced by ECMWF and then disseminated to GTS via EUMETSAT),  but this will only begin when the quality of the observations are deemed to be sufficient for dissemination to the general public, which may be many months after launch (a decision for ECMWF and ESA).  CAL/VAL teams will have early access though.
    • The BUFR files to be sent on the GTS are produced at ECMWF via the L2B Earth Explorer to BUFR converter tool.  Since each L2B EE file is typically one orbit's worth of data, then each BUFR file will also typically be one orbit of data.
  • How do we forward model the HLOS wind?  i.e. how to interpret the HLOS wind and geolocation azimuth and elevation angles?
    • See aeolus_obs_operator.pdf for some guidance on the geometry of the measurement and the observation operator.
    • Aeolus L2B BUFR doesn't provide a vector wind or a u-wind observation, but a horizontal line-of-sight (HLOS) wind component (which can easily be converted to LOS wind if you wish (using the elevation angle)).  HLOS wind is just a projection of the LOS wind onto the horizontal plane.

    • The basic forward model from the NWP model horizontal vector wind (u,v) to the Aeolus HLOS wind is: HLOS_wind = -u.sin(azimuth) - v.cos(azimuth)
    • This formula arises because of the definitions of Aeolus' azimuth angle and the sign convention for HLOS wind:
      • The azimuth angle is measured from north clockwise but based on the target to satellite pointing vector (rather than satellite to target as you would imagine).
      • HLOS wind is defined to be positive when blowing away from the instrument (i.e. reduced frequency of Doppler shift).
    • If your NWP model has the vertical wind component available, you may wish to forward model HLOS wind also including the vertical wind "contamination" (which is what Aeolus actually measures), in which case you should include the vertical wind component and elevation angle in the forward model i.e. HLOS_wind = -u.sin(azimuth) - v.cos(azimuth) -w.cot(elevation).  We assume generally that because the w component averaged over 80 km is small in the conditions Aeolus will sample, then we can ignore the vertical wind.

  • Why are there many invalid winds in the L2B BUFR (according to validity flags)?
    • You can expect a fair number good Mie winds (particularly Mie-cloudy), but also a fair number of invalid ones.  Note there are 4 types of winds available: Mie-cloudy, Mie-clear, Rayleigh-cloudy, Rayleigh-clear.
      Generally the Mie-cloudy and Rayleigh-clear to be the best quality winds, as you can imagine given the origin of the backscatter signal.  It is possible to some reasonable Mie-clear winds by misclassification of the measurement-level data - we classify measurements-bins into clear or cloudy based on their estimated scattering ratio (a L1B variable).  Rayleigh-cloudy are generally biased winds due to an imperfect correction for the Mie backscatter in the Rayleigh channel signals.

    • In the latest code (from L2Bp v3.00, rather than v2.30 that produced the BUFR you look at) we by default set all Mie-clear and all Rayleigh-cloudy winds to invalid to guide users to avoid them for DA (initially at least).

    • We recommend using the L2B HLOS wind estimated errors for QC (as provided in the BUFR).  They are derived from propagation of errors from the spectrometer counts assuming Poisson noise statistics (see the ATBD).