Reflection files format: Difference between revisions
m →LCF  | 
				 →LCF:  get ncol from header  | 
				||
| Line 219: | Line 219: | ||
i=COMMAND_ARGUMENT_COUNT()  | i=COMMAND_ARGUMENT_COUNT()  | ||
IF (i/=  | IF (i/=2) STOP 'usage: lcf_dump <name.LCF> offset'  | ||
! read command line  | ! read command line  | ||
CALL GET_COMMAND_ARGUMENT(1,string)  ! expects LCF filename on command line  | CALL GET_COMMAND_ARGUMENT(1,string)  ! expects LCF filename on command line  | ||
| Line 227: | Line 227: | ||
WRITE(*,*) 'LCF file: ',TRIM(string)  | WRITE(*,*) 'LCF file: ',TRIM(string)  | ||
CALL GET_COMMAND_ARGUMENT(2  | CALL GET_COMMAND_ARGUMENT(2,string)  ! expects OFFSET  | ||
READ(string,*) offset  | READ(string,*) offset  | ||
WRITE(*,*) 'ncol, offset:',ncol,offset  | WRITE(*,*) 'ncol, offset:',ncol,offset  | ||
| Line 238: | Line 234: | ||
READ(1) header,separator   ! reads 8*2+12 bytes. ends after byte 28  | READ(1) header,separator   ! reads 8*2+12 bytes. ends after byte 28  | ||
WRITE(*,'(a,8(i0,1x))') ' header: ',header  | WRITE(*,'(a,8(i0,1x))') ' header: ',header  | ||
IF (header(1) /= -32768) STOP 'error - first header item is not -32768'  | |||
IF (header(5) == -12) THEN  | |||
  ncol=6  | |||
ELSE IF (header(6)==-14) THEN  | |||
  ncol=7  | |||
ELSE  | |||
  ncol=-header(7)/2  | |||
  IF (ncol<0 .OR. ncol>100) STOP 'error - could not determine ncol'  | |||
END IF  | |||
WRITE(*,'(a,i0))') ' ncol: ',ncol  | |||
ALLOCATE(refdat(ncol))  | |||
DO i=1,6  | DO i=1,6  | ||
   READ(1) cell(i),separator  ! reads 6*(4+12) bytes. ends after byte 124  |    READ(1) cell(i),separator  ! reads 6*(4+12) bytes. ends after byte 124  | ||