attpack_formatKey Function

private function attpack_formatKey(self, name, rc) result(key)

Type Bound

ESMF_AttPack

Arguments

Type IntentOptional Attributes Name
class(ESMF_AttPack), intent(in) :: self
character(len=*), intent(in), optional :: name
integer, intent(out), optional :: rc

Return Value character(len=:), allocatable


Source Code

function attpack_formatKey(self, name, rc) result(key)
  ! Get the key in JSON Pointer syntax to the location in the associated Info
  ! object this attribute package points to
  class(ESMF_AttPack), intent(in) :: self
  character(*), intent(in), optional :: name
  integer, intent(out), optional :: rc
  character(:), allocatable :: key

  integer :: localrc

  if (present(rc)) rc = ESMF_RC_NOT_IMPL
  localrc = ESMF_FAILURE
  if (present(name)) then
    if (LEN(name) > 0) then
        key = TRIM(self%root_key)//"/"//name
    else
        key = TRIM(self%root_key)
    end if
  else
    key = TRIM(self%root_key)
  end if
  if (present(rc)) rc = ESMF_SUCCESS
end function attpack_formatKey