Reading serial.print data with unknown characters python
This is not an answer, but you have a insidious little problem in your code that can be easily solved disabling interrupts before using flow_frequency:

  if(currentTime &gt;= (cloopTime + 1000))
   {     
     cloopTime = currentTime;              // Updates cloopTime
       // Pulse frequency (Hz) = 7.5Q, Q is flow rate in L/min. (Results in +/- 3% range)
      noInterrupts();
      int flow_copy = flow_frequency;
      flow_frequency = 0;                   // Reset Counter
      interrupts();
      l_hour = (flow_copy * 60 / 7.5); // (Pulse frequency x 60 min) / 7.5Q = flow rate in L/hour 


The reason is that you need to freeze flow_frequency so it doesn't change while you are using it. If an interrupt comes while your are using flow_frequency, you will end up with a value that's a mixed of old and new.

Solution: Copy the values updates inside the ISR before using them. Disable interrupts before doing it and reenable after that.

Reason: High level operations like flow_frequency++ and flow_frequency=0 are not atomic. At machine level they are composed of multiple machine instructions, which can be interrupted at any time, leaving things in an undeterminated state.