prepare_output Subroutine

public subroutine prepare_output(params, flow)

Creates the output directory specified in the case parameters.

Arguments

Type IntentOptional Attributes Name
type(case_params_t), intent(in) :: params
type(flow_mpi_t), intent(in) :: flow

Source Code

   subroutine prepare_output(params, flow)
      type(case_params_t), intent(in) :: params
      type(flow_mpi_t), intent(in) :: flow

      integer :: exitstat
      character(len=path_len + 32) :: command

      if (flow%rank /= 0) return

      command = 'mkdir -p ' // trim(params%output_dir)
      call execute_command_line(trim(command), exitstat=exitstat)
      if (exitstat /= 0) call fatal_error('output', 'failed to create output directory: ' // trim(params%output_dir))

      command = 'mkdir -p ' // trim(params%output_dir) // '/VTK'
      call execute_command_line(trim(command), exitstat=exitstat)
      if (exitstat /= 0) call fatal_error('output', 'failed to create VTK output directory: ' // trim(params%output_dir) // '/VTK')

      command = 'mkdir -p ' // trim(params%output_dir) // '/diagnostics'
      call execute_command_line(trim(command), exitstat=exitstat)
      if (exitstat /= 0) call fatal_error('output', 'failed to create diagnostics output directory: ' // trim(params%output_dir) // '/diagnostics')

   end subroutine prepare_output