ADAS Subroutine b8getp
C
SUBROUTINE B8GETP(
& IZ0 , IZ1 , DSNEXP, DSNSPF ,
& NDLEV , NDMETI , NDTEMI , NDDENI ,
& MAXD , MAXT , DENSA , TEA ,
& LPDATA , LIOSEL , LRSEL , LHSEL ,
& IL , ITIN , IDIN ,
& PCC , PCIE , PCIEPR , PV3PR ,
& PVCRPR , PVECR , IUNT27 , OPEN27 ,
& PR
& )
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: B8GETP *********************
C
C PURPOSE: TO FETCH DATA FROM EXPANSION FILE AND CONDENSED BUNDLE-N
C MATRIX FILE AND COMBINE WITH COLLISIONAL-RADIATIVE
C DATA FOR IN THE LOW LEVEL POPULATION SOLUTION.
C
C CALLING PROGRAM: ADAS208
C
C DATA:
C
C SUBROUTINE:
C
C INPUT : (I*4) IZ0 = NUCLEAR CHARGE
C INPUT : (I*4) IZ1 = ION CHARGE+1 (=CHARGE OF PARENT)
C INPUT : (C*80) DSNEXP = FULL NAME OF EXPANSION FILE INCLUDING '/UID'
C INPUT : (C*80) DSNSPF = FULL NAME OF SPEC. ION FILE READ IN MAIN
C PROGRAM INCLUDING '/UID'
C INPUT : (I*4) NDLEV = MAX. NUMBER OF ENERGY LEVELS ALLOWED
C IN MAIN PROGRAM
C INPUT : (I*4) NDMETI = MAX. NUMBER OF METASTABLE LEVELS ALLOWED
C IN MAIN PROGRAM
C INPUT : (I*4) NDTEMI = MAX. NUMBER OF TEMPERATURES ALLOWED
C IN MAIN PROGRAM
C INPUT : (I*4) NDDENI = MAX. NUMBER OF DENSITIES ALLOWED
C IN MAIN PROGRAM
C INPUT : (I*4) MAXD = NUMBER OF DENSITIES IN MAIN PROGRAM
C INPUT : (I*4) MAXT = NUMBER OF TEMPERATURES IN MAIN PROGRAM
C INPUT : (R*8) DENSA() = SET OF DENSITIES (CM-3) IN MAIN PROGRAM
C INPUT : (R*8) TEA() = SET OF TEMPERATURES (K) IN MAIN PROGRAM
C INPUT : (L*4) LPDATA = .TRUE. - EXPANSION DATA EXISTS AND IS SET
C .FALSE.- NO EXPANSION DATA OR NOT SET
C INPUT : (L*4) LIOSEL = .TRUE. - INCLUDE DIRECT IONISATION ON OUTPUT
C .FALSE.- DO NOT INCLUDE
C INPUT : (L*4) LHSEL = .TRUE. - INCLUDE ELECTRON RECOM ON OUTPUT
C .FALSE.- DO NOT INCLUDE
C INPUT : (L*4) LRSEL = .TRUE. - INCLUDE CHARGE EXCHANGE ON OUTPUT
C .FALSE.- DO NOT INCLUDE
C INPUT : (I*4) IL = INPUT COPASE FILE - NUMBER OF ENERGY LEVELS
C INPUT : (I*4) ITIN = INDEX OF REQUIRED TEMPERATURE IN TEA() SET
C INPUT : (I*4) IDIN = INDEX OF REQUIRED DENSITY IN DENSA() SET
C
C INPUT : (I*4) IUNT27 = UNIT FOR PAPER.TEXT OUTPUT
C INPUT : (L*4) OPEN27 = .TRUE. - PAPER.TEXT HAS BEEN OPENED
C .FALSE.- PAPER.TEXT HAS NOT BEEN OPENED
C
C OUTPUT: (R*8) PCC(,) = PROJETED COLL. RAD. LOW LEVEL MATRIX
C 1ST DIM: ENERGY LEVEL INDEX
C 2ND DIM: ENERGY LEVEL INDEX
C OUTPUT: (R*8) PCIE() = PROJECTED COLL. RAD. ION. COEFFT. VECTOR
C 1ST DIM: ENERGY LEVEL INDEX
C OUTPUT: (R*8) PCIEPR(,)=PROJECTED PARENT RESOLVED COLL. RAD. ION
C MATRIX
C 1ST DIM: ENERGY LEVEL INDEX
C 2ND DIM: PARENT INDEX
C OUTPUT: (R*8) PV3PR(,)= DIRECT PARENT RESOLVED THREE
C BODY RECOMB. COEFFT MATRIX
C 1ST DIM: ENERGY LEVEL INDEX
C 2ND DIM: PARENT INDEX
C UNITS : CM3S-1
C OUTPUT: (R*8) PVECR(,)= PROJECTED PARENT RESOLVED COLL. RAD.
C RECOMB. COEFFT MATRIX ( RR + DR + 3B )
C 1ST DIM: ENERGY LEVEL INDEX
C 2ND DIM: PARENT INDEX
C UNITS : CM3S-1
C OUTPUT: (R*8) PR( ,,) = RECOM/BREMS. COEFFT (ERG S-1)
C 1ST DIM: PARENT INDEX
C 2ND DIM: TEMPERATURE INDEX
C 3RD DIM: DENSITY INDEX
C
C
C (C*80) DSNCPM = FULL NAME OF COND.MAT. FILE INCLUDING '/UID'
C EXPANDED IF NECESSARY FROM SYMBOLIC FILENAME
C IN NAMELIST IN EXPANSION FILE
C (C*80) DSNREF = FULL NAME OF SPEC. ION FILE INCLUDING '/UID'
C EXPANDED IF NECESSARY FROM SYMBOLIC FILENAME
C IN NAMELIST IN EXPANSION FILE
C (C*80) DSHORT = TEMPORARY STRING
C (C*11) PTSYMA()= PARENT SYMMETRY (2SP+1 LP) AS CHARACTERS
C 1ST DIMENSION: PARENT INDEX
C (I*4) NPTSPA()= PARENT SPIN (2SP+1)
C 1ST DIMENSION: PARENT INDEX
C (I*4) NSPSYS()= NO. OF SPIN SYSTEMS ASSOCIATED WITH PARENT
C 1ST DIMENSION: PARENT INDEX
C (I*4) NCUTP() = N-SHELL CUT-OFF ASSOCIATED WITH AUGER
C PROCESSES FOR THE PARENT
C 1ST DIMENSION: PARENT INDEX
C (R*8) DEPA() = BINDING ENERGY (RYD) OF LOWEST AUGER
C N-SHELL FOR THE PARENT
C 1ST DIMENSION: PARENT INDEX
C (I*4) NSHEL = NUMBER OF N-SHELLS INVOLVED IN EXPANSION
C (I*4) NSHELA()= N-SHELLS INVOLVED IN THE EXPANSION
C 1ST DIMENSION: SHELL INDEX (<= NSHEL)
C (I*4) NSPIN = NUMBER OF SPIN SYSTEMS FOR CURRENT PARENT
C (I*4) NSPNA(,)= SPIN OF SYSTEM (2S+1)
C 1ST DIMENSION: SPIN SYSTEM INDEX
C 2ND DIMENSION: PARENT INDEX
C (I*4) NLWSTA(,)= LOWEST N-SHELL INCLUDED FOR THE SPIN SYSTEM
C 1ST DIMENSION: SPIN SYSTEM INDEX
C 2ND DIMENSION: PARENT INDEX
C (R*8) PLWSTA(,)= PHASE SPACE OCCUPANCY FACTOR FOR LOWEST
C N-SHELL FOR SPIN SYSTEM
C 1ST DIMENSION: SPIN SYSTEM INDEX
C 2ND DIMENSION: PARENT INDEX
C (R*8) FLWSTA(,)= FRACTIONAL PARENTAGE (EQUIV. ELECTRONS) FOR
C FOR IONISATION FROM LOWEST LEVEL OF
C SPIN SYSTEM
C 1ST DIMENSION: SPIN SYSTEM INDEX
C 2ND DIMENSION: PARENT INDEX
C (R*8) FRACPRT = TEMP. STORE OF FRACTIONAL PARENTAGE
C (I*4) INDA() = LEVEL INDEX WITH RESPECT TO SPEC. ION FILE
C 1ST DIMENSION: COUNTER OVER EXP. RECORDS
C (C*11) LVSYMA()= LEVEL SYMMETRY AND ADDITIONAL INFO.ON CONFIG
C 1ST DIMENSION: COUNTER OVER EXP. RECORDS
C (I*4) LSZDA() = SZD FILE SELECTOR FOR RECORD (IF REQUIRED)
C 1ST DIMENSION: COUNTER OVER EXP. RECORDS
C (I*4) LSPA() = SPIN SYSTEM (2S+1) FOR RECORD
C 1ST DIMENSION: COUNTER OVER EXP. RECORDS
C (I*4) LSHA() = ACTIVE N SHELL FOR RECORD
C 1ST DIMENSION: COUNTER OVER EXP. RECORDS
C (I*4) LPTA() = PARENT INDEX FOR RECORD
C 1ST DIMENSION: COUNTER OVER EXP. RECORDS
C (R*8) WGHTA(,)= WEIGHTING FOR EXPANSION FOR RECORD
C 1ST DIMENSION: COUNTER OVER EXP RECORDS
C 2ND DIMENSION: NSHELL INDEX
C (I*4) NMET = NUMBER OF '*' LEVELS COUNTED
C (NB. USE ONLY ONCE FOR A GIVEN LEVEL
C EVEN THOUGH ANOTHER RECORD FOR THE
C LEVEL MAY EXIST)
C (I*4) IMETR() = LEVEL INDEX OF METASTABLES '*'ED
C 1ST DIMENSION: METASTABLE COUNTER(<=NMET)
C (C*250)LSTRNG = COND. BUNDLE-N. MATRIX (CBNM) FILE RECORD
C (C*2) SEQM = SEQUENCE IDENTIFIER GIVEN ON CBNM FILE
C (I*4) NUCGM = NUCLEAR CHARGE GIVEN ON CBNM FILE
C (I*4) NPRTM = NO. OF PARENTS GIVEN ON CBNM FILE
C (I*4) MAXDM = NO. OF DENSITIES GIVEN ON CBNM FILE
C (I*4) MAXTM = NO. OF TEMPERATURES GIVEN ON CBNM FILE
C (I*4) IPRT = PARENT INDEX
C (I*4) IPRTM = PARENT INDEX IN CBNM FILE
C (C*4) TRMPM = PARENT TERM SPECIFICATION AS (2SP+1LP)
C (I*4) SPNPM = PARENT SPIN (2SP+1)
C (I*4) ISYSM = SPIN SYSTEM INDEX IN CBNM FILE
C (I*4) SSYSM(,)= SPIN SYSTEM IN CBNM FILE
C 1ST DIM.: PARENT INDEX (<=NDMET)
C 2ND DIM.: SPIN SYSTEM INDEX (<=2)
C (I*4) NSYSM() = NO OF SPIN SYSTEM IN CBNM FILE FOR PARENT
C 1ST DIM.: PARENT INDEX (<=NDMET)
C (I*4) NSHLM(,)= NO. OF N-SHELLS IN CBNM FILE
C 1ST. DIM.: PARENT INDEX (<=NDMET)
C 2ND. DIM.: SPIN SYSTEM INDEX (<=2)
C (R*8) DENSM() = ELECTRON DENSITIES (CM-3) ON CBNM FILE
C 1ST DIMENSION: DENSITY INDEX (<=NDMAX)
C (R*8) TEM() = ELECTRON TEMPS. (K) ON CBNM FILE
C 1ST DIMENSION: TEMP. INDEX (<=NTMAX)
C (R*8) PCRMAT(,,,,,)=PROJECTED COLLISIONAL-RADIATIVE MATRIX
C IN P-REPRESENTATION WITHOUT ELIMINATIONS
C 1ST DIM.: TEMPERATURE INDEX
C 2ND DIM.: DENSITY INDEX
C 3RD DIM.: ROW INDEX
C 4TH DIM.: COLUMN INDEX
C 5TH DIM.: PARENT INDEX
C 6TH DIM.: SPIN SYSTEM INDEX
C (R*8) PIOMAT(,,,,,)=PROJECTED COLLISIONAL-RADIATIVE IONIS.
C MATRIX TO RESOLVED + METASTABLES
C IN P-REPRESENTATION WITHOUT ELIMINATIONS
C 1ST DIM.: TEMPERATURE INDEX
C 2ND DIM.: DENSITY INDEX
C 3RD DIM.: ROW INDEX
C 4TH DIM.: COLUMN INDEX (+ METASTABLES)
C 5TH DIM.: PARENT INDEX
C 6TH DIM.: SPIN SYSTEM INDEX
C (R*8) PQPIND(,,,,,)=PROJECTED INDIRECT PARENT CQ COEFFICIENT
C MATRIX FROM SPECIFIC PARENT, SPIN TO
C FINAL PARENT IN PN REPRESENTATION
C 1ST DIM.: TEMPERATURE INDEX
C 2ND DIM.: DENSITY INDEX
C 3TH DIM.: FINAL PARENT INDEX
C 4TH DIM.: INITIAL PARENT INDEX
C 5TH DIM.: SPIN SYSTEM INDEX
C (R*8) PVCRPR(,,) =PROJECTED INDIRECT PARENT CQ COEFFICIENT
C MATRIX FROM SPECIFIC PARENT TO
C FINAL PARENT IN PN REPRESENTATION
C SUMMED OVER SPIN SYSTEMS
C 1ST DIM.: FINAL PARENT INDEX
C 2ND DIM.: INITIAL PARENT INDEX
C (R*8) PCRRHS(,,,,)= PROJECTED COLLISIONAL-RADIATIVE RECOM.
C RHS. FROM A SPECIFIED PARENT AND IN
C A SPECIFIED SPIN SYSTEM
C IN P-REPRESENTATION WITHOUT ELIMINATIONS
C 1ST DIM.: TEMPERATURE INDEX
C 2ND DIM.: DENSITY INDEX
C 3RD DIM.: ROW INDEX
C 5TH DIM.: PARENT INDEX
C 6TH DIM.: SPIN SYSTEM INDEX
C (R*8) PRB(,,,) = RECOM/BREMS. COEFFT (
C 1ST DIM: TEMPERATURE INDEX
C 2ND DIM: DENSITY INDEX
C 3RD DIM: PARENT INDEX
C 4TH DIM: SPIN SYSTEM INDEX
C (R*8) DCRMAT(,,,) = DIRECT COLLISIONAL-RADIATIVE MATRIX
C IN P-REPRESENTATION FOR LOW N-SHELLS
C 1ST DIM.: TEMPERATURE INDEX
C 2ND DIM.: DENSITY INDEX
C 3RD DIM.: ROW INDEX
C 4TH DIM.: COLUMN INDEX
C (R*8) DIOMAT(,,,) = DIRECT COLLISIONAL-RADIATIVE IONIS.
C MATRIX TO RESOLVED + METASTABLES
C IN P-REPRESENTATION FOR LOW N-SHELLS
C 1ST DIM.: TEMPERATURE INDEX
C 2ND DIM.: DENSITY INDEX
C 3RD DIM.: ROW INDEX
C 4TH DIM.: COLUMN INDEX (+ METASTABLES)
C (R*8) DTREC(,) = DIRECT THREE-BODY RECOMBINATION COEFFTS.
C FROM A SPECIFIED PARENT AND IN A
C SPECIFIED SPIN SYSTEM
C 1ST DIM.: TEMPERATURE INDEX
C 2ND DIM.: ROW INDEX
C (R*8) DDREC(,) = DIRECT DIELECTR. RECOMBINATION COEFFTS.
C FROM A SPECIFIED PARENT AND IN A
C SPECIFIED SPIN SYSTEM
C 1ST DIM.: TEMPERATURE INDEX
C 2ND DIM.: ROW INDEX
C (R*8) DRREC(,) = DIRECT RADIATIVE RECOMBINATION COEFFTS.
C FROM A SPECIFIED PARENT AND IN A
C SPECIFIED SPIN SYSTEM
C 1ST DIM.: TEMPERATURE INDEX
C 2ND DIM.: ROW INDEX
C (R*8) DXREC(,) = DIRECT CH. EXCH. RECOMBINATION COEFFTS.
C FROM A SPECIFIED PARENT AND IN A
C SPECIFIED SPIN SYSTEM DUE TO H(1S)
C 1ST DIM.: TEMPERATURE INDEX
C 2ND DIM.: ROW INDEX
C (I*4) NM() = LOW N-SHELLS FOR PARENT SPIN SYSTEM
C COMBINATION
C 1ST. DIM.: N-SHELL INDEX
C (I*4) NSUP(,) = HIGHEST N-SHELL REQUIRED FOR EXPANSION
C FOR THE PARENT AND SPIN SYSTEM
C 1ST. DIM.: PARENT INDEX
C 2ND. DIM.: SPIN SYSTEM INDEX
C (I*4) ISPIN = GENERAL INDEX
C (I*4) IPT = GENERAL INDEX
C (I*4) JPT = GENERAL INDEX
C (I*4) I = GENERAL INDEX
C (I*4) J = GENERAL INDEX
C (I*4) II = GENERAL INDEX
C (I*4) JJ = GENERAL INDEX
C (I*4) IR = GENERAL INDEX
C (I*4) IC = GENERAL INDEX
C (I*4) IS = GENERAL INDEX
C (I*4) KI = GENERAL INDEX
C (I*4) KJ = GENERAL INDEX
C (I*4) IN = DENSITY INDEX
C (I*4) IT = TEMPERATURE INDEX
C (I*4) NUP = UPPER N-SHELL FOR CURRENT EXPANSION
C (I*4) IMAX = NO. OF SHELLS REQUIRED IN EXPANSION
C (L*4) LSOLVE = .TRUE. -INVERSION WITH SOLN. OF EQUATIONS
C = .FALSE. -INVERSION ONLY
C (R*8) AMAT(,) = TEMPORARY ARRAY FOR INVERTING
C (R*8) BRHS() = TEMPORARY R.H.S FOR EQUATION SOLUTION
C (R*8) DINTX = + OR - DEPENDING ON INTERCHANGES IN
C INVERSION SUBROUTINE XXMINV
C (R*8) PCRTMP(,) = TEMPORARY PROJECTED COLL. RAD. MATRIX
C TO BE CONDENSED TO PCRMAT
C (R*8) DCRTMP(,) = TEMPORARY DIRECT COLL. RAD. MATRIX
C TO BE CONDENSED TO DCRMAT
C (R*8) PIOTMP(,) = TEMPORARY PROJECTED IONIS. MATRIX
C TO BE CONDENSED TO PIOMAT
C (R*8) PRHTMP(,) = TEMPORARY PROJECTED R.H.S. VECTOR
C TO BE CONDENSED TO PCRRHS
C (R*8) PQPTMP() = TEMPORARY INDIRECT PARENT QC COEFFICIENT
C TO BE CONDENSED TO PQPIND
C 1ST INDEX - FINAL PARENT
C (R*8) SUM = GENERAL USE FOR SUMMING
C (R*8) Z0 = NUCLEAR CHARGE
C (R*8) Z1 = ION CHARGE+1 (=CHARGE OF PARENT)
C (R*8) SSYSWT = FRACTIONAL WEIGHTING OF SPIN SYSTEM
C FOR PARTICULAR PARENT TO BE USED IF
C RECOMBINATION COEFFICIENTS ARE GIVEN IN
C THE MULTIPLIED UP FORM.
C (L*4) LTRNG() = .TRUE. - OUTPUT VALUE WAS EXTRAPOLATED
C FOR TEMPERATURE
C .FALSE. - OUTPUT VALUE NOT EXTRAPOLATED
C (L*4) LDRNG() = .TRUE. - OUTPUT VALUE WAS EXTRAPOLATED
C FOR DENSITY
C .FALSE. - OUTPUT VALUE NOT EXTRAPOLATED
C (I*4) IUP = NUP-NM(1)+1
C (R*8) V = TEMPORARY REAL NUMBER
C (R*8) ARRIN(,) = TEMPORARY ARRAY FOR INPUT TO SPLINING
C (R*8) ARROUT(,) = TEMPORARY ARRAY FOR IOUTPUT FROM SPLINING
C (R*8) TEMIN = MINIMUM TEMPERATURE BELOW WHICH COEFFT.
C SHOULD BE SET TO ZERO
C (R*8) DEMIN = MINIMUM DENSITY BELOW WHICH COEFFT.
C SHOULD BE SET TO ZERO
C (R*8) DETMP = TEMPORARY VALUE OF DEMIN
C (R*8) TETMP = TEMPORARY VALUE OF TEMIN
C SHOULD BE SET TO ZERO
C (I*4) IUPA(,) = DIMENSION OF FINAL CONDENSED N-SHELL
C MATRIX
C 1ST DIM: PARENT INDEX
C 2ND DIM: SPIN SYSTEM INDEX
C C (I*4) IPOINTA() = POINTER TO INDEX OF N-SHELL IN NSHEL
C C LIST
C C 1ST DIM: N=PRINCIPAL QUANTUM NUMBER
C
C (I*4) IEDMAT = 0 PCRL ADDED ONTO PCRMAT
C 1 PCRL NOT ADDED ON
C (I*4) IECION = 0 PCION ADDED ONTO TO PCRMAT
C PCIONRI ADDED ONTO PCIONRP
C 1 PCION NOT ADDED ON
C PCIONRI NOT ADDED ON
C (I*4) IETREC = 0 PTREC ADDED ONTO PCRRHS
C 1 PTREC NOT ADDED ON
C (I*4) IEDREC = 0 PDREC ADDED ONTO PCRRHS
C 1 PDREC NOT ADDED ON
C (I*4) IERREC = 0 PRREC ADDED ONTO PCRRHS
C 1 PRREC NOT ADDED ON
C (I*4) IEXREC = 0 PXREC ADDED ONTO PCRRHS
C 1 PXREC NOT ADDED ON
C (I*4) IERSYS = 0 RECOMBINATION RATES MULTIPLIED
C BY SPIN SYSTEM WEIGHT
C 1 RECOMBINATION RATES NOT MULTIPLIED
C BY SSYSWT
C
C ROUTINES: NONE
C
C STREAM HANDLING :
C 7 OUTPUT (PAPER.TEXT)
C 14 EXPANSION FILE
C 15 CONDENSED MATRIX MASTER FILE
C
C AUTHOR: HP SUMMERS
C K1/1/57
C JET EXT. 4941
C
C DATE: 18/08/92
C
C-----------------------------------------------------------------------
C
C UPDATE: WJ DICKSON
C K1/1/26
C
C DATE: JANUARY 1993
C
C NUMEROUS ADJUSTMENTS AND UPDATES
C
C-----------------------------------------------------------------------
C
C UPDATE: WJ DICKSON
C K1/1/26
C
C DATE: 12TH AUGUST 1993
C
C INCLUSION OF VARIABLES IEFPRS AND IEFPRE AND CORRESPONDING
C ADJUSTMENTS TO DIO , PCR AND PIO MATRICES. FRACTIONAL
C PARENTAGE COEFFICIENTS AS GIVEN BY EXPANSION FILE
C ( VARIABLE FLWSTA )
C
C (I*4) IEFPRS = 0 GROUND STATE IONISATION RATE COEFFICIENTS
C HAVE BEEN MULTIPLYIED BY FRACTIONAL
C PARENTAGE COEFFICIENT IN MAINBNS
C 1 GROUND STATE IONISATION RATE COEFFICIENTS
C HAVE NOT BEEN MULTIPLYIED BY FRACTIONAL
C PARENTAGE COEFFICIENT IN MAINBNS
C
C (I*4) IEFPRE = 0 ELEMENTS OF MAIN C-R MATRIX ARISING
C FROM GROUND STATE
C HAVE BEEN MULTIPLYIED BY FRACTIONAL
C PARENTAGE COEFFICIENT IN MAINBNS
C 1 ELEMENTS OF MAIN C-R MATRIX ARISING
C FROM GROUND STATE
C HAVE NOT BEEN MULTIPLYIED BY FRACTIONAL
C PARENTAGE COEFFICIENT IN MAINBNS
C
C UNIX-IDL PORT:
C
C DATE: UNKNOWN
C
C AUTHOR: DAVID H BROOKS, UNIVERSITY OF STRATHCLYDE
C
C UPDATE: 29/03/96 HPS - INCREASE PARAMETER SETTINGS NDTEM: 20->35
C NDDEN: 20->24
C
C UPDATE: 18/04/96 HPS - ALTER FORMAT 2008 FOR READING TEMPS. AND
C DENS. FROM CBNM FILE FOR CONSISTENCY WITH
C NEW PRODUCTION VERSION OF ADAS204
C UPDATE: 18/04/96 HPS - ALTER B8SPLNX TO B8SPLN IN 2ND AND 3RD
C CALLS IN THE SUBROUTINE
C UPDATE: 03/05/96 DHB - ALTERED IBM SPECIFIC STATEMENTS. INCREASED
C SIZE OF DSNINC & DSNSPF TO 80.
C UPDATE: 09/03/98 HPS - ADDED PR TO PARAMETER LIST. PREPARED FROM PRB
C FROM PROJECTION MATRIX FILE BY INTERPOLATION.
C CORRECTED PB TO INCLUDE SUM OVER SPIN SYSTEMS
C***********************************************************************
C PUT UNDER SCCS CONTROL:
C
C DATE: 10-05-96
C
C VERSION: 1.1 DATE: 10-05-96
C MODIFIED: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC)
C - FIRST PUT UNDER SCCS
C
C VERSION: 1.2
C MODIFIED: WILLIAM OSBORN DATE: 13-05-96
C - ADDED IUNT27 AND OPEN27 TO ALLOW PAPER.TEXT OUTPUT
C
C VERSION: 1.3
C MODIFIED: WILLIAM OSBORN + HPS DATE: 28-05-96
C - ADDED CALL TO XXFLNM TO EXPAND FILENAMES
C
C VERSION: 1.4
C MODIFIED: TIM HAMMOND DATE: 02-08-96
C - CHANGED NAME OF VARIABLE DINT TO DINTX AS DINT IS THE
C NAME OF AN INTRINSIC FUNCTION ON HP WORKSTATIONS
C
C VERSION: 1.5
C MODIFIED: RICHARD MARTIN DATE: 02-03-98
C - CHANGED IUNT7 TO IUNT27 AND OPEN7 TO OPEN27.
C
C VERSION: 1.6
C MODIFIED: HUGH SUMMERS DATE: 09-03-98
C - ADDED PR TO PARAMETER LIST. PREPARED FROM PRB
C FROM PROJECTION MATRIX FILE BY INTERPOLATION.
C CORRECTED PB TO INCLUDE SUM OVER SPIN SYSTEMS
C
C VERSION: 1.7 DATE: 2/09/99
C MODIFIED: Martin O'Mullane
C - Format error in 2020. Skip 70X not 80X.
C
C VERSION: 1.8 DATE: 26/10/99
C MODIFIED: Martin O'Mullane
C - Added call to b8splt to correct for odd behaviour
C at low ne high Te recombination data.
C
C VERSION: 1.9 DATE: 08/12/99
C MODIFIED: Martin O'Mullane
C - Added check for expansion data which did not have any
C weighting factors. Only proceed if LPTA is non zero.
C It is the do 56 loop.
C - The assumption that variables are saved between calls
C should not be made (Linux again). Anyway it's bad
C practice. Data required when called with LPDATA true
C is now saved.
C
C VERSION: 1.10 DATE: 13/02/2006
C MODIFIED: Martin O'Mullane
C - Increase number of levels to 150.
C - Write status of projection to screen.
C - Index error in FLWSTA corrected.
C
C-----------------------------------------------------------------------
CHARACTER*80 DSNEXP, DSNSPF
INTEGER IDIN, IL, ITIN, IUNT27
INTEGER IZ0, IZ1, MAXD, MAXT
INTEGER NDDENI, NDLEV, NDMETI, NDTEMI
LOGICAL LHSEL, LIOSEL, LPDATA, LRSEL
LOGICAL OPEN27
REAL*8 DENSA(NDDENI), PCC(NDLEV,NDLEV)
REAL*8 PCIE(NDLEV), PCIEPR(NDLEV,NDMETI)
REAL*8 PR(NDMETI,NDTEMI,NDDENI), PV3PR(NDLEV,NDMETI)
REAL*8 PVCRPR(NDMETI,NDMETI), PVECR(NDLEV,NDMETI)
REAL*8 TEA(NDTEMI)