SUBROUTINE PFIRON(NELEM,ION,TLOG8,POTLOW8,PF) REAL*8 TLOG8,POTLOW8,PF DIMENSION PFTAB(7,56,10,9) DIMENSION POTLO(7),POTLOLOG(7) DATA POTLO/500.,1000.,2000.,4000.,8000.,16000.,32000./ DATA POTLOLOG/2.69897,3.,3.30103,3.60206,3.90309,4.20412,4.50515/ IF(PFTAB(1,1,1,1).EQ.0.)THEN OPEN(UNIT=4,FILE='KU2A:[KURUCZ.SYNTHE]PFIRON.DAT', 1STATUS='OLD',SHARED,READONLY) READ(4,1)PFTAB 1 FORMAT(26X,7F10.3) ENDIF C123456789012345678901234567890 C 20.09 56 199526. 4.211 4.211 4.211 4.211 4.211 4.211 4.211 TLOG=TLOG8 POTLOW=POTLOW8 IF(TLOG.GT.4.)GO TO 20 IF(TLOG.LT.3.7)GO TO 10 IT=(TLOG-3.7)/.03+21. F=(TLOG-(IT-21)*.03-3.7)/.03 GO TO 30 10 IT=(TLOG-3.32)/.02+2. IT=MAX(IT,2) F=(TLOG-(IT-2)*.02-3.32)/.02 GO TO 30 20 IT=(TLOG-4.0)/.05+31. IT=MIN(IT,56) F=(TLOG-(IT-31)*.05-4.)/.05 30 LOW=1 IF(POTLOW.LT.POTLO(LOW))GO TO 32 DO 31 LOW=2,7 IF(POTLOW.LT.POTLO(LOW))GO TO 35 31 CONTINUE LOW=7 32 PF=F*PFTAB(LOW,IT,ION,NELEM-19)+ 1 (1.-F)*PFTAB(LOW,IT-1,ION,NELEM-19) RETURN 35 P=(LOG10(POTLOW)-POTLOLOG(LOW-1))/.30103 PF=P*(F*PFTAB(LOW,IT,ION,NELEM-19)+ 1 (1.-F)*PFTAB(LOW,IT-1,ION,NELEM-19))+ 2 (1.-P)*(F*PFTAB(LOW-1,IT,ION,NELEM-19)+ 3 (1.-F)*PFTAB(LOW-1,IT-1,ION,NELEM-19)) RETURN END