Each key can appear several times in a BUFR message. 

Examples are: 

  • airTemperature in an upper air report
  • backscatter in a scatterometer observation

ecCodes provides access by rank of all the keys in the data section of a BUFR message with the following syntax:

# To get the third airTemperature in the message
t = codes_get(bufr, '#3#airTemperature')
# To get the second backscatter in the message
b = codes_get_array(bufr, '#2#backscatter')