A fortran bug? (or at least a not well documented limitation)
Since I spent a significant amount of time, searching for the problem that was causing one of my fortran codes, I think that commenting these things may help others.
I was using a call like this:
CALL fn(xtmp,xf1,force)
in which fn was an external defined as lorenz96ss
which was calling to a subroutine with assumed shape dummy arrays:
subroutine lorenz96ss(yin,yout,xin)
real(8),intent(in) :: yin(:),xin(:)
real(8),intent(inout) :: yout(:)
This does not work!!!!!! (fortran 2003 cannot manage the array dimensions in this case) One has to define them explicitly:
CALL fn(nx,ny ,xtmp,xf1,force)
subroutine lorenz96ss(ny,nx,yin,yout,xin)
integer, intent(in) :: nx,ny
real(8),intent(in) :: yin(ny),xin(nx)
real(8),intent(inout) :: yout(ny)