The following program reads an IAM data file and copies to a new file all the records containing deblended CHILD objects which have good data quality.
Note that this example assumes RECL is in bytes. This assumption is dependent upon FORTRAN compiler options.
INTEGER BUFFER(32) INTEGER INREC, OUTREC INTEGER STATUS OPEN ( UNIT=1, FILE='iamfile', STATUS='OLD', : ACCESS='DIRECT', FORM='UNFORMATTED', RECL=128 ) OPEN ( UNIT=2, FILE='newfile', STATUS='NEW', : ACCESS='DIRECT', FORM='UNFORMATTED', RECL=128 ) STATUS = 0 INREC = 0 OUTREC = 0 DO WHILE ( STATUS .EQ. 0 ) INREC = INREC + 1 READ ( UNIT=1, REC=INREC, IOSTAT=STATUS ) BUFFER IF ( STATUS .EQ. 0 ) THEN IF ( ( BUFFER(29) .GT. 0 ) .AND. ( BUFFER(30) .GE. 0 ) ) THEN OUTREC = OUTREC + 1 WRITE ( UNIT=2, REC=OUTREC ) BUFFER ENDIF ENDIF ENDDO END