> the new latitudes used for interpolation would be south-to-north

```new_lats``` match the message, so they wouldn't be south-to-north in that case. See the lines of interest, below (```lats``` is per-point, not a unique ascending list):
```
lats = gribapi.grib_get_double_array(grib_message, "latitudes")
y_step = gribapi.grib_get_double(grib_message, "jDirectionIncrementInDegrees")
new_lats = np.arange(ny) * y_step + lats[0]
```

Regardless, I can't find an example of -ve j step in a thinned grid. We could follow the agile approach and address that if we ever need it? I'm still getting a feel for how to balance focused agile development against general robustness for a global community. What do you reckon?