(1) Are you using dataloader, you should turn on shuffle (creating a batch of random training examples at each iteration)
(2) You said input was yesterday’s groundwater level and output was today’s groundwater level? Assuming groundwater level in a short period of time is similar, and there is no signal to predict increasing or decreasing groundwater level, then the best prediction would be the same groundwater level value from yesterday.
(3) Your network should be able to learn to make such prediction. If not you are having some bugs in your code. Another possibility is that your testing data distribution is different from training, try visualize them as histograms