Thanks @bblay , but I changed all this code to type-specific accesses since I was encountering problems with unexpected results like "self.centre == 'ecmf'" (so it seems we will still need to use grib_get_long for centre_number anyway).  

I know it has already been suggested that this problem can  be handled better elsewhere (*), but I feel for now it's probably simpler+safer to leave it as it is.

(*) cf, in https://github.com/SciTools/iris/pull/452#discussion-diff-3933374
> @bblay
... Changing data types (and contents) of "computed keys", such as levelType, has been problem for many years. However, I didn't expect "coded keys", such as indicatorOfTypeOfLevel, to suffer from this
 ...
I suggest we remove this vulnerability. We can force GribWrapper to give us the coded integer value ...