There’s not really much in those definition except somebody else’s vb script? I would try offset on surface and work from that, but I have no idea if that will work.
As long as you keep rows and columns it will be possible, just deform UV of your surface, so deform your surface. Here it looks like a disc. I just rebuild a surface with 3 and 3controls points and degre 2.