CFPRIME OPENFI                                                          OPENFI      1
C***********************************************************************RIGHTE      1
C*                                                                     *RIGHTE      2
C*               Output Analysis Program for ETMSP (OAP)               *RIGHTE      4
C*               =======================================               *RIGHTE      5
C*                                                                     *RIGHTE     11
C*        copyright @(1993) Electric Power Research Institute          *RIGHTE     12
C*                                                                     *RIGHTE     13
C* EPRI reserves all rights in the software and associated             *RIGHTE     14
C* documentation as delivered. The software and its associated         *RIGHTE     15
C* documention or any portion thereof may not be reproduced in any form*RIGHTE     16
C* whatsoever without the consent of EPRI, except as explicity provided*RIGHTE     17
C* for by license. Licensee shall submit a detailed description to EPRI*RIGHTE     18
C* of any changes or modifications to the software within two (2)      *RIGHTE     19
C* months after such changes or modifications are made. At EPRI's sole *RIGHTE     20
C* discretion, the software, as changed or modified, shall be given a  *RIGHTE     21
C* new designation sufficiently different from its then current        *RIGHTE     22
C* designation as to prevent mistake,confusion, or deception as between*RIGHTE     23
C* the current software as changed or modified.                        *RIGHTE     24
C*                                                                     *RIGHTE     25
C* A license under EPRI's rights in the software can be obtained       *RIGHTE     26
C* directly from EPRI.                                                 *RIGHTE     27
C*                                                                     *RIGHTE     28
C* This program and supporting materials may be independently available*RIGHTE     29
C* from Electric Power Software centre (EPSC) for an appropriate       *RIGHTE     30
C* distribution fee. The EPSC is a service of                          *RIGHTE     31
C*                                                                     *RIGHTE     32
C*                    Power Computing Company                          *RIGHTE     33
C*                    1930 Hi Line                                     *RIGHTE     34
C*                    Dallas, Tx 75207                                 *RIGHTE     35
C*                                                                     *RIGHTE     36
C* NEITHER EPRI, ANY MEMBER OF EPRI, NOR ANY PERSON OR  ORGANIZATION   *RIGHTE     37
C* ACTING ON BEHAVE OF THEM:                                           *RIGHTE     38
C*                                                                     *RIGHTE     39
C* 1. MAKE ANY WARRANTY OR REPRESENTATION WHATSOEVER, EXPRESS OR       *RIGHTE     40
C*    IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS OR *RIGHTE     41
C*    ANY PURPOSE WITH RESPECT TO THE SOFTWARE OR ITS ASSOCIATED       *RIGHTE     42
C*    DOCUMENTATION; OR                                                *RIGHTE     43
C*                                                                     *RIGHTE     44
C* 2. ASSUMES ANY LIABILITY WHATSOEVER WITH RESPECT TO ANY USE OF THE  *RIGHTE     45
C*    SOFTWARE OR ITS ASSOCIATED DOCUMENTATION OR ANY PORTION THEREOF  *RIGHTE     46
C*    OR WITH RESPECT TO ANY DAMAGES WHICH MAY RESULT FROM SUCH USE.   *RIGHTE     47
C*                                                                     *RIGHTE     48
C* THIS NOTICE MAY NOT BE REMOVED FROM THE SOFTWARE BY ANY USER        *RIGHTE     49
C* THEREOF.                                                            *RIGHTE     50
C*                                                                     *RIGHTE     51
C***********************************************************************RIGHTE     52
      SUBROUTINE OPENFI(IU,FN,LFN,IERR,NEWOLD,IC)                       OPENFI      3
CD                                                                      OPENFI      4
CD          THIS ROUTINE OPENS A FILE, THE FILE CAN BE SEQUENTIAL       OPENFI      5
CD          OR  DIRECT ACCESS , DEPENDING ON THE INCOMING CONTROL       OPENFI      6
CD          FLAG.                                                       OPENFI      7
CD                                                                      OPENFI      8
CD          CALLING PARAMETERS :                                        OPENFI      9
CD                                                                      OPENFI     10
CD                       IU  - LOGICAL UNIT ATTACHED TO THE FILE        OPENFI     11
CD                       FN  - CHARACTER STRING THAT CONTAINS THE       OPENFI     12
CD                             FILE NAME                                OPENFI     13
CD                      LFN  - NO. OF CHARACTER IN THE FILE NAME        OPENFI     14
CD                     IERR  - I/O ERROR STATUS                         OPENFI     15
CD                             IERR =  0 : NO ERROR                     OPENFI     16
CD                             IERR = -1 : ERROR                        OPENFI     17
CD                   NEWOLD  - CHARACTER STRING INDICATING THE STATUS   OPENFI     18
CD                             OF THE FILE TO BE OPEN                   OPENFI     19
CD                       IC  - CONTROL FLAG                             OPENFI     20
CD                             IC = 1 : SEQUENTIAL FILE                 OPENFI     21
CD                             IC = 2 : DIRECT ACCESS FILE              OPENFI     22
CD                                                                      OPENFI     23
      CHARACTER*(*) FN                                                  OPENFI     24
      CHARACTER*(*) NEWOLD                                              OPENFI     25
      CHARACTER*7 PRIMES                                                OPENFI     26
                                                                        OPENFI     27
      LREC=512                                                          OPENFI     28
      PRIMES=NEWOLD                                                     OPENFI     29
*IF DIGITAL                                                             OPENFI     30
*ENDIF                                                                  OPENFI     32
*IF VAX                                                                 OPENFI     33
*ENDIF                                                                  OPENFI     35
      IF(IC.EQ.1) THEN                                                  OPENFI     36
*IF MIBM                                                                OPENFI     37
*ENDIF                                                                  OPENFI     42
         OPEN(UNIT=IU,FILE=FN(1:LFN),IOSTAT=IERR,STATUS=PRIMES)         OPENFI     43
      ELSE                                                              OPENFI     44
         OPEN(UNIT=IU,FILE=FN(1:LFN),STATUS=PRIMES,IOSTAT=IERR,         OPENFI     45
     1   ACCESS='DIRECT',RECL=LREC,FORM='UNFORMATTED')                  OPENFI     46
      ENDIF                                                             OPENFI     47
      IF(IERR.NE.0) IERR=-1                                             OPENFI     48
      RETURN                                                            OPENFI     49
      END                                                               OPENFI     50
