We developed a Fortran program which reads BUFR files containing scatterometer
data from SeaWinds, ERS, ASCAT, Oceansat-2 or RapidScat. 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 BUFR library (any version from 000240 to 000387, or
version 000400 and up) which must be downloaded separately from their website (see related
link 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). Windows users should consider to use
the free Cygwin Linux emulator (see related link).
Fortran 90 code version 1 May 2017
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
tar -xf bufr_reader_20170501.tar
- Read the Readme.txt files
- Install the downloaded ECMWF BUFR library source code
cp your_download_location/bufrdc_000XXX.tar.gz support/bufr
source use_gfortran.csh or . ./use_gfortran.bsh (depending on your compiler and shell, see also Notes 2 and 3 below)
- Set environment variable
setenv BUFR_TABLES your_location/genscat/support/bufr/bufr_tables/
(depending on your shell)
- Step to bufr2asc and test the program
./Bufr2Asc ../../support/bufr/testreading.bufr ./result.asc
- Step to bufr2nc and test the program
./Bufr2Nc ../../support/bufr/testreading.bufr ./result.nc
the software is tested with ECMWF BUFR library versions 000240 to
000387 and 000400 to 000409. Newer versions may work as well, but are not tested by us. Versions
000388 and 000389 are not supported.
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 BUFR library code.
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.
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
a generic tool to handle BUFR data in Python is available on
It is an interface to use ECMWF's BUFR decoding library from Python.
Please contact the
KNMI scatterometer team