gfortran does not allow character arrays with varying component lengths
fortran, fortran90, gfortran
Solution
You have some lengths 12 in the constructor, so it may be better to use length 12.
Also, use instead
character(len=12), dimension(5) :: models = [character(len=12) :: "feddes.swp", &
"jarvis89.swp", "jarvis10.swp", "pem.swp", "van.swp"]
Possibly even better, if you have compiler support, is
character(len=*), dimension(*) :: ...
Problem
See the example below ``` program test character(10),dimension(5):: models = (/"feddes.swp", "jarvis89.swp", "jarvis10.swp" , "pem.swp", "van.swp"/) end ``` The following error is returned: Different CHARACTER lengths (10/12) in array constructor at (1) There is no error with ifort compiler. Why does it happen with gfortran and is there any way to circumvent this problem?