How To Install eccodes on CentOS 8

eccodes is WMO data format decoding and encoding

Introduction

In this tutorial we learn how to install eccodes on CentOS 8.

What is eccodes

ecCodes is a package developed by ECMWF which provides an application programming interface and a set of tools for decoding and encoding messages in the following formats * WMO FM-92 GRIB edition 1 and edition 2 * WMO FM-94 BUFR edition 3 and edition 4 * WMO GTS abbreviated header (only decoding). A useful set of command line tools provide quick access to the messages. C, and Fortran 90 interfaces provide access to the main ecCodes functionality. ecCodes is an evolution of GRIB-API. It is designed to provide the user with a simple set of functions to access data from several formats with a key/value approach. For GRIB encoding and decoding, the GRIB-API functionality is provided fully in ecCodes with only minor interface and behaviour changes. Interfaces for C, and Fortran 90 are all maintained as in GRIB-API. However, the GRIB-API Fortran 77 interface is no longer available. In addition, a new set of functions with the prefix “codes_” is provided to operate on all the supported message formats. These functions have the same interface and behaviour as the “grib_” functions. A selection of GRIB-API tools has been included in ecCodes (ecCodes GRIB tools), while new tools are available for the BUFR (ecCodes BUFR tools) and GTS formats. The new tools have been developed to be as similar as possible to the existing GRIB-API tools maintaining, where possible, the same options and behaviour. A significant difference compared with GRIB-API tools is that bufr_dump produces output in JSON format suitable for many web based applications.

We can use yum or dnf to install eccodes on CentOS 8. In this tutorial we discuss both methods but you only need to choose one of method to install eccodes.

Install eccodes on CentOS 8 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

The output should look something like this:

CentOS Linux 8 - AppStream                                       43 kB/s | 4.3 kB     00:00    
CentOS Linux 8 - BaseOS                                          65 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - ContinuousRelease                               43 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - Extras                                          23 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - FastTrack                                       40 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - HighAvailability                                36 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - Plus                                            24 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - PowerTools                                      50 kB/s | 4.3 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64           13 kB/s | 9.2 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                   24 kB/s | 8.5 kB     00:00    
Metadata cache created.

After updating yum database, We can install eccodes using dnf by running the following command:

sudo dnf -y install eccodes

Install eccodes on CentOS 8 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

The output should look something like this:

CentOS Linux 8 - AppStream                                       43 kB/s | 4.3 kB     00:00    
CentOS Linux 8 - BaseOS                                          65 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - ContinuousRelease                               43 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - Extras                                          23 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - FastTrack                                       40 kB/s | 3.0 kB     00:00    
CentOS Linux 8 - HighAvailability                                36 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - Plus                                            24 kB/s | 1.5 kB     00:00    
CentOS Linux 8 - PowerTools                                      50 kB/s | 4.3 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64           13 kB/s | 9.2 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                   24 kB/s | 8.5 kB     00:00    
Metadata cache created.

After updating yum database, We can install eccodes using yum by running the following command:

sudo yum -y install eccodes

How To Uninstall eccodes on CentOS 8

To uninstall only the eccodes package we can use the following command:

sudo dnf remove eccodes

eccodes Package Contents on CentOS 8

/usr/bin/bufr_compare
/usr/bin/bufr_compare_dir
/usr/bin/bufr_copy
/usr/bin/bufr_count
/usr/bin/bufr_dump
/usr/bin/bufr_filter
/usr/bin/bufr_get
/usr/bin/bufr_ls
/usr/bin/bufr_set
/usr/bin/codes_bufr_filter
/usr/bin/codes_count
/usr/bin/codes_info
/usr/bin/codes_parser
/usr/bin/codes_split_file
/usr/bin/grib2ppm
/usr/bin/grib_compare
/usr/bin/grib_copy
/usr/bin/grib_count
/usr/bin/grib_dump
/usr/bin/grib_filter
/usr/bin/grib_get
/usr/bin/grib_get_data
/usr/bin/grib_histogram
/usr/bin/grib_index_build
/usr/bin/grib_ls
/usr/bin/grib_merge
/usr/bin/grib_set
/usr/bin/grib_to_netcdf
/usr/bin/gts_compare
/usr/bin/gts_copy
/usr/bin/gts_count
/usr/bin/gts_dump
/usr/bin/gts_filter
/usr/bin/gts_get
/usr/bin/gts_ls
/usr/bin/metar_compare
/usr/bin/metar_copy
/usr/bin/metar_dump
/usr/bin/metar_filter
/usr/bin/metar_get
/usr/bin/metar_ls
/usr/bin/tigge_check
/usr/lib/.build-id
/usr/lib/.build-id/01
/usr/lib/.build-id/01/5e8a74e6373c6d4c32b8831499416b16d0ab1d
/usr/lib/.build-id/01/a6d767a12aa2d7e3dfb63e51b450e1ca2745f4
/usr/lib/.build-id/18
/usr/lib/.build-id/18/280152992ddec123add66a6a2ac2acb079616e
/usr/lib/.build-id/18/280152992ddec123add66a6a2ac2acb079616e.1
/usr/lib/.build-id/18/280152992ddec123add66a6a2ac2acb079616e.2
/usr/lib/.build-id/18/280152992ddec123add66a6a2ac2acb079616e.3
/usr/lib/.build-id/1e
/usr/lib/.build-id/1e/e2c9ae3622cf2ffdc79394614596090eca2f3e
/usr/lib/.build-id/21
/usr/lib/.build-id/21/6d29c8a73827ca4186ef15b27845e755226fc4
/usr/lib/.build-id/22
/usr/lib/.build-id/22/ea139f5064b1773a9db68c6bfd41fd4d66da27
/usr/lib/.build-id/28
/usr/lib/.build-id/28/81160f7c1b93fc79b1e5bf86b6430781d3405d
/usr/lib/.build-id/2e
/usr/lib/.build-id/2e/5430161aaa64b2bd197ffcbf530a89dbe73433
/usr/lib/.build-id/2e/9348ae6482911ea0447254fe5d33367a9cca6f
/usr/lib/.build-id/33
/usr/lib/.build-id/33/3c9272debd1f046c8a58e24edb792ec440d735
/usr/lib/.build-id/36
/usr/lib/.build-id/36/de872620d895eb1332593fb140cc430bb8fbc0
/usr/lib/.build-id/3c
/usr/lib/.build-id/3c/6498cd11839ae7251af949d14f3f6c6cc344ba
/usr/lib/.build-id/46
/usr/lib/.build-id/46/43c068eef88485ab24570b017cae2ceb03d899
/usr/lib/.build-id/46/8bc69398bb7e8235bda37d1d7ae2684989527c
/usr/lib/.build-id/53
/usr/lib/.build-id/53/d6214fb9ddc2cdc3ef9a155109855280cbbaad
/usr/lib/.build-id/53/e44526fa4f2837d1bd6501c0282bdc7fac27a9
/usr/lib/.build-id/55
/usr/lib/.build-id/55/89207de08630ae3b45ab2239c236a60d0bcae9
/usr/lib/.build-id/5a
/usr/lib/.build-id/5a/e0bba9b92bf9d66426ac1ccd733b22c7232a89
/usr/lib/.build-id/62
/usr/lib/.build-id/62/864386848b6d5beedcc05ad9fce60158eed6d7
/usr/lib/.build-id/63
/usr/lib/.build-id/63/7cdff8c768391334b41f3975ed2935daab877f
/usr/lib/.build-id/65
/usr/lib/.build-id/65/7774d6b157c40d425f0401fd6c7b159b1e51cb
/usr/lib/.build-id/6b
/usr/lib/.build-id/6b/e9c30c326c9ce867d1f9631dfc82aa732cd127
/usr/lib/.build-id/6d
/usr/lib/.build-id/6d/54a9298b8c9b26b740aa88dd4232d9b0ad0681
/usr/lib/.build-id/6d/c3096070d9c6b957de31dcf7e9a4fe222620b4
/usr/lib/.build-id/75
/usr/lib/.build-id/75/8d0b450fdd166f8e31be411fce2c1d0d35acd1
/usr/lib/.build-id/7e
/usr/lib/.build-id/7e/5323f4c584b793959082770740ec6d60307141
/usr/lib/.build-id/7e/b6b4d9826700ce39078a3bdc33d7ddbcd53d0e
/usr/lib/.build-id/7f
/usr/lib/.build-id/7f/1107e78a56279c7d94ac13def0d95c1a3ae847
/usr/lib/.build-id/86
/usr/lib/.build-id/86/3e29eeb083d3fec8143f0ae1035226d146f971
/usr/lib/.build-id/a6
/usr/lib/.build-id/a6/f0d03985c1c753c1a59054cfb4af5e62c499b9
/usr/lib/.build-id/a7
/usr/lib/.build-id/a7/0a812f797c051f6b22399943ed0f1b999d4760
/usr/lib/.build-id/bb
/usr/lib/.build-id/bb/48aceb9af7818835ede53a5f0ca83cbd444eab
/usr/lib/.build-id/bf
/usr/lib/.build-id/bf/ba1b34e1d4907d633057ee8c447f7697362c57
/usr/lib/.build-id/ce
/usr/lib/.build-id/ce/4590bfd15d53e19f8222a659713a29e1a78d8d
/usr/lib/.build-id/d1
/usr/lib/.build-id/d1/d936caf6a2dc8db6a031797695b5f150cdd5f8
/usr/lib/.build-id/e4
/usr/lib/.build-id/e4/15c5520a0a2a2d0f8c1426ec9317db9367168f
/usr/lib/.build-id/ea
/usr/lib/.build-id/ea/b0d003a47326c39dd6cee70aa188208bf2594a
/usr/lib/.build-id/eb
/usr/lib/.build-id/eb/ebee2eccd9de5b02cf62e39f2d59b7238e0010
/usr/lib/.build-id/ff
/usr/lib/.build-id/ff/435108dc2f98ef7a8e50158a5643cada76a51d
/usr/lib64/libeccodes.so.0.1
/usr/lib64/libeccodes_f90.so.0.1
/usr/share/doc/eccodes
/usr/share/doc/eccodes/AUTHORS
/usr/share/doc/eccodes/ChangeLog
/usr/share/doc/eccodes/NEWS
/usr/share/doc/eccodes/NOTICE
/usr/share/doc/eccodes/README.md
/usr/share/licenses/eccodes
/usr/share/licenses/eccodes/LICENSE

References

Summary

In this tutorial we learn how to install eccodes on CentOS 8 using yum and dnf.