function write_dataarray6_rank3_I2P(self, data_name, u, v, w, x, y, z, is_tuples) result(error)
!< Write `<DataArray... NumberOfComponents="6"...>...</DataArray>` tag (I2P).
class(xml_writer_ascii_local), intent(inout) :: self !< Writer.
character(*), intent(in) :: data_name !< Data name.
integer(I2P), intent(in) :: u(1:,1:,1:) !< U component of data variable.
integer(I2P), intent(in) :: v(1:,1:,1:) !< V component of data variable.
integer(I2P), intent(in) :: w(1:,1:,1:) !< W component of data variable.
integer(I2P), intent(in) :: x(1:,1:,1:) !< X component of data variable.
integer(I2P), intent(in) :: y(1:,1:,1:) !< Y component of data variable.
integer(I2P), intent(in) :: z(1:,1:,1:) !< Z component of data variable.
logical, intent(in), optional :: is_tuples !< Use "NumberOfTuples" instead of "NumberOfComponents".
integer(I4P) :: error !< Error status.
character(len=:), allocatable :: data_type !< Data type.
integer(I4P) :: n_components !< Number of components.
character(len=:), allocatable :: code !< Data variable encoded, ascii or Base64 codec.
data_type = 'Int16'
n_components = 6
code = encode_ascii_dataarray(u=u, v=v, w=w, x=x, y=y, z=z)
call self%write_dataarray_tag(data_type=data_type, number_of_components=n_components, data_name=data_name, data_content=code, &
is_tuples=is_tuples)
error = self%error
endfunction write_dataarray6_rank3_I2P