Is this too big for ISR ?

 temp = getTemperature(tmp); 

Fldtemp = getTemperature(Fluidtmp);

What device are you getting the temperature of, that changes 1000 times a second?

You can read the analog ports asynchronously.

Scroll down to: "Read the Analog-to-Digital converter asynchronously"