ESMF_LocStreamNE Function

private impure elemental function ESMF_LocStreamNE(locstream1, locstream2)

Arguments

Type IntentOptional Attributes Name
type(ESMF_LocStream), intent(in) :: locstream1
type(ESMF_LocStream), intent(in) :: locstream2

Return Value logical


Source Code

  impure elemental function ESMF_LocStreamNE(locstream1, locstream2)
! 
! !RETURN VALUE:
    logical :: ESMF_LocStreamNE

! !ARGUMENTS:
    type(ESMF_LocStream), intent(in) :: locstream1
    type(ESMF_LocStream), intent(in) :: locstream2

! !DESCRIPTION:
!   Test if both {\tt locstream1} and {\tt locstream2} alias the same ESMF LocStream 
!   object.
!
!EOPI
!-------------------------------------------------------------------------------

    ESMF_INIT_TYPE lsinit1, lsinit2
    integer :: localrc1, localrc2
    logical :: lval1, lval2

    ! Use the following logic, rather than "ESMF-INIT-CHECK-DEEP", to gain 
    ! init checks on both args, and in the case where both are uninitialized,
    ! to distinguish equality based on uninitialized type (uncreated,
    ! deleted).
    
    ESMF_LocStreamNE = .not.ESMF_LocStreamEQ(locstream1, locstream2)

  end function ESMF_LocStreamNE