C HEEF - One minute average sorted by pitch angle dependent L (derived from *.min files). C Input file = 'd04XXXX.pad' ; Output file = 'd04XXXX.lis'' C XXXX = CRRES Orbit Number (0015 - 1067) C 05/02/2001: Modified for UNIX Fortran (non-SGI) by John F. Cooper PROGRAM READ_PAD INTEGER*2 NOBF(19,19),KLEG,KSH INTEGER*4 IORBIT,ICH,JORBIT,IYEAR,IDAY,NREC,MAXBIN,KSEC REAL*4 ENERGY(19),FLUX(19,19) CHARACTER*11 INFILE,OUTFILE DATA INFILE/'d04XXXX.pad'/ PRINT*,' ENTER ORBIT NUMBER:' READ(*,*) IORBIT PRINT*,' ENTER CHANNEL NUMBER:(1-19)' READ(*,*) ICH C WRITE(INFILE(4:7),'(I4.4)') IORBIT WRITE(6,*) INFILE OUTFILE = INFILE(1:8)//'lis' WRITE(6,*) OUTFILE C C NOTE THAT THE RECORD LENGTH IS DEFINED IN 4-BYTE WORDS, I'VE USED C OTHER UNIX SYSTEMS THAT NEED TO BE IN BYTES. C C OPEN(1,FILE=inFILE,ACCESS='DIRECT',RECL=544,ERR=100) c Input data is SGI REAL*4 - use following statement to read on c non-SGI UNIX system. c OPEN(1,FILE=INFILE,ACCESS='DIRECT',RECL=2176, c * CONVERT='BIG_ENDIAN',ERR=100,STATUS='OLD') OPEN(1,FILE=INFILE,ACCESS='DIRECT',RECL=544, * CONVERT='BIG_ENDIAN',ERR=100,STATUS='OLD') WRITE(6,*) ' OPENED INPUT FILE' OPEN(2,FILE=OUTFILE,STATUS='UNKNOWN') WRITE(6,*) ' OPENED OUTPUT FILE' C HEADER READ(1,REC=1,err=100)JORBIT,iyear,iday,nrec,maxbin,ENERGY WRITE(2,22)JORBIT,IYEAR,IDAY,ENERGY(ICH) 22 FORMAT(/,' ORBIT=',I4,' YEAR=',I2,' DAY=',I3,' MeV=',F6.2) DO 10 iREC=2,nrec+1 READ(1,REC=iREC,ERR=100)kleg,ksh,ksec,FLUX,NOBF SH=KSH*.05+.95 WRITE(2,23)KLEG,SH,KSEC 23 FORMAT(/,' LEG=',I2,' L-SHELL=',F5.2,' UT=',I7,/) WRITE(2,24) 24 FORMAT(' PITCH ANGLE FLUX OBS') DO 20 IPA=1,19 WRITE(2,25)IPA*5-5,FLUX(ICH,IPA),NOBF(ICH,IPA) 25 FORMAT(I8,E13.4,I6) 20 CONTINUE 10 CONTINUE 100 CONTINUE STOP END