SpectraRust/synspec/extracted/crosew.f
2026-03-19 14:05:33 +08:00

34 lines
780 B
Fortran

SUBROUTINE CROSEW(CROSS)
C
C SET UP COMMON/PHOPAR/ - PHOTOIONIZATION CROSS-SECTIONS
C
INCLUDE 'PARAMS.FOR'
INCLUDE 'SYNTHP.FOR'
INCLUDE 'WINCOM.FOR'
DIMENSION CROSS(MCROSS,MFRQ)
common/dissol/fropc(mlevel),indexp(mlevel)
C
IJ0=NFREQC
DO IJ=1,IJ0
DO IT=1,MCROSS
CROSS(IT,IJ)=0.
END DO
END DO
DO IT=1,NLEVEL
IF(INDEXP(IT).NE.5) THEN
DO IJ=1,IJ0
FR=FREQC(IJ)
CROSS(IT,IJ)=SIGK(FR,IT,0)
END DO
ELSE
DO IJ=1,IJ0
FR=FREQC(IJ)
CROSS(IT,IJ)=SIGK(FR,IT,1)
IF(FR.LT.FROPC(IT)) CROSS(IT,IJ)=0.
END DO
END IF
END DO
C
RETURN
END