ESMF_InfoSyncField Subroutine

private subroutine ESMF_InfoSyncField(host, rootPet, vm, keywordEnforcer, markClean, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Field), intent(inout) :: host
integer, intent(in) :: rootPet
type(ESMF_VM), intent(in) :: vm
type(ESMF_KeywordEnforcer), optional :: keywordEnforcer
logical, intent(in), optional :: markClean
integer, intent(inout), optional :: rc

Calls

proc~~esmf_infosyncfield~~CallsGraph proc~esmf_infosyncfield ESMF_InfoSyncField interface~c_info_base_sync c_info_base_sync proc~esmf_infosyncfield->interface~c_info_base_sync none~destroy ESMF_InfoDescribe%Destroy proc~esmf_infosyncfield->none~destroy none~initialize ESMF_InfoDescribe%Initialize proc~esmf_infosyncfield->none~initialize none~update ESMF_InfoDescribe%Update proc~esmf_infosyncfield->none~update proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_infosyncfield->proc~esmf_logfounderror proc~esmf_vmgetthis ESMF_VMGetThis proc~esmf_infosyncfield->proc~esmf_vmgetthis proc~esmf_infodescribedestroy ESMF_InfoDescribe%ESMF_InfoDescribeDestroy none~destroy->proc~esmf_infodescribedestroy proc~esmf_infodescribeinitialize ESMF_InfoDescribe%ESMF_InfoDescribeInitialize none~initialize->proc~esmf_infodescribeinitialize proc~updatewitharray ESMF_InfoDescribe%updateWithArray none~update->proc~updatewitharray proc~updatewitharraybundle ESMF_InfoDescribe%updateWithArrayBundle none~update->proc~updatewitharraybundle proc~updatewithcplcomp ESMF_InfoDescribe%updateWithCplComp none~update->proc~updatewithcplcomp proc~updatewithdistgrid ESMF_InfoDescribe%updateWithDistGrid none~update->proc~updatewithdistgrid proc~updatewithfield ESMF_InfoDescribe%updateWithField none~update->proc~updatewithfield proc~updatewithfieldbundle ESMF_InfoDescribe%updateWithFieldBundle none~update->proc~updatewithfieldbundle proc~updatewithgrid ESMF_InfoDescribe%updateWithGrid none~update->proc~updatewithgrid proc~updatewithgridcomp ESMF_InfoDescribe%updateWithGridComp none~update->proc~updatewithgridcomp proc~updatewithlocstream ESMF_InfoDescribe%updateWithLocStream none~update->proc~updatewithlocstream proc~updatewithmesh ESMF_InfoDescribe%updateWithMesh none~update->proc~updatewithmesh proc~updatewithroutehandle ESMF_InfoDescribe%updateWithRouteHandle none~update->proc~updatewithroutehandle proc~updatewithscicomp ESMF_InfoDescribe%updateWithSciComp none~update->proc~updatewithscicomp proc~updatewithstate ESMF_InfoDescribe%updateWithState none~update->proc~updatewithstate proc~updatewithxgrid ESMF_InfoDescribe%updateWithXGrid none~update->proc~updatewithxgrid 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

Called by

proc~~esmf_infosyncfield~~CalledByGraph proc~esmf_infosyncfield ESMF_InfoSyncField interface~esmf_infosync ESMF_InfoSync interface~esmf_infosync->proc~esmf_infosyncfield proc~esmf_attributeupdatecplcomp ESMF_AttributeUpdateCplComp proc~esmf_attributeupdatecplcomp->interface~esmf_infosync proc~esmf_attributeupdatefield ESMF_AttributeUpdateField proc~esmf_attributeupdatefield->interface~esmf_infosync proc~esmf_attributeupdatefieldbundle ESMF_AttributeUpdateFieldBundle proc~esmf_attributeupdatefieldbundle->interface~esmf_infosync proc~esmf_attributeupdategridcomp ESMF_AttributeUpdateGridComp proc~esmf_attributeupdategridcomp->interface~esmf_infosync proc~esmf_attributeupdatescicomp ESMF_AttributeUpdateSciComp proc~esmf_attributeupdatescicomp->interface~esmf_infosync proc~esmf_attributeupdatestate ESMF_AttributeUpdateState proc~esmf_attributeupdatestate->interface~esmf_infosync program~esmf_infosyncutest ESMF_InfoSyncUTest program~esmf_infosyncutest->interface~esmf_infosync interface~esmf_attributeupdate ESMF_AttributeUpdate interface~esmf_attributeupdate->proc~esmf_attributeupdatecplcomp interface~esmf_attributeupdate->proc~esmf_attributeupdatefield interface~esmf_attributeupdate->proc~esmf_attributeupdatefieldbundle interface~esmf_attributeupdate->proc~esmf_attributeupdategridcomp interface~esmf_attributeupdate->proc~esmf_attributeupdatescicomp interface~esmf_attributeupdate->proc~esmf_attributeupdatestate proc~consistentcomponentattributes consistentComponentAttributes proc~consistentcomponentattributes->interface~esmf_attributeupdate proc~initializeipdv02p1 InitializeIPDv02p1 proc~initializeipdv02p1->interface~esmf_attributeupdate proc~nuopc_driveraddcplcomp NUOPC_DriverAddCplComp proc~nuopc_driveraddcplcomp->interface~esmf_attributeupdate proc~user_run~89 user_run proc~user_run~89->interface~esmf_attributeupdate proc~usercpl1_run usercpl1_run proc~usercpl1_run->interface~esmf_attributeupdate proc~usercpl2_run usercpl2_run proc~usercpl2_run->interface~esmf_attributeupdate proc~usercpl_run usercpl_run proc~usercpl_run->interface~esmf_attributeupdate proc~usercpl_run~2 usercpl_run proc~usercpl_run~2->interface~esmf_attributeupdate proc~usercpl_run~4 usercpl_run proc~usercpl_run~4->interface~esmf_attributeupdate program~attributeupdatereconcile AttributeUpdateReconcile program~attributeupdatereconcile->interface~esmf_attributeupdate

Source Code

subroutine ESMF_InfoSyncField(host, rootPet, vm, keywordEnforcer, markClean, rc)
  type(ESMF_Field), intent(inout) :: host
  integer, intent(in) :: rootPet
  type(ESMF_VM), intent(in) :: vm
type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below
  logical, intent(in), optional :: markClean
  integer, intent(inout), optional :: rc

  type(ESMF_InfoDescribe) :: eidesc
  integer :: localrc
  integer(C_INT) :: local_markClean
  type(ESMF_Pointer) :: eptr

  if (present(rc)) rc = ESMF_RC_NOT_IMPL
  local_markClean = 0  !False
  if (present(markClean)) then
    if (markClean) local_markClean = 1  !True
  endif

  call ESMF_VMGetThis(vm, eptr, rc=localrc)
  if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return

  call eidesc%Initialize(addBaseAddress=.true., addObjectInfo=.false., rc=localrc)
  if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return

  call eidesc%Update(host, "", rc=localrc)
  if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return

  call c_info_base_sync(eidesc%info%ptr, rootPet, eptr%ptr, local_markClean, localrc)
  if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return

  call eidesc%Destroy(rc=localrc)
  if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT, rcToReturn=rc)) return

  if (present(rc)) rc = ESMF_SUCCESS
end subroutine ESMF_InfoSyncField