write_header Subroutine

public subroutine write_header(unit, err)

Write the 16 byte stream header at the current position.

Call this once, before any record, on a freshly opened unit.

Arguments

Type IntentOptional Attributes Name
integer(kind=default_int), intent(in) :: unit

Stream unit opened for unformatted stream writing.

type(error_t), intent(inout) :: err

Error state, ERROR_IO if any field could not be written.


Calls

proc~~write_header~~CallsGraph proc~write_header write_header proc~check_io check_io proc~write_header->proc~check_io interface~to_char to_char proc~check_io->interface~to_char proc~error_set error_t%error_set proc~check_io->proc~error_set proc~to_char_char to_char_char interface~to_char->proc~to_char_char proc~to_char_dp to_char_dp interface~to_char->proc~to_char_dp proc~to_char_int32 to_char_int32 interface~to_char->proc~to_char_int32 proc~to_char_int64 to_char_int64 interface~to_char->proc~to_char_int64 proc~to_char_logical to_char_logical interface~to_char->proc~to_char_logical proc~to_char_matrix_dp to_char_matrix_dp interface~to_char->proc~to_char_matrix_dp proc~to_char_matrix_int32 to_char_matrix_int32 interface~to_char->proc~to_char_matrix_int32 proc~to_char_matrix_int64 to_char_matrix_int64 interface~to_char->proc~to_char_matrix_int64 proc~to_char_matrix_sp to_char_matrix_sp interface~to_char->proc~to_char_matrix_sp proc~to_char_sp to_char_sp interface~to_char->proc~to_char_sp proc~to_char_vector_dp to_char_vector_dp interface~to_char->proc~to_char_vector_dp proc~to_char_vector_int32 to_char_vector_int32 interface~to_char->proc~to_char_vector_int32 proc~to_char_vector_int64 to_char_vector_int64 interface~to_char->proc~to_char_vector_int64 proc~to_char_vector_sp to_char_vector_sp interface~to_char->proc~to_char_vector_sp

Called by

proc~~write_header~~CalledByGraph proc~write_header write_header proc~soa_write_prologue soa_write_prologue proc~soa_write_prologue->proc~write_header proc~particle_soa_serialize particle_soa_t%particle_soa_serialize proc~particle_soa_serialize->proc~soa_write_prologue

Variables

Type Visibility Attributes Name Initial
integer(kind=default_int), private :: ios

Source Code

   subroutine write_header(unit, err)
      !! Write the 16 byte stream header at the current position.
      !!
      !! Call this once, before any record, on a freshly opened unit.
      integer(default_int), intent(in) :: unit
         !! Stream unit opened for unformatted stream writing.
      type(error_t), intent(inout) :: err
         !! Error state, `ERROR_IO` if any field could not be written.

      integer(default_int) :: ios

      write (unit, iostat=ios) PIC_MAGIC
      if (ios == 0) write (unit, iostat=ios) PIC_ENDIAN_MARK
      if (ios == 0) write (unit, iostat=ios) PIC_FORMAT_VERSION
      if (ios == 0) write (unit, iostat=ios) RESERVED_WORD
      call check_io(ios, "failed to write stream header", err)
   end subroutine write_header