parse_scratch_files Function

private function parse_scratch_files(self) result(error)

Type Bound

vtm_file

Arguments

Type IntentOptional Attributes Name
class(vtm_file), intent(inout) :: self

Return Value integer(kind=I4P)


Calls

proc~~parse_scratch_files~~CallsGraph proc~parse_scratch_files vtm_file%parse_scratch_files none~write_block vtm_file%write_block proc~parse_scratch_files->none~write_block none~write_parallel_block_files xml_writer_abstract%write_parallel_block_files proc~parse_scratch_files->none~write_parallel_block_files proc~write_block_array vtm_file%write_block_array none~write_block->proc~write_block_array proc~write_block_scratch vtm_file%write_block_scratch none~write_block->proc~write_block_scratch proc~write_block_string vtm_file%write_block_string none~write_block->proc~write_block_string proc~write_parallel_block_file xml_writer_abstract%write_parallel_block_file none~write_parallel_block_files->proc~write_parallel_block_file proc~write_parallel_block_files_array xml_writer_abstract%write_parallel_block_files_array none~write_parallel_block_files->proc~write_parallel_block_files_array proc~write_parallel_block_files_string xml_writer_abstract%write_parallel_block_files_string none~write_parallel_block_files->proc~write_parallel_block_files_string proc~write_block_array->none~write_parallel_block_files proc~write_parallel_close_block xml_writer_abstract%write_parallel_close_block proc~write_block_array->proc~write_parallel_close_block proc~write_parallel_open_block xml_writer_abstract%write_parallel_open_block proc~write_block_array->proc~write_parallel_open_block proc~chars string%chars proc~write_block_scratch->proc~chars proc~upper~2 string%upper proc~write_block_scratch->proc~upper~2 proc~write_block_string->none~write_parallel_block_files proc~write_block_string->proc~chars proc~write_block_string->proc~upper~2 proc~write_block_string->proc~write_parallel_close_block proc~write_block_string->proc~write_parallel_open_block interface~str str proc~write_parallel_block_file->interface~str proc~write_self_closing_tag xml_writer_abstract%write_self_closing_tag proc~write_parallel_block_file->proc~write_self_closing_tag proc~write_parallel_block_files_array->interface~str proc~write_parallel_block_files_array->proc~write_self_closing_tag proc~write_parallel_block_files_string->interface~str proc~write_parallel_block_files_string->proc~chars proc~split string%split proc~write_parallel_block_files_string->proc~split proc~write_parallel_block_files_string->proc~write_self_closing_tag proc~str_a_i1p str_a_I1P interface~str->proc~str_a_i1p proc~str_a_i2p str_a_I2P interface~str->proc~str_a_i2p proc~str_a_i4p str_a_I4P interface~str->proc~str_a_i4p proc~str_a_i8p str_a_I8P interface~str->proc~str_a_i8p proc~str_a_r4p str_a_R4P interface~str->proc~str_a_r4p proc~str_a_r8p str_a_R8P interface~str->proc~str_a_r8p proc~str_bol str_bol interface~str->proc~str_bol proc~str_i1p str_I1P interface~str->proc~str_i1p proc~str_i2p str_I2P interface~str->proc~str_i2p proc~str_i4p str_I4P interface~str->proc~str_i4p proc~str_i8p str_I8P interface~str->proc~str_i8p proc~str_r4p str_R4P interface~str->proc~str_r4p proc~str_r8p str_R8P interface~str->proc~str_r8p proc~strf_i1p strf_I1P interface~str->proc~strf_i1p proc~strf_i2p strf_I2P interface~str->proc~strf_i2p proc~strf_i4p strf_I4P interface~str->proc~strf_i4p proc~strf_i8p strf_I8P interface~str->proc~strf_i8p proc~strf_r4p strf_R4P interface~str->proc~strf_r4p proc~strf_r8p strf_R8P interface~str->proc~strf_r8p proc~partition string%partition proc~split->proc~partition proc~unique string%unique proc~split->proc~unique proc~write_end_tag xml_writer_abstract%write_end_tag proc~write_parallel_close_block->proc~write_end_tag proc~write_parallel_open_block->interface~str proc~write_parallel_open_block->proc~chars proc~write_start_tag xml_writer_abstract%write_start_tag proc~write_parallel_open_block->proc~write_start_tag proc~stringify xml_tag%stringify proc~write_self_closing_tag->proc~stringify proc~str_a_i1p->proc~str_i1p proc~str_a_i2p->proc~str_i2p proc~str_a_i4p->proc~str_i4p proc~str_a_i8p->proc~str_i8p proc~str_a_r4p->proc~str_r4p proc~str_a_r8p->proc~str_r8p proc~compact_real_string compact_real_string proc~str_r4p->proc~compact_real_string proc~str_r8p->proc~compact_real_string proc~stringify->interface~str proc~stringify->proc~chars proc~attributes xml_tag%attributes proc~stringify->proc~attributes proc~end_tag xml_tag%end_tag proc~stringify->proc~end_tag proc~is_allocated string%is_allocated proc~stringify->proc~is_allocated proc~self_closing_tag xml_tag%self_closing_tag proc~stringify->proc~self_closing_tag proc~start_tag xml_tag%start_tag proc~stringify->proc~start_tag proc~replace string%replace proc~unique->proc~replace proc~write_end_tag->proc~stringify proc~write_start_tag->proc~stringify proc~replace_one_occurrence string%replace_one_occurrence proc~replace->proc~replace_one_occurrence proc~self_closing_tag->proc~attributes proc~start_tag->proc~attributes

Called by

proc~~parse_scratch_files~~CalledByGraph proc~parse_scratch_files vtm_file%parse_scratch_files proc~finalize vtm_file%finalize proc~finalize->proc~parse_scratch_files proc~initialize vtm_file%initialize proc~initialize->proc~finalize

Source Code

   function parse_scratch_files(self) result(error)
   !< Parse scratch files.
   class(vtm_file), intent(inout) :: self     !< VTM file.
   integer(I4P)                   :: error    !< Error status.
   character(9999)                :: filename !< File name of VTK file grouped into current block.
   character(9999)                :: name     !< Block name
   integer(I4P)                   :: s, f     !< Counter.

   if (allocated(self%scratch_unit)) then
      do s=1, size(self%scratch_unit, dim=1)
         ! rewind scratch file
         rewind(self%scratch_unit(s))
         ! write group name
         f = 0_I4P
         read(self%scratch_unit(s), iostat=error, fmt=*) name
         error = self%write_block(action='open', name=trim(adjustl(name)))
         ! write group filenames
         parse_file_loop : do
            read(self%scratch_unit(s), iostat=error, fmt=*) filename
            if (is_iostat_end(error)) exit parse_file_loop
            error = self%xml_writer%write_parallel_block_files(file_index=f,                     &
                                                               filename=trim(adjustl(filename)), &
                                                               name=trim(adjustl(filename)))
            f = f + 1_I4P
         enddo parse_file_loop
         ! close group
         error = self%write_block(action='close')
         ! close scratch file
         close(self%scratch_unit(s))
      enddo
   endif
   endfunction parse_scratch_files