An Application-Level Synchronous Checkpoint-Recover Method for Parallel CFD Simulation