A self adjusting multirate algorithm for robust time discretization of partial differential equations. (1st April 2020)