I ran into some trouble crossing the equator of the tank, and had to improvise. I couldn't find any formula using arcsin, so I used arccosine formulas, which were accompanied by good explanations.
works up until the equator (yielding negative area over the equator), so I flipped the problem (water<==>air) for height > radius,
coming up with a recursive formula.
I skipped the part where you convert from cubic centimeters (cm) to kilos or whatever.
Do that OUTSIDE my formulas, to keep our sanities.
Regarding your multiple tanks, keep your tank sizes in csv tables from a file, loaded at app start, and pass the R and L to the procedure. Never open up the procedure for further customization, just wrap the calls.








