There is a wider issue with the sum operator for zonal, meridional, area and volume statistics. I don't fully understand how we are supposed to use this operator and whether it makes sense as it is currently implemented.
Some data comes in the form of the average concentration of the entire cell (for instance Chlorophyll per cubic meter) - it would not make sense to calculate the sum of this value without weighting it by the cell sizes. On the other hand, some data comes in the form of the cell total (ie, Total Chlorophyll per cell), and it doesn't make sense to weight this data according to the cell size.
I propose that we split the sum operator into two separate operations: a weighted_sum and a weightless_sum, where the weighted_sum operator requires the fx file and the weightless_sum does not. (Happy to change the names if you think of something better).
The problem that I encountered with this before is that the weighted_sum operator is likely to require the units to be changed. For instance, if you are looking at the sum of the Chlorophyll per cubic meter weighted by the total volume, your result will be the total chlorophyll, not a concentration. This will output a cube with different units, and this (used to, at least) breaks the ESMValTool preprocessor
There is a wider issue with the
sumoperator forzonal,meridional,areaandvolumestatistics. I don't fully understand how we are supposed to use this operator and whether it makes sense as it is currently implemented.Some data comes in the form of the average concentration of the entire cell (for instance Chlorophyll per cubic meter) - it would not make sense to calculate the sum of this value without weighting it by the cell sizes. On the other hand, some data comes in the form of the cell total (ie, Total Chlorophyll per cell), and it doesn't make sense to weight this data according to the cell size.
I propose that we split the
sumoperator into two separate operations: aweighted_sumand aweightless_sum, where theweighted_sumoperator requires the fx file and theweightless_sumdoes not. (Happy to change the names if you think of something better).The problem that I encountered with this before is that the
weighted_sumoperator is likely to require the units to be changed. For instance, if you are looking at the sum of the Chlorophyll per cubic meter weighted by the total volume, your result will be the total chlorophyll, not a concentration. This will output a cube with different units, and this (used to, at least) breaks the ESMValTool preprocessor