SO2 L3 conversion

I’m trying to do a month mean of sulfur dioxide but all I’m getting is this strange composition with a lot of negative values. I checked similar topics but still don’t have a clue what’s the issue here. Even if I set all the negative values to 0, the map doesn’t provide information about possible emitters. It looks really random.

I’m using the following code:

products = glob.glob(os.path.join(download_path, ‘*.nc’))
operations = ‘;’.join([
‘SO2_column_number_density_validity > 50’,
‘keep(latitude, longitude, latitude_bounds, longitude_bounds, SO2_column_number_density)’,
reduce_operations = ‘;’.join([
‘squash(time, (latitude, longitude, latitude_bounds, longitude_bounds))’,
average = harp.import_product(products, operations = operations, reduce_operations = reduce_operations)

I think you may be looking at noise.
I am not an expert at this, but I am not sure whether the S5P L2 SO2 product allows for detection of small sources through simple averaging.
If you also look at the Mapping Service then you will see that only bigger sources pop up.

You were right. It seems you have to add, for example, ‘SO2_type > 0’ when importing with harp. This way it ommits noise values and get proper observations (screenshot from harp documentation).