The aim of this course is to introduce students to GRIB/BUFR decoding and encoding with ecCodes : A package developed by ECMWF which provides an application programming interface and a set of tools for decoding and encoding GRIB and BUFR messages.

Note: The version of the ecCodes software used for this training course is now released (v2.10.0). Please see here.

The course is a mixture of standard classroom lectures and practical activities where ecCodes will be used to solve challenges.

The aim of the course is to provide participants with an advanced knowledge of ecCodes for decoding and encoding GRIB and BUFR data.

At the end of the course, the participants will be able to:

  • inspect the content of GRIB files using a number of tools
  • handle and manipulate GRIB data with advanced tools
  • explain what BUFR is and describe its structure
  • decode/encode BUFR data with ecCodes

The course is assessed by means of an online survey which allows the participants to include their feedback and suggestions for improvements. The learning outcomes are assessed separately using a self-evaluation method.



Pre-course programme

A list of pre-course activities is indicated below. Please note that these activities are integral part of the course and by completing them you will be able to get the most benefit out of the training week.

  • Please complete the following modules:

GRIB:

ecCodes: decoding with GRIB tools

ecCodes: manipulating GRIB data with tools and API

BUFR:

ecCodes: introduction to BUFR decoding

  • Post here your reflections on the modules and any concepts that you would like to review during the face to face version of the course.


PLEASE NOTE: the course starts at 9.30am on Monday 4th February 2019, and finishes at 17.00 on Friday 8th February 2019.


 Mon 4th FebTue 5th FebWed 6th FebThu 7th FebFri 8th Feb
9:30 - 11:00

  • Overview of GRIB and ecCodes
  • Review of e-learning module

Xavier Abellan

10:30


  • GRIB tools
  • Inspection tools - grib_dump and grib_ls
  • Revision of e-learning module
  • Quizzes and practicals

Slides

Paul Dando, Cristian Simarro



  • Overview of the API  
  • Using the API functions for decoding GRIB with Fortran and Python    

Slides  

Practicals

tarball 

Dominique Lucas, Xavi Abellan, Cristian Simarro



  • A short introduction to Python and its use at ECMWF
  • The Python interface to ecCodes for decoding, encoding and indexed access to GRIB messages

Slides

Practical

Xavier Abellan



  • codes_info
  • bufr_count
  • bufr_dump
  • bufr_ls
  • bufr_get

Slides

Shahram Najm


  • bufr_compare
  • bufr_copy
  • bufr_set

Slides

Shahram Najm



Decoding with Fortran & Python (I)

Slides

Shahram Najm



Tea and Coffee
11:30 - 13:00

 

  • GRIB tools (continued)
  • Revision of e-learning module
  • Quizzes and practicals

Paul Dando, Cristian Simarro



  • Overview of the API  
  • Using the API functions for decoding GRIB with Fortran and Python  

Practicals

tarball 

Dominique Lucas, Xavi Abellan, Cristian Simarro



  • GRIB parameter database
  • Conversion from GRIB1 to GRIB2  
  • How to define your own local parameters    

Slides 

Shahram Najm

12:50 Q&A session


  • bufr_filter syntax and basic usage

Slides

Shahram Najm



Decoding with Fortran & Python (II)

Slides

Shahram Najm



Lunch
14:00 - 15:15


  • GRIB tools (continued)
  • Revision of e-learning module
  • Quizzes and practicals

Paul Dando, Cristian Simarro



  • Use of the indexing routines
  • Encoding GRIB messages and using GRIB samples

Slides

Dominique Lucas, Xavi Abellan, Cristian Simarro


 

  • WMO Manual on Codes
  • BUFR structure
  • BUFR tables
  • Operators, bitmap, replication...

Slides

Marijana Crepulja



bufr_filter advanced topics (I)

  • encoding/decoding
  • subset selection

Slides

Solutions

Roberto Ribas



Encoding with Fortran & Python (I)

Slides

Roberto Ribas



Tea and Coffee
15:45 - 17:00




  • Use of the indexing routines
  • Encoding GRIB messages and using GRIB samples

  Practicals  

Dominique Lucas, Xavi Abellan, Cristian Simarro


 

  • BUFR with ecCodes

Slides

Marijana Crepulja


  • Codes UI demo

Sandor Kertesz



bufr_filter advanced topics (II)

  • delayed replication
  • bit maps

Slides

Solutions

Extras

Solutions extra

Roberto Ribas



 Encoding with Fortran & Python (II)
Slides

Roberto Ribas






Go to home page

 



Take the survey!

 






Check our online training resources on:


MARS - ECMWF's meteorological archive

MARS - advanced retrievals, data manipulation and computations

A starter guide to ecFlow

Introduction to Metview

Using ECMWF computing facilities: the batch system


Other online resources are available here


Lectures notes from the 2019 course are here

Lectures from the course: Download the 2018 lectures from here (GRIB) and here (BUFR)