ADAS Subroutine a1data
SUBROUTINE A1DATA( DSFULL , INDXREF , TITLE , CAMETH , Z0 ,
& Z , ZEFF , INDL , INDU , EI ,
& EJ , WI , WJ , ACOEFF , S ,
& FIJ , EIJ , IXTYP , FXC2 , FXC3 ,
& IXOPS , IBPTS , IFPTS , IDIFF , ICT ,
& ITOUT , XA , YA , APOMA , DIFOMA , TOA ,
& GOA , APGOA , EXCRA , DEXCRA , GBARFA,
& ISTDIM , IREAD , IZ , IZ0 , GF ,
& BCVAL
& )
C-----------------------------------------------------------------------
C
C ********************* FORTRAN77 SUBROUTINE A1DATA *******************
C
C PURPOSE: TO REFRESH A DATA INDEX FROM AN ADAS101 ARCHIVE. READS
C IN THE INDEX CODE A-ADAS, B-BURGESS AND THE THE REST OF
C THE DATA AS APPROPRIATE.
C
C CALLING PROGRAM:
C ADAS101.FOR
C
C INPUT:
C (C*80) DSFULL - THE USERS' CHOSEN ARCHIVE FILE NAME.
C (I*4) INDXREF - THE INDEX NUMBER TO REFRESH FROM.
C (C*40) TITLE - THE INFORMATION LINE IN THE ARCHIVE
C FILE.
C (C*4) CAMETH - THE TAG TO DISTINGUISH BETWEEN THE
C TWO TYPES OF ANALYSIS.
C A - ADAS, B- BURGESS
C (R*8) GF - THE WEIGHTED OSCILLATOR STRENGTH
C (R*8) BCVAL - THE BURGESS SCALABLE PARAMETER C.
C (I*4) ISTDIM = THE MAXIMUM ARRAY DIMENSION
C (I*4) IREAD = THE INPUT UNIT
C
C OUTPUTS:
C (R*8) Z0 = NUCLEAR CHARGE OF ION
C (R*8) Z = ION CHARGE
C (R*8) ZEFF = ION CHARGE + 1
C (I*4) INDL = LOWER LEVEL INDEX (USER CHOICE)
C (I*4) INDU = UPPER LEVEL INDEX (USER CHOICE)
C (R*8) WI = LOWER LEVEL STATISTICAL WEIGHT
C (R*8) WJ = UPPER LEVEL STATISTICAL WEIGHT
C (R*8) EI = LOWER LEVEL ENERGY (IN SELECTED UNITS)
C (R*8) EJ = UPPER LEVEL ENERGY
C (R*8) ACOEFF = TRANSITION PROBABILITY (IN ABOVE FORM,
C DIPOLE CASE ONLY)
C (I*4) IXTYP = 1 DIPOLE TRANSITION
C = 2 NON-DIPOLE TRANSITION
C = 3 SPIN CHANGE TRANSITION
C = 4 OTHER
C (I*4) IBPTS = 0 BAD POINT OPTION OFF
C = 1 BAD POINT OPTION ON
C (I*4) IFPTS = 1 SELECT ONE POINT OPTIMISING
C = 2 SELECT TWO POINT OPTIMISING
C (I*4) IXOPS = 0 OPTIMISING OFF
C = 1 OPTIMISING ON (IF ALLOWED)
C (I*4) IDIFF = 0 RATIO FITTING FOR DIPOLE X-SECT(ONLY
C WITH OPTIMISING)
C = 1 DIFFERENCE FITTING FOR DIPOLE X-SECT
C (R*8) S = LINE STRENGTH
C (R*8) FIJ = OSCILLATOR STRENGTH
C (R*8) EIJ = TRANSITION ENERGY
C (R*8) FXC2 = SPLINING VARIABLE
C (R*8) FXC3 = SPLINING VARIABLE
C (I*4) ICT = NUMBER OF X-SECTIONS
C (I*4) ITOUT = NUMBER OF TEMPERATURES
C (R*8) XA = ENERGY (PARAMETER X)
C (R*8) YA = OMEGA (COLLISION STRENGTH)
C (R*8) APOMA = APPROXIMATE OMEGA
C (R*8) DIFOMA = DIFFERENCE BETWEEN YA & APOMA
C (R*8) TOA = TEMPERATURE SET
C (R*8) GOA = GAMMA (EFFECTIVE COLLISION STRENGTHS)
C (R*8) APGOA = APPROXIMATE GAMMA
C (R*8) EXCRA = EXCITATION RATE COEFFICIENT
C (R*8) DEXCRA = DEEXCITATION RATE COEFFICIENT
C (R*8) GBARFA = G BAR FUNCTION
C (I*4) ISTDIM = THE MAXIMUM ARRAY DIMENSION
C (I*4) IREAD = THE INPUT UNIT
C
C ROUTINES: NONE
C
C AUTHOR: DAVID H.BROOKS (UNIV.OF STRATHCLYDE) EXT.4213/4205
C
C VERSION 1.1 DATE: 26/05/95
C MODIFIED: DAVID H. BROOKS
C - FIRST RELEASE
C VERSION 1.2 DATE: 03/10/96
C MODIFIED: WILLIAM OSBORN
C - ADDED TRAP FOR WHEN THE REQUESTED ARCHIVE NUMBER IS NOT IN
C THE FILE
C
C DATE: 07/05/99 VERSION 1.3
C MODIFIED: HUGH SUMMERS
C - CORRECTED CONFUSION ABOUT NCHAR AND NELEC
C
C-----------------------------------------------------------------------
CHARACTER*4 CAMETH
CHARACTER*80 DSFULL
CHARACTER*40 TITLE
INTEGER IBPTS, ICT, IDIFF, IFPTS
INTEGER INDL, INDU, INDXREF, IREAD
INTEGER ISTDIM, ITOUT, IXOPS, IXTYP
INTEGER IZ, IZ0
REAL*8 ACOEFF, APGOA(ISTDIM)
REAL*8 APOMA(ISTDIM), BCVAL
REAL*8 DEXCRA(ISTDIM), DIFOMA(ISTDIM)
REAL*8 EI, EIJ, EJ
REAL*8 EXCRA(ISTDIM), FIJ, FXC2
REAL*8 FXC3, GBARFA(ISTDIM), GF
REAL*8 GOA(ISTDIM), S, TOA(ISTDIM), WI
REAL*8 WJ, XA(ISTDIM), YA(ISTDIM), Z
REAL*8 Z0, ZEFF