ADAS Subroutine bdxref
SUBROUTINE BDXREF( IUNIT , NDLEV , NDJLEV , NDPRT , & DSNSP , DSNBD , DSNSPO , & NTRM , NPTRM , NLVL , NPLVL , & ISTRM , IGTRM , ISPTRM , IGPTRM , & ISLVL , FSLVL , JTREF , & ISPLVL , FSPLVL , JTPREF , & LSJ , IERROR & ) C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: BDXREF ********************* C C PURPOSE: TO FETCH DATA FROM INPUT ADF18/A23_A04 CROSS-REFERENCE FILE. C C CALLING PROGRAM: ADAS213 C C C SUBROUTINE: C C INPUT : (I*4) IUNIT = UNIT TO WHICH INPUT FILE IS ALLOCATED C C INPUT : (I*4) NDLEV = MAX. NO. OF TERMS THAT CAN BE READ C INPUT : (I*4) NDJLEV = MAX. NO. OF LEVELS THAT CAN BE READ C INPUT : (I*4) NDPRT = MAX. NO. OF PARENT STATES C C OUTPUT: (C*80) DSNSP = INPUT ADF04 FILE NAME C OUTPUT: (C*80) DSNBD = ADF23 IONISATION DATA FILE NAME C OUTPUT: (C*80) DSNSP = OUTPUT ADF04 FILE NAME C C OUTPUT: (I*4) NTRM = NUMBER OF TERMS IN X-REF FILE. C OUTPUT: (I*4) NPTRM = NUMBER OF PARENT TERMS IN X-REF FILE. C OUTPUT: (I*4) NLVL = NUMBER OF LEVELS IN X-REF FILE. C OUTPUT: (I*4) NPLVL = NUMBER OF PARENT LEVELS IN X-REF FILE. C C OUTPUT: (I*4) ISTRM() = SPEC. ION FILE TERM INDEX FROM X-REF C 1ST.DIM.: TERM COUNTER IN X-REF FILE C OUTPUT: (I*4) IGTRM() = IONIS. FILE TERM INDEX FROM X-REF C 1ST.DIM.: TERM COUNTER IN X-REF FILE C OUTPUT: (I*4) ISPTRM() = SPEC. ION FILE PRNT. TERM INDEX FROM X-REF C 1ST.DIM.: PRNT. TERM COUNTER IN X-REF FILE C OUTPUT: (I*4) IGPTRM() = IONIS. FILE PRNT. TERM INDEX FROM X-REF C 1ST.DIM.: PRNT. TERM COUNTER IN X-REF FILE C OUTPUT: (I*4) ISLVL() = SPEC. ION FILE LEVEL INDEX FROM X-REF C 1ST.DIM.: LEVEL COUNTER IN X-REF FILE C OUTPUT: (I*4) JTREF() = SP. ION FILE TERM ASSOCIATED WITH LEVEL C FROM X-REF FILE. C 1ST.DIM.: LEVEL COUNTER IN X-REF FILE C OUTPUT: (I*4) ISPLVL() = SPEC. ION FILE PRNT. LEVEL INDEX FROM X-REF C 1ST.DIM.: PRNT. LEVEL COUNTER IN X-REF FILE C OUTPUT: (I*4) JTPREF() = SP. ION FILE PRNT. TERM ASSOCIATED WITH C PRNT. LEVEL FROM X-REF FILE. C 1ST.DIM.: LEVEL COUNTER IN X-REF FILE C OUTPUT: (I*4) ISPTRM() = SPEC. ION FILE PRNT. TERM INDEX FROM X-REF C 1ST.DIM.: PRNT. TERM COUNTER IN X-REF FILE C OUTPUT: (I*4) IGPTRM() = IONIS. FILE PRNT. TERM INDEX FROM X-REF C 1ST.DIM.: PRNT. TERM COUNTER IN X-REF FILE C C OUTPUT: (R*8) FSLVL() = FRACTIONATION OF TERM RATES AMONG LEVELS C 1ST.DIM.: LEVEL COUNTER IN X-REF FILE C OUTPUT: (R*8) FSPLVL() = FRACTIONATION OF PRNT. TERM RATES AMONG C PRNT. LEVELS C 1ST.DIM.: LEVEL COUNTER IN X-REF FILE C OUTPUT: (L*4) LSJ = .TRUE. => J-RESOL. INFO. IN X-REF FILE C .FALSE.=> NO J-RESOL. IN X-REF FILE C OUTPUT: (I*4) IERROR = 0 => X-REF FILE OK C 1 => FAULT IN XREF FILE DATASETS C 2 => FAULT IN XREF FILE TERM COUNT C 3 => FAULT IN XREF FILE LEVEL COUNT C C (C*18) C18 = GENERAL CHARACTER STRING C C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ------------------------------------------------------------- C I4UNIT ADAS FETCH UNIT NUMBER FOR OUTPUT OF MESSAGES C XXFLNM ADAS CONVERT SHORT FILE NAME TO FULL NAME C C AUTHOR: H. P. SUMMERS, UNIVERSITY OF STRATHCLYDE C JA8.08 C TEL. 0141-553-4196 C C DATE: 02/04/98 C C UPDATE: C C VERSION: 1.1 DATE: 23-06-98 C MODIFIED: HUGH SUMMERS C FIRST VERSION. C C----------------------------------------------------------------------- C----------------------------------------------------------------------- CHARACTER*80 DSNBD, DSNSP, DSNSPO INTEGER IERROR, IGPTRM(NDPRT) INTEGER IGTRM(NDLEV), ISLVL(NDJLEV) INTEGER ISPLVL(NDPRT), ISPTRM(NDPRT) INTEGER ISTRM(NDLEV), IUNIT INTEGER JTPREF(NDPRT), JTREF(NDJLEV) INTEGER NDJLEV, NDLEV, NDPRT, NLVL INTEGER NPLVL, NPTRM, NTRM LOGICAL LSJ REAL*8 FSLVL(NDJLEV), FSPLVL(NDPRT)