gold ends 1% higher at $1,671.90 an ounce