logical function gtvarequivalent(var1, var2) result(result)
    use gtdata_types, only: gt_variable
    use gt_map, only: var_class
    type(gt_variable), intent(in):: var1, var2
    integer:: class1, class2, cid1, cid2
    call var_class(var1, class1, cid1)
    call var_class(var2, class2, cid2)
    result = (class1 == class2) .and. (cid1 == cid2)
end function
