Now if it was me, I'd put the rpm_fun and the flow_fun before setup(), otherwise when the compiler is reading all the code, it will come to the place in setup() where rpm_fun and flow_fun are mentioned, and not know what they are. You might need to have either a declaration or definition for those functions, preceding the spot where they are referenced in setup(). On the other hand, the compiler these days might be smart enough to figure that out.
The other thing I would vaguely suggest, is to test the different aspects of your system separately. For example, test the data collecting parts and just send the data to a laptop so you can see it is working. Then test all the LCD stuff separately. I have had a fair bit of grief getting LCD's to work.