ADAS Subroutine bxiord
SUBROUTINE BXIORD( IL , & NMET , IMETR , & NORD , IORDR & ) C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: BXIORD ********************* C C PURPOSE: TO SET UP THE INDEX OF ORDINARY EXCITED LEVELS IN COMPLETE C LEVEL LIST 'IORDR()'. C C CALLING PROGRAM: ADAS205/ADAS206 C C SUBROUTINE: C C INPUT : (I*4) IL = NUMBER OF ENERGY LEVELS (MET. & ORD.) C C INPUT : (I*4) NMET = NUMBER OF METASTABLE STATES C INPUT : (I*4) IMETR() = INDEX OF METASTABLES IN COMPLETE LEVEL LIST C C OUTPUT: (I*4) NORD = NUMBER OF ORDINARY EXCITED LEVELS. C OUTPUT: (I*4) IORDR() = INDEX OF ORDINARY EXCITED LEVELS IN COMPLETE C LEVEL LIST. C C (I*4) I4UNIT = FUNCTION (SEE ROUTINE SECTION BELOW) C (I*4) IS = ENERGY LEVEL ARRAY INDEX C (I*4) IM = METASTABLE LEVEL NUMBER COUNTER C (I*4) IO = ORDINARY EXCITED LEVEL NUMBER COUNTER C C C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ------------------------------------------------------------ C XXTERM ADAS TERMINATES PROGRAM WITH MESSAGE C I4UNIT ADAS FETCH UNIT NUMBER FOR OUTPUT OF MESSAGES C C C NOTE: 'NMET' + 'NORD' = 'IL' C C C AUTHOR: PAUL E. BRIDEN (TESSELLA SUPPORT SERVICES PLC) C K1/0/81 C JET EXT. 4569 C C DATE: 09/10/90 C C UPDATE: 23/04/93 - PE BRIDEN - ADAS91: ADDED I4UNIT FUNCTION TO WRITE C STATEMENTS FOR SCREEN MESSAGES C C UPDATE: 24/05/93 - PE BRIDEN - ADAS91: CHANGED I4UNIT(0)-> I4UNIT(-1) C C VERSION: 1.5 DATE: 26-06-97 C MODIFIED: H.P. SUMMERS, RICHARD MARTIN C - CHANGED LINE IM=IM+1 TO IM=MIN(IM+1,NMET-1) C THIS ENSURES UPPER ARRAY BOUND OF IMETR IS NOT C EXCEEDED. C C----------------------------------------------------------------------- C C----------------------------------------------------------------------- INTEGER IL, IMETR(NMET), IORDR(IL), NMET INTEGER NORD