65 lines
1.8 KiB
Fortran
65 lines
1.8 KiB
Fortran
SUBROUTINE HYLSET
|
|
C =================
|
|
C
|
|
C Initialization procedure for treating the hydrogen line opacity
|
|
C
|
|
INCLUDE 'PARAMS.FOR'
|
|
INCLUDE 'SYNTHP.FOR'
|
|
DIMENSION ALB(15)
|
|
DATA ALB /656.28,486.13,434.05,410.17,397.01,
|
|
* 388.91,383.54,379.79,377.06,375.02,
|
|
* 373.44,372.19,371.20,370.39,369.72/
|
|
C
|
|
C IHYL=-1 - hydrogen lines are excluded a priori
|
|
C
|
|
IHYL=-1
|
|
if(iath.le.0) return
|
|
IF(FREQ(2).GE.3.28805E15) RETURN
|
|
AL0=2.997925E17/FREQ(1)
|
|
AL1=2.997925E17/FREQ(2)
|
|
IF(AL0.GT.200..AND.AL1.LT.364.6) RETURN
|
|
IF(AL0.GT.560..AND.AL1.LT.580.) RETURN
|
|
IF(AL0.GT.720..AND.AL1.LT.820.3) RETURN
|
|
C
|
|
C otherwise, hydrogen lines are included
|
|
C
|
|
IHYL=0
|
|
M20=40
|
|
IF(AL1.LT.364.6) THEN
|
|
ILOWH=1
|
|
FRION=3.28805E15
|
|
M10=int(SQRT(3.28805E15/ABS(FRION-FREQ(2))))
|
|
IF(FRION.GT.FREQ(1)) M20=int(SQRT(3.28805E15/(FRION-FREQ(1))))
|
|
IHYL=1
|
|
IF(AL0.GT.123.) IHYL=0
|
|
IF(AL0.GT.104..AND.AL1.LT.120.) IHYL=0
|
|
IF(AL0.GT.98.5.AND.AL1.LT.102.) IHYL=0
|
|
IF(IMODE.EQ.2.OR.IHYDPR.NE.0.OR.GRAV.GE.6.) IHYL=1
|
|
ELSE IF(AL1.LT.820.) THEN
|
|
ILOWH=2
|
|
if(vaclim.lt.3600.) then
|
|
FRION=8.2225E14
|
|
M10=int(SQRT(3.289017E15/ABS(FRION-FREQ(2))))
|
|
else
|
|
FRION=8.22013E14
|
|
M10=int(SQRT(3.28805E15/ABS(FRION-FREQ(2))))
|
|
end if
|
|
IF(FRION.GT.FREQ(1)) M20=int(SQRT(3.289017E15/(FRION-FREQ(1))))
|
|
DO 10 I=1,15
|
|
AL=ALB(I)
|
|
IF(AL.LT.AL0-1..OR.AL.GT.AL1+1.) GO TO 10
|
|
IHYL=1
|
|
GO TO 20
|
|
10 CONTINUE
|
|
20 CONTINUE
|
|
IF(IMODE.EQ.2.OR.IHYDPR.NE.0.OR.GRAV.GE.6.) IHYL=1
|
|
ELSE
|
|
ILOWH=3
|
|
IHYL=1
|
|
END IF
|
|
c
|
|
ihyl=1
|
|
c
|
|
RETURN
|
|
END
|