encode_ascii_dataarray1_rank4_R16P Function

private function encode_ascii_dataarray1_rank4_R16P(x) result(code)

Arguments

TypeIntentOptionalAttributesName
real(kind=R16P), intent(in) :: x(1:,1:,1:,1:)

Return Value character(len=:),allocatable


Calls

proc~~encode_ascii_dataarray1_rank4_r16p~~CallsGraph proc~encode_ascii_dataarray1_rank4_r16p encode_ascii_dataarray1_rank4_R16P interface~str str proc~encode_ascii_dataarray1_rank4_r16p->interface~str proc~str_i8p str_I8P interface~str->proc~str_i8p proc~str_a_r8p str_a_R8P interface~str->proc~str_a_r8p proc~str_r8p str_R8P interface~str->proc~str_r8p proc~str_a_i4p str_a_I4P interface~str->proc~str_a_i4p proc~strf_i2p strf_I2P interface~str->proc~strf_i2p proc~str_r4p str_R4P interface~str->proc~str_r4p proc~str_i1p str_I1P interface~str->proc~str_i1p proc~strf_i4p strf_I4P interface~str->proc~strf_i4p proc~str_a_r4p str_a_R4P interface~str->proc~str_a_r4p proc~strf_r4p strf_R4P interface~str->proc~strf_r4p proc~str_i2p str_I2P interface~str->proc~str_i2p proc~str_a_i2p str_a_I2P interface~str->proc~str_a_i2p proc~strf_i8p strf_I8P interface~str->proc~strf_i8p proc~str_bol str_bol interface~str->proc~str_bol proc~strf_r8p strf_R8P interface~str->proc~strf_r8p proc~str_i4p str_I4P interface~str->proc~str_i4p proc~str_a_i8p str_a_I8P interface~str->proc~str_a_i8p proc~strf_i1p strf_I1P interface~str->proc~strf_i1p proc~str_a_i1p str_a_I1P interface~str->proc~str_a_i1p proc~str_a_r8p->proc~str_r8p proc~compact_real_string compact_real_string proc~str_r8p->proc~compact_real_string proc~str_a_i4p->proc~str_i4p proc~str_r4p->proc~compact_real_string proc~str_a_r4p->proc~str_r4p proc~str_a_i2p->proc~str_i2p proc~str_a_i8p->proc~str_i8p proc~str_a_i1p->proc~str_i1p

Contents


Source Code

  function encode_ascii_dataarray1_rank4_R16P(x) result(code)
  !< Encode (Base64) a dataarray with 1 components of rank 4 (R16P).
  real(R16P),      intent(in)   :: x(1:,1:,1:,1:) !< Data variable.
  character(len=:), allocatable :: code           !< Encoded base64 dataarray.
  integer(I4P)                  :: n1             !< Counter.
  integer(I4P)                  :: n2             !< Counter.
  integer(I4P)                  :: n3             !< Counter.
  integer(I4P)                  :: n4             !< Counter.
  integer(I4P)                  :: l              !< Length
  integer(I4P)                  :: sp             !< String pointer
  integer(I4P)                  :: size_n1        !< Dimension 1 size
  integer(I4P)                  :: size_n2        !< Dimension 2 size
  integer(I4P)                  :: size_n3        !< Dimension 3 size
  integer(I4P)                  :: size_n4        !< Dimension 4 size
  
  size_n1 = size(x, dim=1)
  size_n2 = size(x, dim=2)
  size_n3 = size(x, dim=3)
  size_n3 = size(x, dim=4)
  
  l = DR16P + 1
  sp = 0
  code = repeat(' ',l*size_n1*size_n2*size_n3*size_n4)
  do n4=1, size(x, dim=4)
    do n3=1, size(x, dim=3)
      do n2=1, size(x, dim=2)
        do n1=1, size(x, dim=1)
          code(sp+1:sp+l) = str(n=x(n1, n2, n3, n4))//' '
          sp = sp + l
        enddo
      enddo
    enddo
  enddo
  endfunction encode_ascii_dataarray1_rank4_R16P