One difference between automatic and allocatable arrays is that the allocate statement lets you set and check a stat specifier to see if the allocation succeeded. There is no such error handling with automatic arrays. There was a thread
allocatable
allocate
stat