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 INCLUDE 'PARAMS.FOR' DIMENSION WL1(20),WL2(20),WLI(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., * 40*0., *.0220,.0390,.0800,.1500,.3500,.4000,.4900,.6200,.7200,.7800, *.8500,.9300,1.020, * 7*0./ C INDEX=-IB-100 NUM=20 IF(INDEX.GE.13.AND.INDEX.LE.27) NUM=15 DO 10 I=1,NUM IF(INDEX.LT.13) WLI(I)=WL1(I) IF(INDEX.GE.13) WLI(I)=WL2(I) SIGS(I)=SIG0(I,INDEX) 10 CONTINUE C WLAM=2.997925E18/FR IL=1 IR=NUM DO 50 I=1,NUM-1 IF(WLAM.GE.WLI(I).AND.WLAM.LE.WLI(I+1)) THEN IL=I IR=I+1 GO TO 60 ENDIF 50 CONTINUE C C LINEAR INTERPOLATION: C 60 SIGM=(SIGS(IR)-SIGS(IL))*(WLAM-WLI(IL))/(WLI(IR)-WLI(IL)) * + SIGS(IL) C C IF OUTSIDE WAVELENGTH RANGE SET TO FIRST(LAST) VALUE: C IF(WLAM.LE.WLI(1)) SIGM=SIGS(1) IF(WLAM.GE.WLI(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.E-18 RETURN END