This paper proposes a new BP artificial neural network algorithm that predicts flood level in rivers, lakes and reservoirs. Since a neural network can approach to a nonlinear function with high accuracy, we may use it to predict the flood level, which changes with complicated nonlinear mode. The algorithm is a kind of learning one, which learns with a teacher and under supervision. In process of learning, the errors between predicted value and actual value are taken as feedbacks, which are used to adjust the weights in the predicting network, so that the algorithm may get excellent predicting result.Considering conditions that monitoring places are usually far away each other, we put forward a method, named as "auxiliary data method". Since the network with multiple input neurons is more precise than the one with single input neuron, the method constructs several virtual monitoring places, which are taken as input neurons for the network. Workers can gives auxiliary flood level data to the virtual places according to their experience. Thus sample size for learning in the network increases and the prediction accuracy can be improved. The method is especially suitable for the condition that there is flood level data from only one place.We compared the data calculated by our algorithm to actual monitoring data from monitoring station in Chaoan city in China; the result indicates that our algorithm can get good prediction.