//Z1SBKCRS JOB (U0016,N598,10),'COSMIC RAY',TIME=(2,00), // MSGCLASS=X,NOTIFY=Z1SBK /*JOBPARM LINES=100 //FOR77 EXEC FORTVCLG C C READ COSMIC RAY COUNTS/SEC FROM XRPAS (PAM SCHUSTER) C AND APPEND HOUR AVERAGES TO MASTER DATASET C CHECK JOB CARDS AT BOTTOM OF JCL TO SET FOR C APPROPRIATE DATASET/SATTELITE. C CHARACTER RECORD(132)*1,FILE(132)*1,STRING*132 INTEGER*2 NBIN,NREC,BASEYR REAL*8 AVTIME,TIME,DAYS,HOURS REAL*4 ATIME,DATA(8),OUT(35) INTEGER*4 IOUT(35)/35*0/ EQUIVALENCE (OUT(1),IOUT(1)) EQUIVALENCE (RECORD(1),NBIN),(FILE(31),NREC), & (RECORD(5),ATIME),(RECORD(13),BASEYR), & (RECORD(1),DATA(1)),(RECORD(1),TIME), & (RECORD(1),STRING) C ISTART = 9300100 ISTOP = 9500100 IREAD = 0 10 CONTINUE READ(20,NUM=LEN,END=100,ERR=10) RECORD IREAD = IREAD + 1 15 CONTINUE IF (IREAD.EQ.1 ) READ(21,NUM=IREC,END=100,ERR=15) FILE AVTIME = ATIME IF ( IREAD .EQ. 1 ) WRITE(6,900) NBIN,NREC,AVTIME,BASEYR IF ( IREAD .EQ. 1 ) IY = BASEYR - INT(BASEYR/100.) * 100 IF ( IREAD .EQ. 2 ) THEN WRITE(6,901) (RECORD(K),K=1,12) C C DETERMINE S/C ID C IF ( STRING(1:3).EQ.'IMP' ) THEN IOUT(1) = 0 ELSE IF ( STRING(1:9).EQ.'VOYAGER-1' ) THEN IOUT(1)=1 ELSE IF ( STRING(1:9).EQ.'VOYAGER-2' ) THEN IOUT(1)=2 ELSE IF ( STRING(1:10).EQ.'PIONEER-10' ) THEN IOUT(1)=6 ELSE IF ( STRING(1:10).EQ.'PIONEER-11' ) THEN IOUT(1)=7 ELSE WRITE(6,*) 'INVALID S/C NAME' STOP END IF END IF IF ( 2 .LT. IREAD .AND. IREAD .LE. 3-NBIN+2 ) THEN WRITE(6,902) (RECORD(K),K=4,130) END IF IF ( IREAD .LE. 3-NBIN+2 ) GO TO 10 CALL DATEN(IY,TIME,IYEAR,ID,IH) IT = IYEAR*100000 + ID*100 + IH IF ( IT .LT. ISTART ) GO TO 10 IF ( IT .GE. ISTOP ) GO TO 100 IOUT(2) = IYEAR IOUT(3) = ID IOUT(4) = IH DO 20 I = 5,35 OUT(I) = 0.0 20 CONTINUE IF( DATA(3) .GT. 0.001 ) OUT(27) = DATA(3) IF( DATA(4) .GT. 0.001 ) OUT(28) = DATA(4) IF( DATA(5) .GT. 0.001 ) OUT(29) = DATA(5) IF( DATA(6) .GT. 0.001 ) OUT(30) = DATA(6) IF( DATA(3) .LT. 0.001 .AND. DATA(5) .LT. 0.001 ) GO TO 10 WRITE(11,NUM=N) OUT WRITE(6,905) IOUT(1),IYEAR,ID,IH,DATA(3),DATA(4), & DATA(5),DATA(6) GO TO 10 100 CONTINUE STOP 900 FORMAT(I6,I6,F12.0,I6) 908 FORMAT(I2,I3,I4,I3,4E10.3) 901 FORMAT(2X,12A1) 902 FORMAT(2X,127A1) 903 FORMAT(I2,I3,I4,I3,4F8.3) 905 FORMAT(1X,I2,1X,I2,1X,I3.3,1X,I2.2,4(1X,E10.4)) END SUBROUTINE DATEN(IYR,TSEC,JYR,JDAY,JHR) REAL*8 TSEC,USEC,YR,YRL,SECD YR = 86400.*365. YRL = 86400.*366. USEC = TSEC KYR = IYR 10 IF( MOD(KYR,4) .EQ. 0 ) GO TO 1 IF( USEC .GE. YR ) GO TO 2 JYR = KYR GO TO 3 2 KYR = KYR + 1 USEC = USEC -YR GO TO 10 1 IF( USEC .GE. YRL ) GO TO 4 JYR = KYR GO TO 3 4 KYR = KYR + 1 USEC = USEC - YRL GO TO 10 3 JDAY = INT(USEC/86400.) + 1 SECD = USEC - DFLOAT(JDAY-1) * 86400. JHR = INT(SECD/3600.) RETURN END //LKED.SYSLIB DD DSN=SYS1.VLNKMLIB,DISP=SHR //GO.SYSUDUMP DD DUMMY //*T20F001 DD DSN=XRPAS.I8BUR10A,DISP=OLD //*T21F001 DD DSN=XRPAS.I8BUR10,DISP=OLD //*T20F001 DD DSN=XRPAS.V1BUR9A,DISP=OLD //*T21F001 DD DSN=XRPAS.V1BUR9,DISP=OLD //*T20F001 DD DSN=XRPAS.V2BUR17A,DISP=OLD //*T21F001 DD DSN=XRPAS.V2BUR17,DISP=OLD //FT20F001 DD DSN=SB#VG.V1BUR94A,DISP=OLD //FT21F001 DD DSN=SB#VG.V1BUR94,DISP=OLD //*T11F001 DD DSN=Z1SBK.MSPERM,DISP=MOD //FT11F001 DD DSN=Z1SBK.HOURAVG,DISP=OLD //*T12F001 DD DSN=Z1SBK.TEMP,DISP=OLD // EXEC NOTIFY //