Datatype mixing
In at least one subroutine double precision real data is used as double precision complex data. This has been done on purpose for performance reasons (packing). However, on the one hand the compilers throw a warning message, and on the other hand it forbids Fortran interface checking. This should be changed with modern Fortran functionality