Assimilating data into mathematical models