Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ESMF_Field) | :: | srcField | ||||
type(ESMF_Field) | :: | dstField | ||||
character(len=*) | :: | filename | ||||
type(ESMF_RouteHandle) | :: | routehandle | ||||
type(ESMF_Logical), | optional | :: | ignoreUnmatchedIndices | |||
integer, | optional | :: | srcTermProcessing | |||
integer, | optional | :: | pipeLineDepth | |||
integer, | optional | :: | rc |
subroutine f_esmf_smmstore(srcField, dstField, & filename, routehandle, & ignoreUnmatchedIndices, & srcTermProcessing, & pipeLineDepth, & rc) use ESMF_UtilTypesMod use ESMF_BaseMod use ESMF_LogErrMod use ESMF_RHandleMod use ESMF_FieldSMMMod use ESMF_FieldMod use ESMF_FieldGetMod implicit none type(ESMF_Field) :: srcField type(ESMF_Field) :: dstField character(len=*) :: filename type(ESMF_RouteHandle) :: routehandle type(ESMF_Logical), optional :: ignoreUnmatchedIndices integer, optional :: srcTermProcessing integer, optional :: pipeLineDepth integer, optional :: rc integer :: localrc type(ESMF_RouteHandle) :: l_routehandle logical :: l_ignoreUnmatchedIndices ! initialize return code; assume routine not implemented rc = ESMF_RC_NOT_IMPL localrc = ESMF_RC_NOT_IMPL if (present(ignoreUnmatchedIndices)) then l_ignoreUnmatchedIndices = ignoreUnmatchedIndices else l_ignoreUnmatchedIndices = .false. end if call ESMF_FieldSMMStore(srcField, dstField, & filename, l_routehandle, & ignoreUnmatchedIndices=l_ignoreUnmatchedIndices, & srcTermProcessing=srcTermProcessing, & pipeLineDepth=pipeLineDepth, & rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return ! because ESMF_RouteHandle.this is private, it cannot be accessed directly ! we use the public interface to do the ptr copy; ! the RouteHandle object returned to the C interface must consist only of ! the 'this' pointer. It must not contain the isInit member. call ESMF_RoutehandleCopyThis(l_routehandle, routehandle, localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return rc = ESMF_SUCCESS end subroutine f_esmf_smmstore