setup Subroutine

public subroutine setup(outer_gc, config, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: outer_gc
type(ESMF_HConfig), intent(in) :: config
integer, intent(out) :: rc

Calls

proc~~setup~7~~CallsGraph proc~setup~7 setup ESMF_ClockCreate ESMF_ClockCreate proc~setup~7->ESMF_ClockCreate ESMF_TimeIntervalSet ESMF_TimeIntervalSet proc~setup~7->ESMF_TimeIntervalSet ESMF_TimeSet ESMF_TimeSet proc~setup~7->ESMF_TimeSet assert_that assert_that proc~setup~7->assert_that esmf_gridcompsetservices esmf_gridcompsetservices proc~setup~7->esmf_gridcompsetservices interface~create_grid_comp create_grid_comp proc~setup~7->interface~create_grid_comp interface~user_setservices user_setservices proc~setup~7->interface~user_setservices proc~clear_log clear_log proc~setup~7->proc~clear_log

Called by

proc~~setup~7~~CalledByGraph proc~setup~7 setup proc~test_full_run_sequence test_full_run_sequence proc~test_full_run_sequence->proc~setup~7 proc~test_wasfinal test_wasfinal proc~test_wasfinal->proc~setup~7 proc~test_wasinit test_wasinit proc~test_wasinit->proc~setup~7 proc~test_wasrun_1 test_wasrun_1 proc~test_wasrun_1->proc~setup~7 proc~test_wasrun_extra test_wasrun_extra proc~test_wasrun_extra->proc~setup~7

Source Code

   subroutine setup(outer_gc, config, rc)
      type(ESMF_GridComp), intent(inout) :: outer_gc
      type(ESMF_HConfig), intent(in) :: config
      integer, intent(out) :: rc
      
      integer :: status, userRC
      type(ESMF_Time) :: t
      type(ESMF_TimeInterval) :: dt
      type(ESMF_Clock) :: clock

      call ESMF_TimeSet(t, h=0)
      call ESMF_TimeIntervalSet(dt, h=1)
      clock = ESMF_ClockCreate(dt, t)
      outer_gc = create_grid_comp('A', user_setservices('libsimple_leaf_gridcomp'), config, clock, rc=status)
      @assert_that(status, is(0))

      call ESMF_GridCompSetServices(outer_gc, setServices, userRC=userRC, rc=status)
      if (status /= 0) then
         rc = status
         return
      end if
      if (userRC /= 0) then
         rc = userRC
         return
      end if
      call clear_log()
      rc = 0

   end subroutine setup