ESMF_XGridNE Function

private impure elemental function ESMF_XGridNE(xgrid1, xgrid2)

Arguments

Type IntentOptional Attributes Name
type(ESMF_XGrid), intent(in) :: xgrid1
type(ESMF_XGrid), intent(in) :: xgrid2

Return Value logical


Calls

proc~~esmf_xgridne~~CallsGraph proc~esmf_xgridne ESMF_XGridNE proc~esmf_xgrideq ESMF_XGridEQ proc~esmf_xgridne->proc~esmf_xgrideq proc~esmf_xgridgetinit ESMF_XGridGetInit proc~esmf_xgrideq->proc~esmf_xgridgetinit

Called by

proc~~esmf_xgridne~~CalledByGraph proc~esmf_xgridne ESMF_XGridNE interface~operator(SLASH=)~22 operator(/=) interface~operator(SLASH=)~22->proc~esmf_xgridne

Source Code

  impure elemental function ESMF_XGridNE(xgrid1, xgrid2)
! 
! !RETURN VALUE:
    logical :: ESMF_XGridNE

! !ARGUMENTS:
    type(ESMF_XGrid), intent(in) :: xgrid1
    type(ESMF_XGrid), intent(in) :: xgrid2

! !DESCRIPTION:
!   Test if both {\tt xgrid1} and {\tt xgrid2} alias the same ESMF XGrid 
!   object.
!
!EOPI
!-------------------------------------------------------------------------------

    ESMF_INIT_TYPE xginit1, xginit2
    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_XGridNE = .not.ESMF_XGridEQ(xgrid1, xgrid2)

  end function ESMF_XGridNE