f_esmf_compgetbase Subroutine

recursive subroutine f_esmf_compgetbase(comp, base, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_CWrap) :: comp
type(ESMF_Base) :: base
integer :: rc

Source Code

recursive subroutine f_esmf_compgetbase(comp, base, rc)
  use ESMF_UtilTypesMod      ! ESMF utility types
  use ESMF_BaseMod           ! ESMF base class
  use ESMF_CompMod
  use ESMF_InitMacrosMod
  
  implicit none

  type(ESMF_CWrap)      :: comp
  type(ESMF_Base)       :: base
  integer               :: rc
  
  ! Initialize return code; assume routine not implemented
  rc = ESMF_RC_NOT_IMPL

! Only copying this pointer, not copying initializers on purpose
! in case the passed in base pointer comes from C side and only
! has space for a single address.
  base%this = comp%compp%base%this
  
  ! return successfully
  rc = ESMF_SUCCESS

end subroutine f_esmf_compgetbase