f_esmf_localarrayf90allocate Subroutine

subroutine f_esmf_localarrayf90allocate(arrayPtr, rank, typekind, counts, lbounds, ubounds, rc)

Uses

  • proc~~f_esmf_localarrayf90allocate~~UsesGraph proc~f_esmf_localarrayf90allocate f_esmf_localarrayf90allocate module~esmf_basemod ESMF_BaseMod proc~f_esmf_localarrayf90allocate->module~esmf_basemod module~esmf_localarraymod ESMF_LocalArrayMod proc~f_esmf_localarrayf90allocate->module~esmf_localarraymod module~esmf_logerrmod ESMF_LogErrMod proc~f_esmf_localarrayf90allocate->module~esmf_logerrmod module~esmf_utiltypesmod ESMF_UtilTypesMod proc~f_esmf_localarrayf90allocate->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 ESMF_LocalArrayCreateMod ESMF_LocalArrayCreateMod module~esmf_localarraymod->ESMF_LocalArrayCreateMod ESMF_LocalArrayGetMod ESMF_LocalArrayGetMod module~esmf_localarraymod->ESMF_LocalArrayGetMod 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_utiltypesmod->iso_c_binding module~esmf_initmacrosmod->module~esmf_logerrmod module~esmf_initmacrosmod->module~esmf_utiltypesmod module~esmf_ioutilmod->module~esmf_utiltypesmod module~esmf_vmmod->module~esmf_logerrmod module~esmf_vmmod->module~esmf_utiltypesmod module~esmf_vmmod->iso_c_binding module~esmf_vmmod->module~esmf_initmacrosmod module~esmf_vmmod->module~esmf_ioutilmod module~esmf_f90interfacemod ESMF_F90InterfaceMod module~esmf_vmmod->module~esmf_f90interfacemod module~esmf_f90interfacemod->module~esmf_logerrmod module~esmf_f90interfacemod->module~esmf_utiltypesmod

Arguments

Type IntentOptional Attributes Name
type(ESMF_Pointer) :: arrayPtr
integer :: rank
type(ESMF_TypeKind_Flag) :: typekind
integer :: counts(rank)
integer :: lbounds(rank)
integer :: ubounds(rank)
integer :: rc

Calls

proc~~f_esmf_localarrayf90allocate~~CallsGraph proc~f_esmf_localarrayf90allocate f_esmf_localarrayf90allocate esmf_localarrconstrf90ptr esmf_localarrconstrf90ptr proc~f_esmf_localarrayf90allocate->esmf_localarrconstrf90ptr proc~esmf_logfounderror ESMF_LogFoundError proc~f_esmf_localarrayf90allocate->proc~esmf_logfounderror 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 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 proc~esmf_logclose->proc~esmf_logflush proc~esmf_logflush->proc~esmf_utiliounitflush proc~esmf_utilarray2string ESMF_UtilArray2String proc~esmf_logflush->proc~esmf_utilarray2string proc~esmf_logopenfile->proc~esmf_utiliounitflush proc~esmf_utiliounitget ESMF_UtilIOUnitGet proc~esmf_logopenfile->proc~esmf_utiliounitget

Source Code

subroutine f_esmf_localarrayf90allocate(arrayPtr, rank, typekind, counts, &
  lbounds, ubounds, rc)
  use ESMF_UtilTypesMod     ! ESMF base class
  use ESMF_BaseMod          ! ESMF base class
  use ESMF_LogErrMod        ! ESMF error logging
  use ESMF_LocalArrayMod
  
  implicit none

  type(ESMF_Pointer) :: arrayPtr
  integer :: rank
  type(ESMF_TypeKind_Flag) :: typekind
  integer :: counts(rank)
  integer :: lbounds(rank)
  integer :: ubounds(rank)
  integer :: rc

  type(ESMF_LocalArray) :: array

  array%this = arrayPtr
  ESMF_INIT_SET_CREATED(array)

  ! Beware - these args are not in the same order
  call ESMF_LocalArrConstrF90Ptr(array, counts, typekind, rank, &
    lbounds, ubounds, rc=rc)
  if (ESMF_LogFoundError(rcToCheck=rc, &
    ESMF_ERR_PASSTHRU, &
    ESMF_CONTEXT)) return

end subroutine f_esmf_localarrayf90allocate