The water level in the pond typically drops during dry periods due to evaporation, and rises during rainstorms (suprise!). The amount of loss due to evaporation varies (I think) greatly day by day. It depends on the humidity, temperature (both of the air and of the water) and the windspeed. [I've now lost the good reference to performing this calculation, but I can recall that it was stuffed full of values that I didn't know -- like the partial vapor pressure of water, which is presumably calculable from the relative humidity].
There are also leaks. These are the bane of any ponder -- half the time you are not sure if the water loss is a leak or just regular evaporation. In my recent case, it turned out to be a leak over the top of the liner. We had had a bunch of kids over at a party, and they (naturally) were running around the pond and jumping across the stream. It turned out that this compacted the soil just enough so that the water would (sometimes) seep over the liner and under the top rock. Since this was in the top pond whose level is controlled by the waterfall, a loss in water did not reduce the level there. This meant that we lost about 5 inches of water in about a day.
The pond construction that I used works as follows:
However, there are some places where this method was not used -- namely the stream. The edge here is just packed soil with the liner and then rock on top. This is what got compacted and water to flow over.
The solution was to put a piece of pressure treated 2x4 on top of the soil and run the liner over that. This is much more difficult to press down, and indeed the leak has gone away.
The issue remains -- how can I detect leaks or evaporation?
The obvious solution is to measure the water level on a continuous basis, and hopefully it will become obvious when the loss rate (especially at night) becomes higher than a preset threshold.
Somebody suggested that a neat way of sensing water level was to use an oscillator whose frequency was controlled by a string of capacitors. The string of capacitors would be in the water, and more or less of them would be shorted out depending on the depth. This seemed like a simple circuit, and the since the oscillator output could be fed into a counter and hence easily measured, I decided to go ahead.
I used 30 × 0.1µF ceramic capacitors soldered together. Each capacitor is 0.2 inches long, so this gives me a six inch string. This is mounted inside a ¾inch copper pipe with the pipe providing one electrode, and the capacitor string the other. With the 30 capacitors in series, the oscillator (555) runs at around 300Hz, and curiously enough the distance down from the top is linear in Hz (about 60Hz per inch).
The capacitors are actually hot glued to a piece of U shaped plastic which is a nice snug press fit into the pipe. This holds them steady and prevents their leads from touching the pipe and causing a short.
The oscillator output is connected to a DS2423 1-wire counter which is then attached to the 1-wire network that I have. The output is converted into inches (above bottom) with some calibration constants.
The board that I am using is my experimenter board. This includes the schematics.