ADAS Subroutine cachkb
SUBROUTINE CACHKB( IUNIT , NBSEL , IBSEL , & IZ0IN , IZ0 , & LOPEN , IRCODE , DLPATH & ) C C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: CACHKB ********************* C C PURPOSE: TO CHECK THE SELECTED BLOCK (IBSEL) OF DATA EXISTS IN THE C INPUT DATA SET AND IF SO IT REPRESENTS THE ENTERED VALUES OF C 'IZ0IN' (NUCLEAR CHARGE OF SELECTED IONISING ION ELEMENT). C C IT ALSO CLOSES THE INPUT DATA SET ALLOCATION IF OPEN. C C CALLING PROGRAM: CASSZD C C SUBROUTINE: C C INPUT : (I*4) IUNIT = UNIT TO WHICH INPUT DATA SET IS ALLOCATED C INPUT : (I*4) NBSEL = TOTAL NUMBER OF DATA-BLOCKS READ FROM INPUT C DATA SET. C INPUT : (I*4) IBSEL = INDEX OF DATA-BLOCK SELECTED FOR ANALYSIS C C INPUT : (I*4) IZ0IN = REQUESTED: NUCLEAR CHARGE OF ELEMENT C INPUT : (I*4) IZ0 = INPUT FILE: NUCLEAR CHARGE OF ELEMENT C C I/O : (L*4) LOPEN = INPUT : .TRUE. => INPUT DATA SET OPEN. C .FALSE. => INPUT DATA SET CLOSED. C OUTPUT: ALWAYS RETURNED AS .FALSE. C OUTPUT: (I*4) IRCODE = RETURN CODE FROM SUBROUTINE: C 0 => NO ERROR DETECTED. C 2 => DISCREPANCY BETWEEN REQUESTED ELEMENT C AND THAT IN INPUT DATA FILE. C 3 => SELECTED DATA-BLOCK OUT OF RANGE OR C DOES NOT EXIST. C C (I*4) I4UNIT = FUNCTION (SEE ROUTINE SECTION BELOW) C CA (c*80) DSNAME = DATA FILE NAME UNDER UNIX, INCLUDING PATH. C C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ------------------------------------------------------------ C E2FILE ADAS OPEN DATA SET FOR SELECTED ELEMENT C I4UNIT ADAS FETCH UNIT NUMBER FOR OUTPUT OF MESSAGES C C AUTHOR: PAUL E. BRIDEN (TESSELLA SUPPORT SERVICES PLC) C K1/0/37 C JET EXT. 2620 C C DATE: 06/06/91 C C UNIX-IDL PORT: C C VERSION: 1.1 DATE: 25-1-96 C MODIFIED: TIM HAMMOND (TESSELLA SUPPORT SERVICES PLC) C - CREATED FROM E2CHKB TO WHICH IT IS ESSENTIALLY C IDENTICAL EXCEPT IT CALLS CAFILE RATHER THAN E2FILE C AND HAS THE EXTRA PATHNAME VARIABLE DLPATH INCLUDED C IN THE ARGUMENT LIST. C C----------------------------------------------------------------------- C----------------------------------------------------------------------- C C----------------------------------------------------------------------- CHARACTER*80 DLPATH INTEGER IBSEL, IRCODE, IUNIT, IZ0 INTEGER IZ0IN, NBSEL LOGICAL LOPEN