Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ESMF_AttPack), | intent(out) | :: | self | |||
type(ESMF_Info), | intent(in) | :: | info | |||
character(len=*), | intent(in), | optional | :: | convention | ||
character(len=*), | intent(in), | optional | :: | purpose | ||
character(len=*), | intent(in), | optional | :: | rootKey | ||
integer, | intent(out), | optional | :: | rc |
subroutine attpack_initialize(self, info, convention, purpose, rootKey, rc) class(ESMF_AttPack), intent(out) :: self type(ESMF_Info), intent(in) :: info character(*), intent(in), optional :: convention character(*), intent(in), optional :: purpose character(*), intent(in), optional :: rootKey integer, intent(out), optional :: rc integer :: localrc character(:), allocatable :: local_convention, local_purpose if (present(rc)) rc = ESMF_RC_NOT_IMPL localrc = ESMF_FAILURE if (.not. present(rootKey)) then if (present(convention)) then local_convention = TRIM(convention) else local_convention = TRIM(ESMF_ATTR_DEFAULT_CONVENTION) end if if (present(purpose)) then local_purpose = TRIM(purpose) else local_purpose = TRIM(ESMF_ATTR_DEFAULT_PURPOSE) end if self%root_key = "/"//local_convention//"/"//local_purpose else self%root_key = rootKey end if self%info = info%ptr if (present(rc)) rc = ESMF_SUCCESS end subroutine attpack_initialize