invalidate_checkpoint_directory Subroutine

public subroutine invalidate_checkpoint_directory(checkpoint_dir)

Take a directory out of the resume candidates without touching files a later run rewrites. summary.txt goes first: every schema generation, including legacy ones without a manifest, needs it to be complete, so a crash between the two removals already leaves the directory non-resumable.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: checkpoint_dir

Calls

proc~~invalidate_checkpoint_directory~~CallsGraph proc~invalidate_checkpoint_directory invalidate_checkpoint_directory proc~remove_file_if_exists remove_file_if_exists proc~invalidate_checkpoint_directory->proc~remove_file_if_exists

Called by

proc~~invalidate_checkpoint_directory~~CalledByGraph proc~invalidate_checkpoint_directory invalidate_checkpoint_directory proc~invalidate_output_checkpoints invalidate_output_checkpoints proc~invalidate_output_checkpoints->proc~invalidate_checkpoint_directory proc~open_run_outputs open_run_outputs proc~open_run_outputs->proc~invalidate_output_checkpoints program~main main program~main->proc~open_run_outputs

Source Code

  subroutine invalidate_checkpoint_directory(checkpoint_dir)
    character(len=*), intent(in) :: checkpoint_dir

    integer :: status

    call remove_file_if_exists(trim(checkpoint_dir)//'/summary.txt', status)
    if (status /= filesystem_success) error stop 'Failed to remove a previous checkpoint summary.'
    call remove_file_if_exists(trim(checkpoint_dir)//'/'//checkpoint_manifest_name, status)
    if (status /= filesystem_success) error stop 'Failed to remove a previous checkpoint manifest.'
  end subroutine invalidate_checkpoint_directory