write_dataarray3_rank1_R8P Function

private function write_dataarray3_rank1_R8P(self, data_name, x, y, z, is_tuples) result(error)

Arguments

TypeIntentOptionalAttributesName
class(xml_writer_appended), intent(inout) :: self
character, intent(in) :: data_name
real(kind=R8P), intent(in) :: x(1:)
real(kind=R8P), intent(in) :: y(1:)
real(kind=R8P), intent(in) :: z(1:)
logical, intent(in), optional :: is_tuples

Return Value integer(kind=I4P)


Contents


Source Code

  function write_dataarray3_rank1_R8P(self, data_name, x, y, z, is_tuples) result(error)
  !< Write `<DataArray... NumberOfComponents="3"...>...</DataArray>` tag (R8P).
  class(xml_writer_appended), intent(inout)        :: self         !< Writer.
  character(*),               intent(in)           :: data_name    !< Data name.
  real(R8P),                  intent(in)           :: x(1:)        !< X component of data variable.
  real(R8P),                  intent(in)           :: y(1:)        !< Y component of data variable.
  real(R8P),                  intent(in)           :: z(1:)        !< Z component of data variable.
  logical,                    intent(in), optional :: is_tuples    !< Use "NumberOfTuples" instead "NumberOfComponents" attribute.
  integer(I4P)                                     :: error        !< Error status.
  character(len=:), allocatable                    :: data_type    !< Data type.
  integer(I4P)                                     :: n_components !< Number of components.

  data_type = 'Float64'
  n_components = 3
  call self%write_dataarray_tag_appended(data_type=data_type, number_of_components=n_components, data_name=data_name, &
                                         is_tuples=is_tuples)
  call self%ioffset_update(n_byte=self%write_on_scratch_dataarray(x=x, y=y, z=z))
  error = self%error
  endfunction write_dataarray3_rank1_R8P