read_output_input Subroutine

private subroutine read_output_input(filename, params)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
type(case_params_t), intent(inout) :: params

Namelists

Namelist output_input


Variables

Name Type Default Description
output_dir character(len=path_len) None
write_vtu logical None
write_diagnostics logical None
terminal_interval integer None
terminal_detail character(len=name_len) None
vtu_format character(len=name_len) None

Source Code

   subroutine read_output_input(filename, params)
      character(len=*), intent(in) :: filename
      type(case_params_t), intent(inout) :: params

      character(len=path_len) :: output_dir
      character(len=name_len) :: terminal_detail
      logical :: write_vtu, write_diagnostics
      integer :: terminal_interval
      character(len=name_len) :: vtu_format
      integer :: unit_id, ios

      namelist /output_input/ output_dir, write_vtu, write_diagnostics, terminal_interval, terminal_detail, vtu_format

      output_dir = params%output_dir
      write_vtu = params%write_vtu
      write_diagnostics = params%write_diagnostics
      terminal_interval = params%terminal_interval
      terminal_detail = params%terminal_detail
      vtu_format = params%vtu_format

      call open_namelist_file(filename, unit_id, ios)

      if (ios == 0) then
         read(unit_id, nml=output_input, iostat=ios)
         close(unit_id)
      end if

      if (ios > 0) call fatal_error('input', 'failed reading &output_input')

      params%output_dir = output_dir
      params%write_vtu = write_vtu
      params%write_diagnostics = write_diagnostics
      params%terminal_interval = terminal_interval
      params%terminal_detail = trim(lowercase(terminal_detail))
      params%vtu_format = trim(lowercase(vtu_format))
   end subroutine read_output_input