subroutine comp1_init_simple(gcomp, istate, ostate, clock, rc)
type(ESMF_GridComp) :: gcomp
type(ESMF_State) :: istate, ostate
type(ESMF_Clock) :: clock
integer, intent(out) :: rc
type(ESMF_ArraySpec) :: arrayspec
type(ESMF_Distgrid) :: distgrid
type(ESMF_Array) :: array
rc = ESMF_SUCCESS
call ESMF_ArraySpecSet(arrayspec, typekind=ESMF_TYPEKIND_R8, rank=2, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=FILENAME)) &
return ! bail out
distgrid = ESMF_DistGridCreate(minIndex=(/1,1/), maxIndex=(/15,23/), &
regDecomp=(/2,2/), rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=FILENAME)) &
return ! bail out
array = ESMF_ArrayCreate(arrayspec=arrayspec, &
name="Array_for_reconciling", distgrid=distgrid, &
indexflag=ESMF_INDEX_GLOBAL, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=FILENAME)) &
return ! bail out
call ESMF_StateAdd (ostate, [array], rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=FILENAME)) &
return ! bail out
end subroutine comp1_init_simple