60 lines
2.5 KiB
Fortran
60 lines
2.5 KiB
Fortran
FUNCTION ISPEC(IAT,ION,ALAM)
|
|
C ============================
|
|
C
|
|
C Auxiliary procedure for INISET
|
|
C
|
|
C Input: IAT - atomic number
|
|
C ION - ion (=1 for neutrals, =2 for once ionized, etc.)
|
|
C ALAM - wavelength in nanometers
|
|
C Output: ISPEC - parameter specifying whether the given line
|
|
C is taken with a special (pretabulated) absorption
|
|
C profile - only for hydrogen and helium
|
|
C = 0 - profile is taken as an ordinary Voigt profile
|
|
C > 0 - special profile
|
|
C
|
|
INCLUDE 'PARAMS.FOR'
|
|
C
|
|
ISPEC=0
|
|
IF(IAT.GT.2) RETURN
|
|
C
|
|
IF(IAT.EQ.1) THEN
|
|
ISPEC=1
|
|
RETURN
|
|
ELSE
|
|
IF(ION.EQ.1) THEN
|
|
IF(ABS(ALAM-447.1).LT.0.5.AND.IHE1PR.GT.0) ISPEC=2
|
|
IF(ABS(ALAM-438.8).LT.0.2.AND.IHE1PR.GT.0) ISPEC=3
|
|
IF(ABS(ALAM-402.6).LT.0.2.AND.IHE1PR.GT.0) ISPEC=4
|
|
IF(ABS(ALAM-492.2).LT.0.2.AND.IHE1PR.GT.0) ISPEC=5
|
|
ELSE
|
|
C
|
|
IF(ALAM.LT.163..OR.ALAM.GT.1012.7) RETURN
|
|
IF(ALAM.LT.321.) THEN
|
|
IF(ABS(ALAM-164.0).LT.0.2.AND.IHE2PR.GT.0) ISPEC=6
|
|
IF(ABS(ALAM-320.3).LT.0.2.AND.IHE2PR.GT.0) ISPEC=7
|
|
IF(ABS(ALAM-273.3).LT.0.2.AND.IHE2PR.GT.0) ISPEC=8
|
|
IF(ABS(ALAM-251.1).LT.0.2.AND.IHE2PR.GT.0) ISPEC=9
|
|
IF(ABS(ALAM-238.5).LT.0.2.AND.IHE2PR.GT.0) ISPEC=10
|
|
IF(ABS(ALAM-230.6).LT.0.2.AND.IHE2PR.GT.0) ISPEC=11
|
|
IF(ABS(ALAM-225.3).LT.0.2.AND.IHE2PR.GT.0) ISPEC=12
|
|
ELSE IF(ALAM.LT.541.) THEN
|
|
IF(ALAM.LT.392.3) RETURN
|
|
IF(ABS(ALAM-468.6).LT.0.2.AND.IHE2PR.GT.0) ISPEC=13
|
|
IF(ABS(ALAM-485.9).LT.0.2.AND.IHE2PR.GT.0) ISPEC=14
|
|
IF(ABS(ALAM-454.2).LT.0.2.AND.IHE2PR.GT.0) ISPEC=15
|
|
IF(ABS(ALAM-433.9).LT.0.2.AND.IHE2PR.GT.0) ISPEC=16
|
|
IF(ABS(ALAM-420.0).LT.0.2.AND.IHE2PR.GT.0) ISPEC=17
|
|
IF(ABS(ALAM-410.0).LT.0.2.AND.IHE2PR.GT.0) ISPEC=18
|
|
IF(ABS(ALAM-402.6).LT.0.2.AND.IHE2PR.GT.0) ISPEC=19
|
|
IF(ABS(ALAM-396.8).LT.0.2.AND.IHE2PR.GT.0) ISPEC=20
|
|
IF(ABS(ALAM-392.3).LT.0.2.AND.IHE2PR.GT.0) ISPEC=21
|
|
ELSE
|
|
IF(ABS(ALAM-1012.4).LT.0.2.AND.IHE2PR.GT.0) ISPEC=22
|
|
IF(ABS(ALAM-656.0).LT.0.2.AND.IHE2PR.GT.0) ISPEC=23
|
|
IF(ABS(ALAM-541.2).LT.0.2.AND.IHE2PR.GT.0) ISPEC=24
|
|
END IF
|
|
END IF
|
|
END IF
|
|
RETURN
|
|
END
|