@marqh, this is a saving, not a loading issue. Failing here does not denote an unreasonable cube, but an unreasonable request to save to grib2 (should we not choose the 'missing' option also discussed here).

Regarding the alternative, 'missing' option, I suggest it doesn't matter if it's *common* practice to set a default level type level. It's never ok to make up a level type unless it's a universal practice (even then I'd want to see that written into the spec). I want us to aim for *correct* practice. I believe the only correct options are failure to save, or setting the level type to 'missing'.

If someone saves an upper air_temperature cube to grib2, and forgets to set the vertical coord, we must not write out a surface temperature cube, I'm sure you agree.

2nd level type = 255 for non-bounded layers.