libECBUFR is a general purpose, template-oriented BUFR encoding/decoding library.
The Binary Universal Format for the Representation of meteorological data (BUFR) is a data format created and maintained by the World Meteorological Organization. Code specifications, tables and other details may be found at: http://
libECBUFR was developed by the Meteorological Service of Canada to provide a uniform BUFR API and library across the various meteorological and IT components of Environment Canada that encode or decode BUFR. The library is written in the C language, but can be used with other languages (via SWIG, for instance).
While the software is meant mainly to be used as a library of BUFR-related functions, it also comes with two utilities to decode and encode BUFR to and from ASCII templates.
The C code is quite generic and should compile on many platforms that can use the GNU toolchain.
Individuals and organizations are welcome to evaluate and use libECBUFR. Please read and understand the licensing terms under the Lesser General Public License, version 3.
Please be aware that the amount of direct software support we can provide is very limited and that we can make no promise in that regard. However, we would help in building community-based support. We do believe that there are many people and organizations in the meteorological community that can use this software, adapt it to their requirements and help us improve it. We hope that on that basis we can build a community of interest in a spirit of mutual benefit.
As of early 2013, the library source code is seeing fewer changes. This simply reflects the fact that the library meets current requirements and that it is performing as expected.
Questions? Feel free to ask. Or, perhaps we already have an answer in the FAQ: https:/
All FAQs FAQs for libECBUFR
- What version of Tables B and D do I have? Where can I get the latest?
- Can you make a Red Hat (Centos, Suse...) package?
- Is there a preferred Linux distribution for libecbufr?
- How can I download a tarball (tar.gz) of libecbufr?
- How do I create a BUFR message with random values?
All bugs Latest bugs reported
Bug #1425708: Need error checking on BUFR Master Table number
Reported on 2015-02-25
Bug #1388088: Error: can't decode messages - IEDX01
Reported on 2014-10-31
Bug #1374593: The decoding of some BUFR files generates warnings but it seems that LIBECBUFR doesn't return the flag BUFR_FLAG_INVALID in these cases.
Reported on 2014-09-26
Bug #1335143: cannot decode BUFR messages with section 2
Reported on 2014-06-27
Bug #1294321: decoder could read 1 byte beyond data of section 4
Reported on 2014-03-18
All questions Latest questions
Add Table C
Posted on 2015-02-24
question about bufr decoding tables
Posted on 2013-12-17
'undefined reference' link errors while building from source
Posted on 2013-11-30
make a data&template for FM-36(GTS) using library
Posted on 2013-07-08
Can convert FM-71(GTS Format) to BUFR Using libecbufr library
Posted on 2013-06-26
All blueprints Latest blueprints
Delimiter Switch to Console Decoder
Registered on 2010-11-16
Ensure library works correctly when compiled in 64-bit environments
Registered on 2010-07-20
Improve the "debian-conformance" of libecbufr packaging
Registered on 2009-11-24
Registered on 2009-11-16
Post install tests to meet EC CMO requirements
Registered on 2009-11-16