I have a crazy pool designed in the mid seventies by someone that must have been under the influence of some of the finer methods of chemical enhancement. I was tired of not really knowing how many gallons it is.
Google Sketch-up is an excellent 3D drawing application that is fairly simple to use and has the ability to calculate the volume of most complex 3D shapes**.
Building the model requires accurate dimensions. So, using a long, straight board that is firmly affixed to the ground and runs the entire length of the pool, I marked off 1-foot intervals on this board, thus establishing a datum line as a measurement reference. At these1-foot intervals along the datum line, my lovely bride and I pulled the tape measure across the pool, taking 4 measurements to the nearest 0.25":
1) horizontal datum to near pool edge.
2) Horizontal datum to far pool edge
3) depth at 1' inside of pool at near edge
4) depth at 1' inside of pool at far edge.
So, the operation is take the 4 measurements, move over 1 foot, and take the measurements, and repeat until we have covered end-to-end the length of the pool and spa.
Then, take the measurements into sketch-up, and start building the model.
Here's the top-view:
Rotating toward the underside. You can see the various ledges and other features:
Back side. Here, you can clearly see each 1-foot measurement interval.
And finally, with all the facets created, you select all and group it as 1 entity. Then, select "Entity Info", and, voila -- your volume:
If it doesn't compute a volume, that means there is some disconnected facet -- a tear in the model. It's a bit particular, and takes practice to find these.
It's not perfect. The rounded corners in the transition from wall to floor are not modeled. But, it's a heck of a lot more accurate than the 20-30K gallons the pool inspector proffered when I asked him how big it was.
**It doesn't handle circular/spherical objects intersecting a plane.