f_esmf_compgetbase Subroutine

recursive subroutine f_esmf_compgetbase(comp, base, rc)

Uses

  • proc~~f_esmf_compgetbase~~UsesGraph proc~f_esmf_compgetbase f_esmf_compgetbase module~esmf_basemod ESMF_BaseMod proc~f_esmf_compgetbase->module~esmf_basemod module~esmf_compmod ESMF_CompMod proc~f_esmf_compgetbase->module~esmf_compmod module~esmf_initmacrosmod ESMF_InitMacrosMod proc~f_esmf_compgetbase->module~esmf_initmacrosmod module~esmf_utiltypesmod ESMF_UtilTypesMod proc~f_esmf_compgetbase->module~esmf_utiltypesmod module~esmf_basemod->module~esmf_initmacrosmod module~esmf_basemod->module~esmf_utiltypesmod iso_c_binding iso_c_binding module~esmf_basemod->iso_c_binding module~esmf_ioutilmod ESMF_IOUtilMod module~esmf_basemod->module~esmf_ioutilmod module~esmf_logerrmod ESMF_LogErrMod module~esmf_basemod->module~esmf_logerrmod module~esmf_vmmod ESMF_VMMod module~esmf_basemod->module~esmf_vmmod module~esmf_compmod->module~esmf_basemod module~esmf_compmod->module~esmf_initmacrosmod module~esmf_compmod->module~esmf_utiltypesmod module~esmf_calendarmod ESMF_CalendarMod module~esmf_compmod->module~esmf_calendarmod module~esmf_clockmod ESMF_ClockMod module~esmf_compmod->module~esmf_clockmod module~esmf_configmod ESMF_ConfigMod module~esmf_compmod->module~esmf_configmod module~esmf_gridmod ESMF_GridMod module~esmf_compmod->module~esmf_gridmod module~esmf_hconfigmod ESMF_HConfigMod module~esmf_compmod->module~esmf_hconfigmod module~esmf_compmod->module~esmf_ioutilmod module~esmf_locstreammod ESMF_LocStreamMod module~esmf_compmod->module~esmf_locstreammod module~esmf_compmod->module~esmf_logerrmod module~esmf_meshmod ESMF_MeshMod module~esmf_compmod->module~esmf_meshmod module~esmf_statemod ESMF_StateMod module~esmf_compmod->module~esmf_statemod module~esmf_statetypesmod ESMF_StateTypesMod module~esmf_compmod->module~esmf_statetypesmod module~esmf_utilmod ESMF_UtilMod module~esmf_compmod->module~esmf_utilmod module~esmf_compmod->module~esmf_vmmod module~esmf_xgridmod ESMF_XGridMod module~esmf_compmod->module~esmf_xgridmod module~esmf_initmacrosmod->module~esmf_utiltypesmod module~esmf_initmacrosmod->module~esmf_logerrmod module~esmf_utiltypesmod->iso_c_binding

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