write_dataarray1_rank4_I4P Function

private function write_dataarray1_rank4_I4P(self, data_name, x, one_component, is_tuples) result(error)

Type Bound

xml_writer_ascii_local

Arguments

Type IntentOptional Attributes Name
class(xml_writer_ascii_local), intent(inout) :: self
character(len=*), intent(in) :: data_name
integer(kind=I4P), intent(in) :: x(1:,1:,1:,1:)
logical, intent(in), optional :: one_component
logical, intent(in), optional :: is_tuples

Return Value integer(kind=I4P)


Calls

proc~~write_dataarray1_rank4_i4p~3~~CallsGraph proc~write_dataarray1_rank4_i4p~3 xml_writer_ascii_local%write_dataarray1_rank4_I4P interface~encode_ascii_dataarray encode_ascii_dataarray proc~write_dataarray1_rank4_i4p~3->interface~encode_ascii_dataarray proc~write_dataarray_tag xml_writer_abstract%write_dataarray_tag proc~write_dataarray1_rank4_i4p~3->proc~write_dataarray_tag proc~encode_ascii_dataarray1_rank1_i1p encode_ascii_dataarray1_rank1_I1P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank1_i1p proc~encode_ascii_dataarray1_rank1_i2p encode_ascii_dataarray1_rank1_I2P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank1_i2p proc~encode_ascii_dataarray1_rank1_i4p encode_ascii_dataarray1_rank1_I4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank1_i4p proc~encode_ascii_dataarray1_rank1_i8p encode_ascii_dataarray1_rank1_I8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank1_i8p proc~encode_ascii_dataarray1_rank1_r4p encode_ascii_dataarray1_rank1_R4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank1_r4p proc~encode_ascii_dataarray1_rank1_r8p encode_ascii_dataarray1_rank1_R8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank1_r8p proc~encode_ascii_dataarray1_rank2_i1p encode_ascii_dataarray1_rank2_I1P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank2_i1p proc~encode_ascii_dataarray1_rank2_i2p encode_ascii_dataarray1_rank2_I2P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank2_i2p proc~encode_ascii_dataarray1_rank2_i4p encode_ascii_dataarray1_rank2_I4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank2_i4p proc~encode_ascii_dataarray1_rank2_i8p encode_ascii_dataarray1_rank2_I8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank2_i8p proc~encode_ascii_dataarray1_rank2_r4p encode_ascii_dataarray1_rank2_R4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank2_r4p proc~encode_ascii_dataarray1_rank2_r8p encode_ascii_dataarray1_rank2_R8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank2_r8p proc~encode_ascii_dataarray1_rank3_i1p encode_ascii_dataarray1_rank3_I1P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank3_i1p proc~encode_ascii_dataarray1_rank3_i2p encode_ascii_dataarray1_rank3_I2P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank3_i2p proc~encode_ascii_dataarray1_rank3_i4p encode_ascii_dataarray1_rank3_I4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank3_i4p proc~encode_ascii_dataarray1_rank3_i8p encode_ascii_dataarray1_rank3_I8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank3_i8p proc~encode_ascii_dataarray1_rank3_r4p encode_ascii_dataarray1_rank3_R4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank3_r4p proc~encode_ascii_dataarray1_rank3_r8p encode_ascii_dataarray1_rank3_R8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank3_r8p proc~encode_ascii_dataarray1_rank4_i1p encode_ascii_dataarray1_rank4_I1P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank4_i1p proc~encode_ascii_dataarray1_rank4_i2p encode_ascii_dataarray1_rank4_I2P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank4_i2p proc~encode_ascii_dataarray1_rank4_i4p encode_ascii_dataarray1_rank4_I4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank4_i4p proc~encode_ascii_dataarray1_rank4_i8p encode_ascii_dataarray1_rank4_I8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank4_i8p proc~encode_ascii_dataarray1_rank4_r4p encode_ascii_dataarray1_rank4_R4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank4_r4p proc~encode_ascii_dataarray1_rank4_r8p encode_ascii_dataarray1_rank4_R8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray1_rank4_r8p proc~encode_ascii_dataarray3_rank1_i1p encode_ascii_dataarray3_rank1_I1P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank1_i1p proc~encode_ascii_dataarray3_rank1_i2p encode_ascii_dataarray3_rank1_I2P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank1_i2p proc~encode_ascii_dataarray3_rank1_i4p encode_ascii_dataarray3_rank1_I4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank1_i4p proc~encode_ascii_dataarray3_rank1_i8p encode_ascii_dataarray3_rank1_I8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank1_i8p proc~encode_ascii_dataarray3_rank1_r4p encode_ascii_dataarray3_rank1_R4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank1_r4p proc~encode_ascii_dataarray3_rank1_r8p encode_ascii_dataarray3_rank1_R8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank1_r8p proc~encode_ascii_dataarray3_rank3_i1p encode_ascii_dataarray3_rank3_I1P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank3_i1p proc~encode_ascii_dataarray3_rank3_i2p encode_ascii_dataarray3_rank3_I2P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank3_i2p proc~encode_ascii_dataarray3_rank3_i4p encode_ascii_dataarray3_rank3_I4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank3_i4p proc~encode_ascii_dataarray3_rank3_i8p encode_ascii_dataarray3_rank3_I8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank3_i8p proc~encode_ascii_dataarray3_rank3_r4p encode_ascii_dataarray3_rank3_R4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank3_r4p proc~encode_ascii_dataarray3_rank3_r8p encode_ascii_dataarray3_rank3_R8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray3_rank3_r8p proc~encode_ascii_dataarray6_rank1_i1p encode_ascii_dataarray6_rank1_I1P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank1_i1p proc~encode_ascii_dataarray6_rank1_i2p encode_ascii_dataarray6_rank1_I2P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank1_i2p proc~encode_ascii_dataarray6_rank1_i4p encode_ascii_dataarray6_rank1_I4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank1_i4p proc~encode_ascii_dataarray6_rank1_i8p encode_ascii_dataarray6_rank1_I8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank1_i8p proc~encode_ascii_dataarray6_rank1_r4p encode_ascii_dataarray6_rank1_R4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank1_r4p proc~encode_ascii_dataarray6_rank1_r8p encode_ascii_dataarray6_rank1_R8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank1_r8p proc~encode_ascii_dataarray6_rank3_i1p encode_ascii_dataarray6_rank3_I1P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank3_i1p proc~encode_ascii_dataarray6_rank3_i2p encode_ascii_dataarray6_rank3_I2P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank3_i2p proc~encode_ascii_dataarray6_rank3_i4p encode_ascii_dataarray6_rank3_I4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank3_i4p proc~encode_ascii_dataarray6_rank3_i8p encode_ascii_dataarray6_rank3_I8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank3_i8p proc~encode_ascii_dataarray6_rank3_r4p encode_ascii_dataarray6_rank3_R4P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank3_r4p proc~encode_ascii_dataarray6_rank3_r8p encode_ascii_dataarray6_rank3_R8P interface~encode_ascii_dataarray->proc~encode_ascii_dataarray6_rank3_r8p interface~str str proc~write_dataarray_tag->interface~str proc~chars string%chars proc~write_dataarray_tag->proc~chars proc~write_tag~2 xml_writer_abstract%write_tag proc~write_dataarray_tag->proc~write_tag~2 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~encode_ascii_dataarray1_rank1_i1p->interface~str proc~encode_ascii_dataarray1_rank1_i2p->interface~str proc~encode_ascii_dataarray1_rank1_i4p->interface~str proc~encode_ascii_dataarray1_rank1_i8p->interface~str proc~encode_ascii_dataarray1_rank1_r4p->interface~str proc~encode_ascii_dataarray1_rank1_r8p->interface~str proc~encode_ascii_dataarray1_rank2_i1p->interface~str proc~encode_ascii_dataarray1_rank2_i2p->interface~str proc~encode_ascii_dataarray1_rank2_i4p->interface~str proc~encode_ascii_dataarray1_rank2_i8p->interface~str proc~encode_ascii_dataarray1_rank2_r4p->interface~str proc~encode_ascii_dataarray1_rank2_r8p->interface~str proc~encode_ascii_dataarray1_rank3_i1p->interface~str proc~encode_ascii_dataarray1_rank3_i2p->interface~str proc~encode_ascii_dataarray1_rank3_i4p->interface~str proc~encode_ascii_dataarray1_rank3_i8p->interface~str proc~encode_ascii_dataarray1_rank3_r4p->interface~str proc~encode_ascii_dataarray1_rank3_r8p->interface~str proc~encode_ascii_dataarray1_rank4_i1p->interface~str proc~encode_ascii_dataarray1_rank4_i2p->interface~str proc~encode_ascii_dataarray1_rank4_i4p->interface~str proc~encode_ascii_dataarray1_rank4_i8p->interface~str proc~encode_ascii_dataarray1_rank4_r4p->interface~str proc~encode_ascii_dataarray1_rank4_r8p->interface~str proc~encode_ascii_dataarray3_rank1_i1p->interface~str proc~encode_ascii_dataarray3_rank1_i2p->interface~str proc~encode_ascii_dataarray3_rank1_i4p->interface~str proc~encode_ascii_dataarray3_rank1_i8p->interface~str proc~encode_ascii_dataarray3_rank1_r4p->interface~str proc~encode_ascii_dataarray3_rank1_r8p->interface~str proc~encode_ascii_dataarray3_rank3_i1p->interface~str proc~encode_ascii_dataarray3_rank3_i2p->interface~str proc~encode_ascii_dataarray3_rank3_i4p->interface~str proc~encode_ascii_dataarray3_rank3_i8p->interface~str proc~encode_ascii_dataarray3_rank3_r4p->interface~str proc~encode_ascii_dataarray3_rank3_r8p->interface~str proc~encode_ascii_dataarray6_rank1_i1p->interface~str proc~encode_ascii_dataarray6_rank1_i2p->interface~str proc~encode_ascii_dataarray6_rank1_i4p->interface~str proc~encode_ascii_dataarray6_rank1_i8p->interface~str proc~encode_ascii_dataarray6_rank1_r4p->interface~str proc~encode_ascii_dataarray6_rank1_r8p->interface~str proc~encode_ascii_dataarray6_rank3_i1p->interface~str proc~encode_ascii_dataarray6_rank3_i2p->interface~str proc~encode_ascii_dataarray6_rank3_i4p->interface~str proc~encode_ascii_dataarray6_rank3_i8p->interface~str proc~encode_ascii_dataarray6_rank3_r4p->interface~str proc~encode_ascii_dataarray6_rank3_r8p->interface~str proc~stringify xml_tag%stringify proc~write_tag~2->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->proc~chars 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~attributes xml_tag%attributes proc~self_closing_tag->proc~attributes proc~start_tag->proc~attributes

Source Code

  function write_dataarray1_rank4_I4P(self, data_name, x, one_component, is_tuples) result(error)
  !< Write `<DataArray... NumberOfComponents="n"...>...</DataArray>` tag (I4P).
  class(xml_writer_ascii_local), intent(inout)        :: self           !< Writer.
  character(*),                  intent(in)           :: data_name      !< Data name.
  integer(I4P),                  intent(in)           :: x(1:,1:,1:,1:) !< Data variable.
  logical,                       intent(in), optional :: one_component  !< Force one component.
  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 = 'Int32'
  n_components = size(x, dim=1)
  if (present(one_component)) then
    if (one_component) n_components = 1
  endif
  code = encode_ascii_dataarray(x=x)
  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_dataarray1_rank4_I4P