I'd like to point out that the "nearest neighbour" option may not always
do what a user intends.
This is because DAVE-ML gridded data need not be uniformly spaced.
Dividing a non-uniform grid at the half way point between successive
breakpoints will bias the interval relative to the breakpoint. See below
-------- <-- nearest neighbour data
o o o <-- breakpoints
1 2 3
This is a true "nearest neighbour" division (allowing for my rather
primitive ascii art :), but the difference in breakpoint spacing leads
to the middle output value not being centred on breakpoint 2. If the
user wants to adjust these biases, it would be better to use either the
floor or ceiling forms to explicitly set the output value changes.
This is therefore another argument in favour of the three options.