UserComponent.F90 Source File


This file depends on

sourcefile~~usercomponent.f90~~EfferentGraph sourcefile~usercomponent.f90 UserComponent.F90 sourcefile~errorhandling.f90 ErrorHandling.F90 sourcefile~usercomponent.f90->sourcefile~errorhandling.f90 sourcefile~keywordenforcer.f90 KeywordEnforcer.F90 sourcefile~usercomponent.f90->sourcefile~keywordenforcer.f90 sourcefile~maplcomponent.f90 MaplComponent.F90 sourcefile~usercomponent.f90->sourcefile~maplcomponent.f90 sourcefile~mapl_throw.f90 MAPL_Throw.F90 sourcefile~errorhandling.f90->sourcefile~mapl_throw.f90 sourcefile~maplcomponent.f90->sourcefile~errorhandling.f90 sourcefile~maplcomponent.f90->sourcefile~keywordenforcer.f90 sourcefile~basecomponent.f90 BaseComponent.F90 sourcefile~maplcomponent.f90->sourcefile~basecomponent.f90 sourcefile~pflogger_stub.f90 pflogger_stub.F90 sourcefile~maplcomponent.f90->sourcefile~pflogger_stub.f90 sourcefile~surrogateframeworkcomponent.f90 SurrogateFrameworkComponent.F90 sourcefile~maplcomponent.f90->sourcefile~surrogateframeworkcomponent.f90 sourcefile~basecomponent.f90->sourcefile~pflogger_stub.f90 sourcefile~abstractcomponent.f90 AbstractComponent.F90 sourcefile~basecomponent.f90->sourcefile~abstractcomponent.f90 sourcefile~pfl_keywordenforcer.f90 PFL_KeywordEnforcer.F90 sourcefile~pflogger_stub.f90->sourcefile~pfl_keywordenforcer.f90 sourcefile~wraparray.f90 WrapArray.F90 sourcefile~pflogger_stub.f90->sourcefile~wraparray.f90

Files dependent on this one

sourcefile~~usercomponent.f90~~AfferentGraph sourcefile~usercomponent.f90 UserComponent.F90 sourcefile~driver.f90~2 driver.F90 sourcefile~driver.f90~2->sourcefile~usercomponent.f90

Source Code

#include "MAPL_Exceptions.h"
#include "MAPL_ErrLog.h"

module UserComponent_mod
   use ESMF
   use mapl_keywordenforcermod
   use mapl_MaplComponent
   use mapl_ErrorHandlingMod
   implicit none
   private

   public :: UserComponent

   type, extends(MaplComponent) :: UserComponent
   contains
      procedure :: initialize => stub
      procedure :: run => stub
      procedure :: finalize => stub
   end type UserComponent

contains

   subroutine stub(this, import_state, export_state, clock, phase, unusable, rc)
      class(UserComponent), intent(inout) :: this
      type(ESMF_State), intent(inout) :: import_state
      type(ESMF_State), intent(inout) :: export_state
      type(ESMF_Clock), intent(inout) :: clock
      character(*), intent(in) :: phase
      class(KeywordEnforcer), optional, intent(in) :: unusable
      integer, optional, intent(out) :: rc

      _UNUSED_DUMMY(import_state)
      _UNUSED_DUMMY(export_state)
      _UNUSED_DUMMY(clock)
      _UNUSED_DUMMY(phase)
      _UNUSED_DUMMY(unusable)
      
      print*,this%get_name(), ' says "Hi there."'
      _RETURN(_SUCCESS)
   end subroutine stub
   

   
end module UserComponent_mod