Royal Netherlands Meteorological Institute; Ministery Of Infrastructure And The Environment

Software
BUFR Reader
We developed a Fortran program which reads BUFR files containing scatterometer data from SeaWinds/RapidScat, ERS, ASCAT, Oceansat-2/ScatSat-1, CFOSAT, or HY-2A/B/C. The wind data can be written to either an ASCII output file or to a NetCDF output file. The software, which will run on most Unix/Linux platforms, can be downloaded here. The tar file contains some Readme files describing the installation of the package.

The tools currently only write wind information to the output files, but the Fortran code (Bufr2Asc.F90, Bufr2Nc.F90) can be adapted to write other fields, e.g. radar backscatter information. Please contact us if you need guidance on this.

The software makes use of the ECMWF ecCodes, NetCDF and HDF5 libraries which are included in the package. See related links on the right hand side.

If you don't have Fortran and C compilers available, it is possible to download the free GFortran and GCC compilers (see related links). Note that ecCodes requires CMake, version 3.12 or higher, for compilation and installation (see related link). Windows users should consider to use the free Cygwin Linux emulator (see related link).
Download
Fortran 90 code version 10 February 2022 (32 MB)
Installation and testing of the software
Use the following commands to install and test this tool on Unix/Linux:
  • Unpack and step into the genscat directory
    gunzip bufr_reader_20220210.tar.gz
    tar -xf bufr_reader_20220210.tar
    cd bufr_reader/genscat/
  • Read the Readme.txt files
    more Readme.txt
    more INSTALL.txt
  • Compile
    source use_gfortran.csh or . ./use_gfortran.bsh (depending on your compiler and shell, see also Notes 2 and 3 below)
    ./Set_Makeoptions
    make
  • Step to bufr2asc and test the program
    cd tools/bufr2asc
    ./Bufr2Asc ../../support/eccodes/testfile.bufr ./result.asc
    more result.asc
  • Step to bufr2nc and test the program
    cd ../bufr2nc
    ./Bufr2Nc ../../support/eccodes/testfile.bufr ./result.nc
    ncdump result.nc

Note 1: the use_*.csh or use_*.bsh scripts select which compiler is used. If you do not run this script the default f90 command is used. If this does not work for you, or no script is available for your compiler, you may edit the generated Makeoptions file in bufr_reader/genscat after running ./Set_Makeoptions and specify which compiler and compiler options should be used. These settings will only affect the KNMI Fortran code, not the ECMWF ecCodes library code.

Note 2: if you use a use_*.bsh script, be sure to type ". ./use_*.bsh", i.e. "dot space dot slash use_*.bsh", otherwise the necessary environment variables will not be exported.

Note 3: if you adapted the Makeoptions file and installed succesfully on your system, please let us know. This allows us to help others by providing a suitable use_*.csh/use_*.ksh script.

Note 4: a generic tool to handle BUFR data in Python is available on https://pypi.org/project/pybufr-ecmwf/. It is an interface to use ECMWF's BUFR decoding library from Python.
Further information
Please contact the KNMI scatterometer team.
Near real time Wind Products
OSI SAF Wind Climate Data Records
Discontinued Wind Products
Software
R&D work
Projects
Related links