Explanation on how to pass arrays as arguments efficiently in Fortran

I found this wiki page which I think is a good summary of how to pass arrays to functions efficiently in Fortran. It has a nice summary table of what to expect for different types of arrays. It also has a section on how to use the Intel compiler to diagnose inefficiencies.