glmtools icon indicating copy to clipboard operation
glmtools copied to clipboard

Using 0 as _FillValue is confusing

Open gerritholl opened this issue 5 years ago • 3 comments

The processed GLM files use 0 as a _FillValue (at least for flash_extent_density, which is the data variable I'm working with). This is confusing, because 0 is a perfectly valid flash extent density. As a consequence, users cannot tell what pixels have no flashes measured or in what pixels for whatever reason the flash extent density could not be determined.

I imagine this choice may be for visualisation purposes, so that where the flash extent density is zero, the background pixel is drawn (like in the C14_flash_extent_density composite in Satpy), but in that case it should be up to the data visualisation routine to process 0-values accordingly and it shouldn't be masked in the data file.

gerritholl avatar Nov 26 '20 16:11 gerritholl

While I agree that a fill value outside of the valid range of the data would be best, shouldn't you or any tool you are using (xarray) mask out the _FillValue for you?

djhoese avatar Nov 26 '20 16:11 djhoese

Yes, the tool (satpy by calling xarray) is masking out the _FillValue. I was wondering why more than 99% of data points were containing NaN, and traced it back to the _FillValue. Now I'm changing them back to zero for the purpose of my statistical analysis, hoping that those pixels actually correspond to zero FED and not to pixels where the FED couldn't be calculated.

gerritholl avatar Nov 26 '20 16:11 gerritholl

Oooohh! So you aren't necessarily wondering why zero versus another value was chosen, but why no FED is considered "invalid/masked" instead of just 0?

djhoese avatar Nov 26 '20 18:11 djhoese