FUNCTION HIDALG(IB,FR) C ====================== C C Read table of wavelengths and photo-ionization cross-sections C from Hidalgo (1968, Ap. J., 153, 981) for the species indicated by IB C (Hidalgo's number = INDEX = -IB-100). C Compute linearly interpolated value of the cross-section C at the frequency FR. C C (At the moment, only a few transitions are considered) C INCLUDE 'IMPLIC.FOR' DIMENSION WL1(20),WL2(20),WL(20),SIG0(20,24),SIGS(20) C DATA WL1 / * 39.1, 80.9, 97.6,100.1,104.3,107.2,108.7,111.9,113.6,115.4, * 117.1,119.0,124.8,126.9,129.1,131.3,133.6,136.0,138.5,141.1/ DATA WL2 / * 68.5, 80.9,100.1,120.9,158.8,165.7,177.3,190.6,200.7,206.2, * 211.9,218.0,224.5,231.3,246.3,5*0./ DATA SIG0 / * 120*0., *.0460,.2400,.3500,.3700,.4000,.4300,.4400,.4600,.4700,.4900, *.5000,.5200,.5700,.6200, 6*0., * 80*0., *.0092,.1000,.1900,.2100,.2300,.2500,.2600,.2900,.3000,.3200, *.3400,.3500,.4100,.4300,.4500,.4800,.5000,.5300,.5600,.5900, * 20*0., *.3400,.4600,.6300,.7700,.9100,1.080, 14*0., * 20*0., *.0064,.1100,.2200,.4100,.9400,1.000,1.300,1.600, 12*0., * 80*0., *.0370,.0650,.1300,.2400,.5500,.6300,.7700,.9500,1.100,1.250, * 10*0., * 20*0., * 20*0., *.0220,.0390,.0800,.1500,.3500,.4000,.4900,.6200,.7200,.7800, *.8500,.9300,1.020, * 7*0./ SAVE WL1,WL2,SIG0 C INDEX=-IB-100 NUM=20 IF(INDEX.GE.13.AND.INDEX.LE.27) NUM=15 DO I=1,NUM IF(INDEX.LT.13) WL(I)=WL1(I) IF(INDEX.GE.13) WL(I)=WL2(I) SIGS(I)=SIG0(I,INDEX) END DO C WLAM=2.997925D18/FR IL=1 IR=NUM DO I=1,NUM-1 IF(WLAM.GE.WL(I).AND.WLAM.LE.WL(I+1)) THEN IL=I IR=I+1 GO TO 60 END IF END DO C C LINEAR INTERPOLATION: C 60 SIGM=(SIGS(IR)-SIGS(IL))*(WLAM-WL(IL))/(WL(IR)-WL(IL)) * + SIGS(IL) C C IF OUTSIDE WAVELENGTH RANGE SET TO FIRST(LAST) VALUE: C IF(WLAM.LE.WL(1)) SIGM=SIGS(1) IF(WLAM.GE.WL(NUM)) SIGM=SIGS(NUM) C C IF LAST NON-ZERO SIG VALUES, NO INTERPOLATION: C c IF(SIGS(IR).EQ.0.) SIGM=SIGS(IL) C HIDALG=SIGM*1.D-18 RETURN END