Discrete Adjoint based Time-Step Adaptation and Error Reduction in