|
1 | 1 | module m_checkpoint_manager |
2 | | -! @brief Manages the creation and restoration of simulation checkpoints |
3 | | -!! for restart capabilities. |
4 | | -!! |
5 | | -!! @details This module is responsible for periodically saving the full, unstrided |
6 | | -!! simulation state to a file. This allows a simulation to be stopped and resumed |
7 | | -!! from the exact state it was in. |
8 | | -!! |
9 | | -!! Key features include: |
10 | | -!! - Reading all checkpoint settings from a configuration file |
11 | | -!! - Periodically writing the full-resolution simulation state |
12 | | -!! - Handling the full logic for restarting a simulation from |
13 | | -!! a specified checkpoint file. |
14 | | -!! - A safe-write strategy that writes to a temporary file first, |
15 | | -!! then atomically renames it to the final filename to |
16 | | -!! prevent corrupted checkpoints. |
17 | | -!! - Optional cleanup of old checkpoint files to conserve disk space. |
| 2 | + ! @brief Manages the creation and restoration of simulation checkpoints |
| 3 | + !! for restart capabilities. |
| 4 | + !! |
| 5 | + !! @details This module is responsible for periodically saving the full, unstrided |
| 6 | + !! simulation state to a file. This allows a simulation to be stopped and resumed |
| 7 | + !! from the exact state it was in. |
| 8 | + !! |
| 9 | + !! Key features include: |
| 10 | + !! - Reading all checkpoint settings from a configuration file |
| 11 | + !! - Periodically writing the full-resolution simulation state |
| 12 | + !! - Handling the full logic for restarting a simulation from |
| 13 | + !! a specified checkpoint file. |
| 14 | + !! - A safe-write strategy that writes to a temporary file first, |
| 15 | + !! then atomically renames it to the final filename to |
| 16 | + !! prevent corrupted checkpoints. |
| 17 | + !! - Optional cleanup of old checkpoint files to conserve disk space. |
18 | 18 | use mpi, only: MPI_COMM_WORLD, MPI_Comm_rank, MPI_Abort |
19 | 19 | use m_common, only: dp, i8, DIR_C, get_argument |
20 | 20 | use m_field, only: field_t |
|
0 commit comments