anchor.diff:    np = 1_I4P; if (present(npiece)) np = npiece
   
     ! Read field headers
  -  E_IO = VTK_VAR_XML_HEADER_READ(var_location,varname,NC_NN,NCOMP,fmt,type,data,offs,np,rf)
  +  E_IO = VTK_VAR_XML_HEADER_READ(var_location,varname,NC_NN,NCOMP,fmt=fmt,type=type,data=data,offs=offs,npiece=np,cf=rf)
   
     if(E_IO == 0) then
       allocate(var(NC_NN*NCOMP), stat=E_IO)
  
positive.code:   !< Function for reading field of scalar variable (I4P, 1D array).
    !---------------------------------------------------------------------------------------------------------------------------------
    implicit none
    character(*),              intent(IN)  :: var_location ! location of variables: CELL for cell-centered, NODE for node-centered
    character(*),              intent(IN)  :: varname      ! variable name
    integer(I4P),              intent(OUT) :: NC_NN        ! number of cells or nodes
    integer(I4P),              intent(OUT) :: NCOMP        ! number of components
    integer(I4P), allocatable, intent(OUT) :: var(:)       ! variable to be saved
    integer(I4P), optional,    intent(IN)  :: npiece       ! Number of the piece to read (by default: 1)
    integer(I4P), optional,    intent(IN)  :: cf           !< Current file index (for concurrent files IO).
    integer(I4P)                           :: E_IO         ! Input/Output inquiring flag: $0$ if IO is done, $> 0$ if IO is not done
    integer(I4P)                           :: rf           !< Real file index.
    character(len=:), allocatable          :: s_buffer     !< Buffer string.
    character(len=:), allocatable          :: fmt
  
negative.code:   !< Function for reading field of scalar variable (R8P, 1D array).
    !---------------------------------------------------------------------------------------------------------------------------------
    implicit none
    character(*),           intent(IN)  :: var_location !< location of variables: CELL for cell-centered, NODE for node-centered
    character(*),           intent(IN)  :: varname      !< variable name
    integer(I4P),           intent(OUT) :: NC_NN        !< number of cells or nodes
    integer(I4P),           intent(OUT) :: NCOMP        !< number of components
    real(R8P), allocatable, intent(OUT) :: var(:)       !< variable to be saved
    integer(I4P), optional, intent(IN)  :: npiece       !< Number of the piece to read (by default: 1)
    integer(I4P), optional, intent(IN)  :: cf           !< Current file index (for concurrent files IO).
    integer(I4P)                        :: E_IO         !< Input/Output inquiring flag: $0$ if IO is done, $> 0$ if IO is not done
    integer(I4P)                        :: rf           !< Real file index.
    character(len=:), allocatable       :: s_buffer     !< Buffer string.
    character(len=:), allocatable       :: fmt
  