While @PeterN composes the post that will straighten me out, that got me to thinking about constant SP, which took me back to the externally-added Derivative action (D-action) idea ...
One way to do ad D-action would be to calculate the rate of change of PV externally, and if it goes above a certain positive value (e.g. let's call it the WHDL - water hammer detection limit), the external logic could subtract a delta, scaled from that rate, from the setpoint SP. Another piece of the external logic could gradually reduce the accumulated deltas down to zero, so it has no effect in normal operation i.e. when the PV is not rising "quickly."
I know this is a Rube-Goldberg/Heath-Robinson approach, but if you've ever messed with LOGO! you'll understand why i.e. it's needs must.
Sidebar: This approach relative to built-in Derivative-action what operator "Reset" used to be relative to Integral action, in the P-only, fixed bias, pre-PID days of yore. I learned from @OldChemEng the other day that that is why Integral action is traditionally called Reset: on P-only controllers, if the process changes (load, cooling medium temperature, etc.), the controller would respond but always end up with an offset of PV relative to SP; this is well understood and often covered in PID tutorials. The operator's solution was to "reset" the SP to a faux value to get the PV back to the target SP.