Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MpiTestMethod), | intent(inout) | :: | this | |||
integer, | intent(out) | :: | rc |
subroutine setup(this, rc) class(MpiTestMethod), intent(inout) :: this integer, intent(out) :: rc type(ESMF_HConfig) :: config type(GriddedComponentDriver) :: user_comp integer :: status 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) config = ESMF_HConfigCreate(content='{}', rc=status) @assert_that(status, is(0)) associate (ss_parent => user_setservices('libsimple_parent_gridcomp')) parent_gc = create_grid_comp('parent', ss_parent, config, clock, rc=status) end associate @assert_that(status, is(0)) parent_meta => get_outer_meta(parent_gc, rc=status) @assert_that(status, is(0)) associate (ss_leaf => user_setservices('libsimple_leaf_gridcomp')) call parent_meta%add_child('child_1', ss_leaf, config, rc=status) @assert_that(status, is(0)) call parent_meta%add_child('child_2', ss_leaf, config, rc=status) @assert_that(status, is(0)) end associate call ESMF_GridCompSetServices(parent_gc, setServices, rc=status) @assert_that(status, is(0)) user_comp = parent_meta%get_user_gc_driver() user_gc = user_comp%get_gridcomp() call ESMF_HConfigDestroy(config, rc=status) @assert_that(status, is(0)) call clear_log() rc = ESMF_SUCCESS end subroutine setup