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)