¿Cómo se puede pasar un escalar a un vector (matriz 1D) a una subrutina Fortran?

Hay este programa:

INTEGER i,k
REAL*8  mp(15,48)
REAL*8  sp(15)
k=0
do i=1,12
   k=k+1
   call Equaltensors(sp,mp(1,k),15)
enddo
end

c=====================

subroutine Equaltensors(tensA,tensB,n)
REAL*8 tensA(n),tensB(n)
INTEGER i
do   i=1,n
     tensB(i)=tensA(i)
enddo
return
end

Básicamente, el valor de mp (1,1) y así sucesivamente se pasa a la subrutina como un vector tensB (15) con n = 15. Lo que no entiendo es cómo se puede almacenar un número real en una matriz de una dimensión en una subrutina.

Respuestas a la pregunta(2)

Su respuesta a la pregunta