PROGRAM Run USE Midden_mod IMPLICIT NONE TYPE(Midden), DIMENSION(10) :: data CHARACTER(LEN=25) :: name REAL, DIMENSION(100) :: temp INTEGER :: K, N, err LOGICAL :: OK = .True. OPEN (10, FILE='Midden.data') DO N = 1, 10 IF (OK) READ (10, *, IOSTAT=err) name, K, temp(:K) IF (err /= 0) OK = .False. IF (OK) THEN data(N) = create(name, temp(:K)) ELSE data(N) = create('', temp(:0)) END IF END DO CLOSE (10) DO N = 1, 10 CALL print(data(N)) END DO END PROGRAM Run