subroutine dyn_mpas_get_variable_value_r5(self, variable_value, pool_name, variable_name, time_level)
class(mpas_dynamical_core_type), intent(in) :: self
real(rkind), allocatable, intent(out) :: variable_value(:, :, :, :, :)
character(*), intent(in) :: pool_name
character(*), intent(in) :: variable_name
integer, optional, intent(in) :: time_level
character(*), parameter :: subname = 'dyn_mpas_subdriver::dyn_mpas_get_variable_value_r5'
real(rkind), pointer :: variable_pointer(:, :, :, :, :)
integer :: ierr
nullify(variable_pointer)
call self % get_variable_pointer(variable_pointer, pool_name, variable_name, time_level=time_level)
allocate(variable_value, source=variable_pointer, stat=ierr)
if (ierr /= 0) then
call self % model_error('Failed to allocate variable "' // trim(adjustl(variable_name)) // '"', subname, __LINE__)
end if
nullify(variable_pointer)
end subroutine dyn_mpas_get_variable_value_r5