I've just prepared a branch with this fix, including the fix in saving and a test, I was just about to submit a PR! Anyway, this method will mean that all data read from GRIB will be stored in masked arrays from now on, is that desirable? I think there needs to be a companion fix for saving if you are going to introduce this here. Also, is the missing value handling tested?