Function for saving scalar variable (I8P).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=I4P), | intent(in) | :: | NC_NN | |||
character(len=*), | intent(in) | :: | varname | |||
integer(kind=I8P), | intent(in) | :: | var(1:NC_NN) |
function VTK_VAR_XML_SCAL_I8(NC_NN,varname,var) result(E_IO)
!---------------------------------------------------------------------------------------------------------------------------------
!! Function for saving scalar variable (I8P).
!---------------------------------------------------------------------------------------------------------------------------------
!---------------------------------------------------------------------------------------------------------------------------------
implicit none
integer(I4P), intent(IN):: NC_NN ! number of cells or nodes
character(*), intent(IN):: varname ! variable name
integer(I8P), intent(IN):: var(1:NC_NN) ! variable to be saved
integer(I4P):: E_IO ! Input/Output inquiring flag: $0$ if IO is done, $> 0$ if IO is not done
integer(I4P):: n1 ! counter
!---------------------------------------------------------------------------------------------------------------------------------
!---------------------------------------------------------------------------------------------------------------------------------
select case(f_out)
case(f_out_ascii)
write(unit=Unit_VTK,fmt='(A)',iostat=E_IO)repeat(' ',indent)// &
'<DataArray type="Int64" Name="'// &
trim(varname)// &
'" NumberOfComponents="1" format="ascii">'
write(unit=Unit_VTK,fmt=FI8P,iostat=E_IO)var
write(unit=Unit_VTK,fmt='(A)',iostat=E_IO)'</DataArray>'
case(f_out_binary)
write(unit=Unit_VTK,iostat=E_IO)repeat(' ',indent)// &
'<DataArray type="Int64" Name="'// &
trim(varname)// &
'" NumberOfComponents="1" format="appended" offset="', &
trim(str(.true.,ioffset)), &
'">'// &
end_rec
N_Byte = NC_NN*sizeof(Tipo_I8)
ioffset = ioffset + sizeof(Tipo_I4) + N_Byte
write(unit=Unit_VTK_Append,iostat=E_IO)N_Byte,'I8',NC_NN
write(unit=Unit_VTK_Append,iostat=E_IO)(var(n1),n1=1,NC_NN)
write(unit=Unit_VTK,iostat=E_IO)repeat(' ',indent)//'</DataArray>'//end_rec
endselect
return
!---------------------------------------------------------------------------------------------------------------------------------
endfunction VTK_VAR_XML_SCAL_I8