Hello,
I never use such sophisticated features of Fortran so I am not sure of where the problem is. The compiler seems to miss a coma. The only thing I see is that e.g. 'Z0' should be 8 characters, so probably 'Z0 ', and that your continuation lines with & may exceed the maximum of 19. I always put the & only in column 6 and I would split all, setting the values wave by wave, like :
constituents(1)=con(1,'Z0 ',0.0000000,0,0,0,0,0)
though I did not know that setting a type(con) would work with ... =con(...) but it seems, to some extent.
Regards,
Jean-Michel Hervouet