On startup, start loop at beginning of next minute

Thank you for all the suggestions. I ended up with:

void setup () {

while (incorrect time) {
  wait for time to be sent over serial port;}

continue with setup

if (second() != 0) {
  delay((60 - second()) * 1000);}

}

void loop () {

read sensors and log data

}

Thank you Morris, I had implemented that same idea, which didn't work because I forgot about the conversion to millis to properly delay.