cake: use potential interpolation selectively for P and S

fixes a problem when there is a gradient in either P or S