f_esmf_smmstore Subroutine

subroutine f_esmf_smmstore(srcField, dstField, filename, routehandle, ignoreUnmatchedIndices, srcTermProcessing, pipeLineDepth, rc)

Uses

  • proc~~f_esmf_smmstore~~UsesGraph proc~f_esmf_smmstore f_esmf_smmstore ESMF_FieldGetMod ESMF_FieldGetMod proc~f_esmf_smmstore->ESMF_FieldGetMod module~esmf_basemod ESMF_BaseMod proc~f_esmf_smmstore->module~esmf_basemod module~esmf_fieldmod ESMF_FieldMod proc~f_esmf_smmstore->module~esmf_fieldmod module~esmf_fieldsmmmod ESMF_FieldSMMMod proc~f_esmf_smmstore->module~esmf_fieldsmmmod module~esmf_logerrmod ESMF_LogErrMod proc~f_esmf_smmstore->module~esmf_logerrmod module~esmf_rhandlemod ESMF_RHandleMod proc~f_esmf_smmstore->module~esmf_rhandlemod module~esmf_utiltypesmod ESMF_UtilTypesMod proc~f_esmf_smmstore->module~esmf_utiltypesmod module~esmf_basemod->module~esmf_logerrmod module~esmf_basemod->module~esmf_utiltypesmod iso_c_binding iso_c_binding module~esmf_basemod->iso_c_binding module~esmf_initmacrosmod ESMF_InitMacrosMod module~esmf_basemod->module~esmf_initmacrosmod module~esmf_ioutilmod ESMF_IOUtilMod module~esmf_basemod->module~esmf_ioutilmod module~esmf_vmmod ESMF_VMMod module~esmf_basemod->module~esmf_vmmod module~esmf_fieldmod->module~esmf_basemod module~esmf_fieldmod->module~esmf_logerrmod module~esmf_fieldmod->module~esmf_utiltypesmod ESMF_ArrayCreateMod ESMF_ArrayCreateMod module~esmf_fieldmod->ESMF_ArrayCreateMod ESMF_ArrayGetMod ESMF_ArrayGetMod module~esmf_fieldmod->ESMF_ArrayGetMod module~esmf_arraymod ESMF_ArrayMod module~esmf_fieldmod->module~esmf_arraymod module~esmf_arrayspecmod ESMF_ArraySpecMod module~esmf_fieldmod->module~esmf_arrayspecmod module~esmf_delayoutmod ESMF_DELayoutMod module~esmf_fieldmod->module~esmf_delayoutmod module~esmf_distgridmod ESMF_DistGridMod module~esmf_fieldmod->module~esmf_distgridmod module~esmf_geommod ESMF_GeomMod module~esmf_fieldmod->module~esmf_geommod module~esmf_gridmod ESMF_GridMod module~esmf_fieldmod->module~esmf_gridmod module~esmf_infomod ESMF_InfoMod module~esmf_fieldmod->module~esmf_infomod module~esmf_fieldmod->module~esmf_initmacrosmod module~esmf_localarraymod ESMF_LocalArrayMod module~esmf_fieldmod->module~esmf_localarraymod module~esmf_locstreammod ESMF_LocStreamMod module~esmf_fieldmod->module~esmf_locstreammod module~esmf_meshmod ESMF_MeshMod module~esmf_fieldmod->module~esmf_meshmod module~esmf_staggerlocmod ESMF_StaggerLocMod module~esmf_fieldmod->module~esmf_staggerlocmod module~esmf_timemod ESMF_TimeMod module~esmf_fieldmod->module~esmf_timemod module~esmf_utilmod ESMF_UtilMod module~esmf_fieldmod->module~esmf_utilmod module~esmf_xgridcreatemod ESMF_XGridCreateMod module~esmf_fieldmod->module~esmf_xgridcreatemod module~esmf_xgridmod ESMF_XGridMod module~esmf_fieldmod->module~esmf_xgridmod module~esmf_fieldsmmmod->ESMF_FieldGetMod module~esmf_fieldsmmmod->module~esmf_fieldmod module~esmf_fieldsmmmod->module~esmf_logerrmod module~esmf_fieldsmmmod->module~esmf_rhandlemod module~esmf_fieldsmmmod->module~esmf_utiltypesmod module~esmf_fieldsmmmod->module~esmf_arraymod module~esmf_factorreadmod ESMF_FactorReadMod module~esmf_fieldsmmmod->module~esmf_factorreadmod module~esmf_fieldsmmmod->module~esmf_initmacrosmod module~esmf_fieldsmmmod->module~esmf_vmmod module~esmf_logerrmod->module~esmf_utiltypesmod module~esmf_logerrmod->module~esmf_ioutilmod module~esmf_utilstringmod ESMF_UtilStringMod module~esmf_logerrmod->module~esmf_utilstringmod module~esmf_rhandlemod->module~esmf_basemod module~esmf_rhandlemod->module~esmf_logerrmod module~esmf_rhandlemod->module~esmf_utiltypesmod module~esmf_rhandlemod->iso_c_binding module~esmf_f90interfacemod ESMF_F90InterfaceMod module~esmf_rhandlemod->module~esmf_f90interfacemod module~esmf_rhandlemod->module~esmf_initmacrosmod module~esmf_rhandlemod->module~esmf_ioutilmod module~esmf_rhandlemod->module~esmf_vmmod module~esmf_utiltypesmod->iso_c_binding

Arguments

Type IntentOptional 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

Calls

proc~~f_esmf_smmstore~~CallsGraph proc~f_esmf_smmstore f_esmf_smmstore interface~esmf_fieldsmmstore ESMF_FieldSMMStore proc~f_esmf_smmstore->interface~esmf_fieldsmmstore proc~esmf_logfounderror ESMF_LogFoundError proc~f_esmf_smmstore->proc~esmf_logfounderror proc~esmf_routehandlecopythis ESMF_RouteHandleCopyThis proc~f_esmf_smmstore->proc~esmf_routehandlecopythis proc~esmf_fieldsmmstorefromfile ESMF_FieldSMMStoreFromFile interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorefromfile proc~esmf_fieldsmmstorefromfiletr ESMF_FieldSMMStoreFromFileTR interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorefromfiletr proc~esmf_fieldsmmstorei4 ESMF_FieldSMMStoreI4 interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorei4 proc~esmf_fieldsmmstorei4tr ESMF_FieldSMMStoreI4TR interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorei4tr proc~esmf_fieldsmmstorei8 ESMF_FieldSMMStoreI8 interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorei8 proc~esmf_fieldsmmstorei8tr ESMF_FieldSMMStoreI8TR interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorei8tr proc~esmf_fieldsmmstorenf ESMF_FieldSMMStoreNF interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorenf proc~esmf_fieldsmmstorenftr ESMF_FieldSMMStoreNFTR interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorenftr proc~esmf_fieldsmmstorer4 ESMF_FieldSMMStoreR4 interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorer4 proc~esmf_fieldsmmstorer4tr ESMF_FieldSMMStoreR4TR interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorer4tr proc~esmf_fieldsmmstorer8 ESMF_FieldSMMStoreR8 interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorer8 proc~esmf_fieldsmmstorer8tr ESMF_FieldSMMStoreR8TR interface~esmf_fieldsmmstore->proc~esmf_fieldsmmstorer8tr esmf_breakpoint esmf_breakpoint proc~esmf_logfounderror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logfounderror->proc~esmf_logrc2msg proc~esmf_logwrite ESMF_LogWrite proc~esmf_logfounderror->proc~esmf_logwrite proc~esmf_fieldsmmstorefromfile->interface~esmf_fieldsmmstore proc~esmf_fieldsmmstorefromfile->proc~esmf_logfounderror proc~esmf_factorread ESMF_FactorRead proc~esmf_fieldsmmstorefromfile->proc~esmf_factorread proc~esmf_fieldsmmstorefromfiletr->interface~esmf_fieldsmmstore proc~esmf_fieldsmmstorefromfiletr->proc~esmf_logfounderror proc~esmf_fieldsmmstorefromfiletr->proc~esmf_factorread proc~esmf_fieldsmmstorei4->proc~esmf_logfounderror esmf_fieldget esmf_fieldget proc~esmf_fieldsmmstorei4->esmf_fieldget interface~esmf_arraysmmstore ESMF_ArraySMMStore proc~esmf_fieldsmmstorei4->interface~esmf_arraysmmstore proc~esmf_fieldgetinit ESMF_FieldGetInit proc~esmf_fieldsmmstorei4->proc~esmf_fieldgetinit proc~esmf_imerr ESMF_IMErr proc~esmf_fieldsmmstorei4->proc~esmf_imerr proc~esmf_fieldsmmstorei4tr->proc~esmf_logfounderror proc~esmf_fieldsmmstorei4tr->esmf_fieldget proc~esmf_fieldsmmstorei4tr->interface~esmf_arraysmmstore proc~esmf_fieldsmmstorei4tr->proc~esmf_fieldgetinit proc~esmf_fieldsmmstorei4tr->proc~esmf_imerr proc~esmf_fieldsmmstorei8->proc~esmf_logfounderror proc~esmf_fieldsmmstorei8->esmf_fieldget proc~esmf_fieldsmmstorei8->interface~esmf_arraysmmstore proc~esmf_fieldsmmstorei8->proc~esmf_fieldgetinit proc~esmf_fieldsmmstorei8->proc~esmf_imerr proc~esmf_fieldsmmstorei8tr->proc~esmf_logfounderror proc~esmf_fieldsmmstorei8tr->esmf_fieldget proc~esmf_fieldsmmstorei8tr->interface~esmf_arraysmmstore proc~esmf_fieldsmmstorei8tr->proc~esmf_fieldgetinit proc~esmf_fieldsmmstorei8tr->proc~esmf_imerr proc~esmf_fieldsmmstorenf->proc~esmf_logfounderror proc~esmf_fieldsmmstorenf->esmf_fieldget proc~esmf_fieldsmmstorenf->interface~esmf_arraysmmstore proc~esmf_fieldsmmstorenf->proc~esmf_fieldgetinit proc~esmf_fieldsmmstorenf->proc~esmf_imerr proc~esmf_fieldsmmstorenftr->proc~esmf_logfounderror proc~esmf_fieldsmmstorenftr->esmf_fieldget proc~esmf_fieldsmmstorenftr->interface~esmf_arraysmmstore proc~esmf_fieldsmmstorenftr->proc~esmf_fieldgetinit proc~esmf_fieldsmmstorenftr->proc~esmf_imerr proc~esmf_fieldsmmstorer4->proc~esmf_logfounderror proc~esmf_fieldsmmstorer4->esmf_fieldget proc~esmf_fieldsmmstorer4->interface~esmf_arraysmmstore proc~esmf_fieldsmmstorer4->proc~esmf_fieldgetinit proc~esmf_fieldsmmstorer4->proc~esmf_imerr proc~esmf_fieldsmmstorer4tr->proc~esmf_logfounderror proc~esmf_fieldsmmstorer4tr->esmf_fieldget proc~esmf_fieldsmmstorer4tr->interface~esmf_arraysmmstore proc~esmf_fieldsmmstorer4tr->proc~esmf_fieldgetinit proc~esmf_fieldsmmstorer4tr->proc~esmf_imerr proc~esmf_fieldsmmstorer8->proc~esmf_logfounderror proc~esmf_fieldsmmstorer8->esmf_fieldget proc~esmf_fieldsmmstorer8->interface~esmf_arraysmmstore proc~esmf_fieldsmmstorer8->proc~esmf_fieldgetinit proc~esmf_fieldsmmstorer8->proc~esmf_imerr proc~esmf_fieldsmmstorer8tr->proc~esmf_logfounderror proc~esmf_fieldsmmstorer8tr->esmf_fieldget proc~esmf_fieldsmmstorer8tr->interface~esmf_arraysmmstore proc~esmf_fieldsmmstorer8tr->proc~esmf_fieldgetinit proc~esmf_fieldsmmstorer8tr->proc~esmf_imerr c_esmc_loggeterrormsg c_esmc_loggeterrormsg proc~esmf_logrc2msg->c_esmc_loggeterrormsg c_esmc_vmwtime c_esmc_vmwtime proc~esmf_logwrite->c_esmc_vmwtime proc~esmf_logclose ESMF_LogClose proc~esmf_logwrite->proc~esmf_logclose proc~esmf_logflush ESMF_LogFlush proc~esmf_logwrite->proc~esmf_logflush proc~esmf_logopenfile ESMF_LogOpenFile proc~esmf_logwrite->proc~esmf_logopenfile proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logwrite->proc~esmf_utiliounitflush proc~esmf_utilstring2array ESMF_UtilString2Array proc~esmf_logwrite->proc~esmf_utilstring2array

Source Code

  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