subroutine Variable_deserialize(buffer, var, rc)
integer, intent(in) :: buffer(:)
type (Variable), intent(inout) :: var
integer, optional, intent(out) :: rc
integer :: status
var = Variable()
call deserialize(var, buffer, rc=status)
_VERIFY(status)
_RETURN(_SUCCESS)
contains
subroutine deserialize(this, buffer, rc)
class (Variable), intent(inout) :: this
integer,intent(in) :: buffer(:)
integer, optional, intent(out) :: rc
integer :: n,length, v_type
integer :: status
n = 1
call deserialize_intrinsic(buffer(n:),length)
_ASSERT(length == size(buffer), "length does not match")
length = serialize_buffer_length(length)
n = n+length
call deserialize_intrinsic(buffer(n:),v_type)
length = serialize_buffer_length(v_type)
n = n+length
call deserialize_intrinsic(buffer(n:),this%type)
length = serialize_buffer_length(this%type)
n = n+length
call StringVector_deserialize(buffer(n:), this%dimensions, status)
_VERIFY(status)
call deserialize_intrinsic(buffer(n:),length)
n = n + length
call deserialize_intrinsic(buffer(n:),length)
call StringAttributeMap_deserialize(buffer(n:n+length-1),this%attributes, status)
_VERIFY(status)
n = n + length
call deserialize_intrinsic(buffer(n:),length)
call UnlimitedEntity_deserialize(buffer(n:(n+length-1)), this%const_value, status)
_VERIFY(status)
n = n + length
call deserialize_intrinsic(buffer(n:),this%deflation)
length = serialize_buffer_length(this%deflation)
n = n + length
call deserialize_intrinsic(buffer(n:),this%quantize_algorithm)
length = serialize_buffer_length(this%quantize_algorithm)
n = n + length
call deserialize_intrinsic(buffer(n:),this%quantize_level)
length = serialize_buffer_length(this%quantize_level)
n = n + length
call deserialize_intrinsic(buffer(n:),this%zstandard_level)
length = serialize_buffer_length(this%zstandard_level)
n = n + length
call deserialize_intrinsic(buffer(n:),this%chunksizes)
_RETURN(_SUCCESS)
end subroutine deserialize
end subroutine Variable_deserialize