ADAS Subroutine bbprs1
SUBROUTINE BBPRS1(NDMET,STRING,WNO,CPL,NPT,IPLA,ZPLA)
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: BBPRS1 *********************
C
C PURPOSE: TO ANALYSE THE TAIL CHARACTER STRING OF A LEVEL DATA LINE
C OF A SPECIFIC ION FILE INTO WAVE-NUMBER AND SETS OF
C (PARENT IDENTIFIER, EFFECTIVE ZETA FOR THE PARENT) PAIRS.
C
C CALLING PROGRAM: ADAS208
C
C NOTES: DETECT - LEVEL WAVE NUMBER WHICH PRECEEDS FIRST '{'
C - SETS OF PARENT INDEX CONTAINED IN '{.}'
C FOLLOWED BY EFFECTIVE ZETA
C NB. 'X' AS FIRST PARENT ASSIGNMENT MEANS EXCLUDE IONISATION
C FROM THIS LEVEL.
C NO PARENT ASSIGNMENT MEANS TAKE LOWEST PARENT WITH
C ZETA =1.
C LOWEST PARENT BUT NO ZETA MEANS TAKE ZETA =1.
C IF THERE IS MORE THAN ONE PARENT THEN ZETA'S MUST BE IN.
C
C
C SUBROUTINE:
C
C INPUT : (I*4) NDMET = MAXIMUM NUMBER OF PARENTS
C INPUT : (C*(*))STRING = STRING TO BE PARSED
C
C OUTPUT: (R*8) WNO = EXCITATION WAVE NUMBER OF LEVEL RELATIVE
C TO LOWEST PARENT
C OUTPUT: (C*1) CPL = LEAD PARENT FOR IONISATION OR 'X'
C OUTPUT: (I*4) NPT = NUMBER OF BINDING WAVE NUMBERS DETECTED
C OUTPUT: (I*4) IPLA() = PARENT INDICES.
C OUTPUT: (R*8) ZPLA() = EFFECTIVE ZETA FOR PARENT IPLA()
C
C (L*4) LSET = .TRUE. - WAVE NUMBER PART SET
C .FALSE. - WAVE NUMBER PART NOT SET
C (L*4) LWNO = .TRUE. - IN THE WAVE NUMBER PART
C .FALSE. - NOT IN THE WAVE NUMBER PART
C (L*4) LPRNT = .TRUE. - IN A PARENT SPECIFIER
C .FALSE. - NOT IN A PARENT SPECIFIER
C (L*4) LZETA = .TRUE. - IN A ZETA SPECIFIER
C .FALSE. - NOT IN A ZETA SPECIFIER
C (I*4) IC = GENERAL USE
C (I*4) IABT = FAILURE NUMBER FROM R8FCTN
C (I*4) NCHAR = NUMBER OF CHARACTERS IN SUBSTRING
C (C*15) SSTRNG = ISOLATED SUBSTRING
C
C ROUTINES: NONE
C
C AUTHOR: HP SUMMERS
C K1/1/57
C JET EXT. 4941
C
C DATE: 22/06/92
C
C UPDATE: 24/06/96 HP SUMMERS - CHANGED SOUBRTOUNE NAME FROM B8PRS1 TO
C BBPRS1
C
C UNIX-IDL PORT:
C
C AUTHOR: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC)
C
C DATE: 4TH JULY 1996
C
C VERSION: 1.1 DATE: 04-07-96
C MODIFIED: WILLIAM OSBORN
C - FIRST VERSION.
C
C VERSION: 1.2 DATE: 17-03-03
C MODIFIED: RICHARD MARTIN
C INITIALISED LWNO AS .FALSE.
C
C-----------------------------------------------------------------------
CHARACTER CPL
CHARACTER*(*) STRING
INTEGER IPLA(NDMET), NDMET, NPT
REAL*8 WNO, ZPLA(NDMET)