I tend to use ALLOCATABLE more than POINTER because I have the impression (right or wrong) that ALLOCATABLE keeps me out of trouble. The one downside to using allocatables is that if you have an allocatable element inside a type, a warning will be generated because it is not standard F95.
Is there any performance difference between ALLOCATABLE vs POINTER? I know there are some cases where a pointer implementation makes sense (e.g. a red/black type iteration)--is there a pragmatic reason for picking one versus the other. I'm leaning towards changing the ALLOCATABLE members inside a type to POINTERs. Is there a good reason why this should?
My code is not destined to be an optimized production code--the main focus is to support my research. The code is used by other researchers, so representing data structures in a manner that matches the algorithm is preferable. While speed is desirable, it is a secondary goal.