Out of memory, how to reduce this program's size

You have a lot of duplication of your output statements there.

One idea might be, to write all the outputs into a single char array, and then print that array to both the serial and the SD card.