CFPRIME NRRESD                                                          NRRESD      1
C***********************************************************************RIGHTE      1
C*                                                                     *RIGHTE      2
C*        Extended Transient-Midterm Stability Program (ETMSP)         *RIGHTE      3
C*        ====================================================         *RIGHTE      4
C*                                                                     *RIGHTE      5
C*       Copyright (C) (1993) Electric Power Research Institute        *RIGHTE      6
C*                                                                     *RIGHTE      7
C* EPRI reserves all rights in the software and associated             *RIGHTE      8
C* documentation as delivered. The software and its associated         *RIGHTE      9
C* documention or any portion thereof may not be reproduced in any form*RIGHTE     10
C* whatsoever without the consent of EPRI, except as explicity provided*RIGHTE     11
C* for by license. Licensee shall submit a detailed description to EPRI*RIGHTE     12
C* of any changes or modifications to the software within two (2)      *RIGHTE     13
C* months after such changes or modifications are made. At EPRI's sole *RIGHTE     14
C* discretion, the software, as changed or modified, shall be given a  *RIGHTE     15
C* new designation sufficiently different from its then current        *RIGHTE     16
C* designation as to prevent mistake,confusion, or deception as between*RIGHTE     17
C* the current software as changed or modified.                        *RIGHTE     18
C*                                                                     *RIGHTE     19
C* A license under EPRI's rights in the software can be obtained       *RIGHTE     20
C* directly from EPRI.                                                 *RIGHTE     21
C*                                                                     *RIGHTE     22
C* This program and supporting materials may be independently available*RIGHTE     23
C* from Electric Power Software centre (EPSC) for an appropriate       *RIGHTE     24
C* distribution fee. The EPSC is a service of                          *RIGHTE     25
C*                                                                     *RIGHTE     26
C*                    Power Computing Company                          *RIGHTE     27
C*                    1930 Hi Line                                     *RIGHTE     28
C*                    Dallas, Tx 75207                                 *RIGHTE     29
C*                                                                     *RIGHTE     30
C* NEITHER EPRI, ANY MEMBER OF EPRI, NOR ANY PERSON OR  ORGANIZATION   *RIGHTE     31
C* ACTING ON BEHAVE OF THEM:                                           *RIGHTE     32
C*                                                                     *RIGHTE     33
C* 1. MAKE ANY WARRANTY OR REPRESENTATION WHATSOEVER, EXPRESS OR       *RIGHTE     34
C*    IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS OR *RIGHTE     35
C*    ANY PURPOSE WITH RESPECT TO THE SOFTWARE OR ITS ASSOCIATED       *RIGHTE     36
C*    DOCUMENTATION; OR                                                *RIGHTE     37
C*                                                                     *RIGHTE     38
C* 2. ASSUMES ANY LIABILITY WHATSOEVER WITH RESPECT TO ANY USE OF THE  *RIGHTE     39
C*    SOFTWARE OR ITS ASSOCIATED DOCUMENTATION OR ANY PORTION THEREOF  *RIGHTE     40
C*    OR WITH RESPECT TO ANY DAMAGES WHICH MAY RESULT FROM SUCH USE.   *RIGHTE     41
C*                                                                     *RIGHTE     42
C* THIS NOTICE MAY NOT BE REMOVED FROM THE SOFTWARE BY ANY USER        *RIGHTE     43
C* THEREOF.                                                            *RIGHTE     44
C*                                                                     *RIGHTE     45
C***********************************************************************RIGHTE     46
      SUBROUTINE NRRESD(IUX,IUY,IPOS)                                   NRRESD      3
CD                                                                      NRRESD      4
CD    TO  READ IN THE USER SPECIFIED OUTPUT ANALYSIS DATA FILES IN BUS  NRRESD      5
CD    NUMBER.                                                           NRRESD      6
CD                                                                      NRRESD      7
C                                                                       NRRESD      8
      INCLUDE 'PARX.INS'                                                NRRESD      9
      INCLUDE 'CNPT.INS'                                                NRRESD     10
      INCLUDE 'CNREC1.INS'                                              NRRESD     11
      INCLUDE 'CNIPTR.INS'                                              NRRESD     12
      INCLUDE 'CNFLAG.INS'                                              NRRESD     13
      INCLUDE 'CNPARX.INS'                                              NRRESD     14
      INCLUDE 'CNMNEW.INS'                                              NRRESD     15
      INCLUDE 'CNMDAT.INS'                                              NRRESD     16
      INCLUDE 'CNREN.INS'                                               NRRESD     17
      INCLUDE 'CNLFDA.INS'                                              NRRESD     18
      INCLUDE 'CNRAN.INS'                                               NRRESD     19
      INCLUDE 'CNSTP.INS'                                               NRRESD     20
      INCLUDE 'CNINTE.INS'                                              NRRESD     21
      INCLUDE 'CNUNIT.INS'                                              NRRESD     22
      INCLUDE 'CNMSG.INS'                                               NRRESD     23
      INCLUDE 'CNFRUN.INS'                                              NRRESD     24
C                                                                       NRRESD     25
      CHARACTER*80 SIMBUF                                               NRRESD     26
      CHARACTER*4 ISEM,ISIDAT(36)                                       NRRESD     27
      CHARACTER*2 UID,UID1                                              NRRESD     28
      CHARACTER*5 EDATA                                                 NRRESD     29
      INTEGER*4 ITFK                                                    NRRESD     30
      DIMENSION INVBS(16)                                               NRRESD     31
      CHARACTER*4  CNAME(8),UNAME(5),DCNAME(2)                          NRRESD     32
      INTEGER*4    KNAME(8)                                             NRRESD     33
      EQUIVALENCE (CNAME(1),KNAME(1),UNAME(1),DCNAME(1))                NRRESD     34
C                                                                       NRRESD     35
      DATA ISIDAT/'AGEO','BGEO','CGEO','GCOS','GOVV','GENS'             NRRESD     36
     &,'GYVA','AMOT','BMOT','ASVO','CONV','UDCO'                        NRRESD     37
     &,'ALOA','LINE','SLIN','MVBS','DVOL'                               NRRESD     38
     &,'UEXC','UPSS','UEXL','UGOV','USVC','URAN','USTC','USPS','USDB'   NRRESD     39
     &,'AFBO','BFBO','CFBO','FFCO','PWRA','PWRB','CANA'                 NRRESD     40
     &,'CANB','BWRA',' END'/                                            NRRESD     41
      DATA EDATA/'EDATA'/                                               NRRESD     42
C                                                                       NRRESD     43
C                                                                       NRRESD     44
      LDEB=(JDEB(30).NE.0)                                              NRRESD     45
C                                                                       NRRESD     46
      IF (IUX .EQ. 0) THEN                                              NRRESD     47
        IREC = IFSPTR(IOUTPT)                                           NRRESD     48
      ELSE                                                              NRRESD     49
        JINTER = 0                                                      NRRESD     50
      ENDIF                                                             NRRESD     51
C                                                                       NRRESD     52
      IEBK=0                                                            NRRESD     53
 100  CONTINUE                                                          NRRESD     54
C                                                                       NRRESD     55
      IF (IUX .NE. 0) THEN                                              NRRESD     56
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD     57
      ELSE                                                              NRRESD     58
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD     59
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD     60
        IREC = INXPTR(IREC)                                             NRRESD     61
      ENDIF                                                             NRRESD     62
C                                                                       NRRESD     63
      READ(SIMBUF,3010) ISEM                                            NRRESD     64
C                                                                       NRRESD     65
      DO 120 JSEM=1,36                                                  NRRESD     66
      IF(ISEM.EQ.ISIDAT(JSEM))GOTO 150                                  NRRESD     67
 120  CONTINUE                                                          NRRESD     68
C                                                                       NRRESD     69
      WRITE(MSG(1),3000) ISEM                                           NRRESD     70
      WRITE(MSG(2),3001)                                                NRRESD     71
      MSG(3)='('//SIMBUF(1:78)//')'                                     NRRESD     72
      CALL PRTMSG(3)                                                    NRRESD     73
      GOTO 100                                                          NRRESD     74
C                                                                       NRRESD     75
 150  IF(JSEM.EQ.36.AND.IUX.NE.0.AND.IFSPTR(IOUTPT).NE.0)RETURN         NRRESD     76
C                                                                       NRRESD     77
      IPOS=IPOS+2                                                       NRRESD     78
      JPOS=IPOS                                                         NRRESD     79
      NOPDAT(JPOS-1)=JSEM                                               NRRESD     80
      JITEM=0                                                           NRRESD     81
C                                                                       NRRESD     82
C              1      2      3      4      5      6      7      8      9NRRESD     83
C          'AGEO','BGEO','CGEO','GCOS','GOVV','GENS','GYVA','AMOT','BMOTNRRESD     84
      GOTO(  200 ,  200 ,  200 ,  210 ,  210 ,  220 ,  220 ,  210 ,  210NRRESD     85
C         10     11     12     13     14     15     16     17           NRRESD     86
C      'ASVO','CONV','UDCO','ALOA','LINE','SLIN','MVBS','DVOL'          NRRESD     87
     &,  210 ,  400 ,  500 ,  300 ,  700 ,  600 ,  800 ,  900           NRRESD     88
C         18     19     20     21     22     23     24     25     26    NRRESD     89
C      'UEXC','UPSS','UEXL','UGOV','USVC','URAN','USTC','USPS','USDB'   NRRESD     90
     &,  220 ,  220 ,  220 ,  220 ,  355 ,  740 ,  740 ,  740 ,  350    NRRESD     91
C          27     28     29     30     31     32     33    34           NRRESD     92
C      ,'AFBO','BFBO','CFBO','FFCO',,'PWRA','PWRB','CANA','CANB'        NRRESD     93
     &,  210,   210,   210,   210,    210,   210,   210,   210,         NRRESD     94
C      ,'BWRA', ' END'                                                  NRRESD     95
     &   210,    1200),JSEM                                             NRRESD     96
C                                                                       NRRESD     97
 200  CONTINUE                                                          NRRESD     98
C                                                                       NRRESD     99
C  READ IN GENERATORS NEED OUTPUTS                                      NRRESD    100
C                                                                       NRRESD    101
      IF (IUX .NE. 0) THEN                                              NRRESD    102
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    103
      ELSE                                                              NRRESD    104
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    105
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    106
        IREC = INXPTR(IREC)                                             NRRESD    107
      ENDIF                                                             NRRESD    108
C                                                                       NRRESD    109
      IF(SIMBUF(1:5).NE.EDATA)THEN                                      NRRESD    110
      READ(SIMBUF,3020) NLF,UID,IAF,IAT,IZF,IZT,IBF,IBT,IGMVAF,IGMVAT   NRRESD    111
      NOPDAT(IPOS+1)=NLF                                                NRRESD    112
      CALL PACK(UID,0,ITFK)                                             NRRESD    113
      NOPDAT(IPOS+2)=ITFK                                               NRRESD    114
      IF(LDEB)WRITE(IUD6,3050)                                          NRRESD    115
     &IPOS,NLF,UID,NOPDAT(IPOS+1),NOPDAT(IPOS+2)                        NRRESD    116
      IF(NLF.EQ.0)THEN                                                  NRRESD    117
      NOPDAT(IPOS+1)=-1                                                 NRRESD    118
      NOPDAT(IPOS+3)=IAF                                                NRRESD    119
      NOPDAT(IPOS+4)=IAT                                                NRRESD    120
      NOPDAT(IPOS+5)=IZF                                                NRRESD    121
      NOPDAT(IPOS+6)=IZT                                                NRRESD    122
      NOPDAT(IPOS+7)=IBF                                                NRRESD    123
      NOPDAT(IPOS+8)=IBT                                                NRRESD    124
      NOPDAT(IPOS+9)=IGMVAF                                             NRRESD    125
      NOPDAT(IPOS+10)=IGMVAT                                            NRRESD    126
      IPOS=IPOS+10                                                      NRRESD    127
      ELSE                                                              NRRESD    128
      IPOS=IPOS+2                                                       NRRESD    129
      ENDIF                                                             NRRESD    130
      JITEM=JITEM+1                                                     NRRESD    131
      GOTO 200                                                          NRRESD    132
      ELSE                                                              NRRESD    133
      NOPDAT(JPOS)=JITEM                                                NRRESD    134
      GOTO 100                                                          NRRESD    135
      ENDIF                                                             NRRESD    136
C                                                                       NRRESD    137
C                                                                       NRRESD    138
 210  CONTINUE                                                          NRRESD    139
C                                                                       NRRESD    140
C  READ IN GENERATORS NEED THE CONTROL SIGNALS OR GOVERNOR OUTPUT       NRRESD    141
C  OR LONG TERM POWER PLANT MODELS VARIABLES AND CONTROL.               NRRESD    142
C  READ IN SVC'S AND INDUCTION MOTORS                                   NRRESD    143
C                                                                       NRRESD    144
C                                                                       NRRESD    145
      IF (IUX .NE. 0) THEN                                              NRRESD    146
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    147
      ELSE                                                              NRRESD    148
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    149
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    150
        IREC = INXPTR(IREC)                                             NRRESD    151
      ENDIF                                                             NRRESD    152
C                                                                       NRRESD    153
      IF(SIMBUF(1:5).NE.EDATA)THEN                                      NRRESD    154
      READ(SIMBUF,3020) NLF,UID                                         NRRESD    155
      NOPDAT(IPOS+1)=NLF                                                NRRESD    156
      CALL PACK(UID,0,ITFK)                                             NRRESD    157
      NOPDAT(IPOS+2)=ITFK                                               NRRESD    158
      IF(LDEB)WRITE(IUD6,3050)                                          NRRESD    159
     & IPOS,NLF,UID,NOPDAT(IPOS+1),NOPDAT(IPOS+2)                       NRRESD    160
      IPOS=IPOS+2                                                       NRRESD    161
      JITEM=JITEM+1                                                     NRRESD    162
      GOTO 210                                                          NRRESD    163
      ELSE                                                              NRRESD    164
      NOPDAT(JPOS)=JITEM                                                NRRESD    165
      GOTO 100                                                          NRRESD    166
      ENDIF                                                             NRRESD    167
C                                                                       NRRESD    168
C                                                                       NRRESD    169
 220  CONTINUE                                                          NRRESD    170
C                                                                       NRRESD    171
C  READ IN GENERATORS NEED THE STATES OR GYVA OUTPUT                    NRRESD    172
C                                                                       NRRESD    173
C                                                                       NRRESD    174
      IF (IUX .NE. 0) THEN                                              NRRESD    175
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    176
      ELSE                                                              NRRESD    177
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    178
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    179
        IREC = INXPTR(IREC)                                             NRRESD    180
      ENDIF                                                             NRRESD    181
C                                                                       NRRESD    182
      IF(SIMBUF(1:5).NE.EDATA)THEN                                      NRRESD    183
      READ(SIMBUF,3020) NLF,UID,(INVBS(N),N=1,5)                        NRRESD    184
      NOPDAT(IPOS+1)=NLF                                                NRRESD    185
      CALL PACK(UID,0,ITFK)                                             NRRESD    186
      NOPDAT(IPOS+2)=ITFK                                               NRRESD    187
      KSTCOU=0                                                          NRRESD    188
      LK=0                                                              NRRESD    189
 230  LK=LK+1                                                           NRRESD    190
      NSTNO=INVBS(LK)                                                   NRRESD    191
      IF(NSTNO.NE.0)THEN                                                NRRESD    192
      KSTCOU=KSTCOU+1                                                   NRRESD    193
      NOPDAT(IPOS+3+KSTCOU)=NSTNO                                       NRRESD    194
      ENDIF                                                             NRRESD    195
      IF(LK.LT.5)GOTO 230                                               NRRESD    196
      NOPDAT(IPOS+3)=KSTCOU                                             NRRESD    197
      IPOS=IPOS+3+KSTCOU                                                NRRESD    198
      JITEM=JITEM+1                                                     NRRESD    199
      GOTO 220                                                          NRRESD    200
      ELSE                                                              NRRESD    201
      NOPDAT(JPOS)=JITEM                                                NRRESD    202
      GOTO 100                                                          NRRESD    203
      ENDIF                                                             NRRESD    204
C                                                                       NRRESD    205
 300  CONTINUE                                                          NRRESD    206
C                                                                       NRRESD    207
C   READ IN LOAD OUTPUT SPECIFICATIONS                                  NRRESD    208
C                                                                       NRRESD    209
C                                                                       NRRESD    210
      IF (IUX .NE. 0) THEN                                              NRRESD    211
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    212
      ELSE                                                              NRRESD    213
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    214
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    215
        IREC = INXPTR(IREC)                                             NRRESD    216
      ENDIF                                                             NRRESD    217
C                                                                       NRRESD    218
      IF (SIMBUF(1:5).NE.EDATA)THEN                                     NRRESD    219
      READ (SIMBUF,3030) (INVBS(N),N=1,16)                              NRRESD    220
      DO 320 N=1,16                                                     NRRESD    221
       IF(INVBS(N).NE.0)THEN                                            NRRESD    222
       NLF=INVBS(N)                                                     NRRESD    223
       IPOS=IPOS+1                                                      NRRESD    224
       JITEM=JITEM+1                                                    NRRESD    225
       NOPDAT(IPOS)=NLF                                                 NRRESD    226
       ENDIF                                                            NRRESD    227
 320  CONTINUE                                                          NRRESD    228
      GOTO 300                                                          NRRESD    229
      ENDIF                                                             NRRESD    230
      NOPDAT(JPOS)=JITEM                                                NRRESD    231
      GOTO 100                                                          NRRESD    232
C                                                                       NRRESD    233
 350  CONTINUE                                                          NRRESD    234
C                                                                       NRRESD    235
C  READ IN USDB THAT NEEDS THE BLOCK OUTPUT                             NRRESD    236
C                                                                       NRRESD    237
C                                                                       NRRESD    238
      IF (IUX .NE. 0) THEN                                              NRRESD    239
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    240
      ELSE                                                              NRRESD    241
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    242
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    243
        IREC = INXPTR(IREC)                                             NRRESD    244
      ENDIF                                                             NRRESD    245
C                                                                       NRRESD    246
      IF(SIMBUF(1:5).NE.EDATA)THEN                                      NRRESD    247
      READ(SIMBUF,3030) NLF,(INVBS(N),N=1,5)                            NRRESD    248
      NOPDAT(IPOS+1)=NLF                                                NRRESD    249
      KSTCOU=0                                                          NRRESD    250
      LK=0                                                              NRRESD    251
 360  LK=LK+1                                                           NRRESD    252
      NSTNO=INVBS(LK)                                                   NRRESD    253
      IF(NSTNO.NE.0)THEN                                                NRRESD    254
      KSTCOU=KSTCOU+1                                                   NRRESD    255
      NOPDAT(IPOS+2+KSTCOU)=NSTNO                                       NRRESD    256
      ENDIF                                                             NRRESD    257
      IF(LK.LT.5)GOTO 360                                               NRRESD    258
      NOPDAT(IPOS+2)=KSTCOU                                             NRRESD    259
      IPOS=IPOS+2+KSTCOU                                                NRRESD    260
      JITEM=JITEM+1                                                     NRRESD    261
      GOTO 350                                                          NRRESD    262
      ELSE                                                              NRRESD    263
      NOPDAT(JPOS)=JITEM                                                NRRESD    264
      GOTO 100                                                          NRRESD    265
      ENDIF                                                             NRRESD    266
C                                                                       NRRESD    267
 355  CONTINUE                                                          NRRESD    268
C                                                                       NRRESD    269
C  READ IN USVC THAT NEEDS THE BLOCK OUTPUT                             NRRESD    270
C                                                                       NRRESD    271
C                                                                       NRRESD    272
      IF (IUX .NE. 0) THEN                                              NRRESD    273
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    274
      ELSE                                                              NRRESD    275
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    276
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    277
        IREC = INXPTR(IREC)                                             NRRESD    278
      ENDIF                                                             NRRESD    279
C                                                                       NRRESD    280
      IF(SIMBUF(1:5).NE.EDATA)THEN                                      NRRESD    281
      READ(SIMBUF,3020) NLF,UID,(INVBS(N),N=1,5)                        NRRESD    282
      NOPDAT(IPOS+1)=NLF                                                NRRESD    283
      KSTCOU=0                                                          NRRESD    284
      LK=0                                                              NRRESD    285
 365  LK=LK+1                                                           NRRESD    286
      NSTNO=INVBS(LK)                                                   NRRESD    287
      IF(NSTNO.NE.0)THEN                                                NRRESD    288
      KSTCOU=KSTCOU+1                                                   NRRESD    289
      NOPDAT(IPOS+2+KSTCOU)=NSTNO                                       NRRESD    290
      ENDIF                                                             NRRESD    291
      IF(LK.LT.5)GOTO 365                                               NRRESD    292
      CALL PACK(UID,KSTCOU,ITFK)                                        NRRESD    293
      NOPDAT(IPOS+2)=ITFK                                               NRRESD    294
      IPOS=IPOS+2+KSTCOU                                                NRRESD    295
      JITEM=JITEM+1                                                     NRRESD    296
      GOTO 355                                                          NRRESD    297
      ELSE                                                              NRRESD    298
      NOPDAT(JPOS)=JITEM                                                NRRESD    299
      GOTO 100                                                          NRRESD    300
      ENDIF                                                             NRRESD    301
C                                                                       NRRESD    302
 400  CONTINUE                                                          NRRESD    303
C                                                                       NRRESD    304
C  READ IN CONVERTERS TO BE OUTPUT                                      NRRESD    305
C                                                                       NRRESD    306
C                                                                       NRRESD    307
      IF (IUX .NE. 0) THEN                                              NRRESD    308
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    309
      ELSE                                                              NRRESD    310
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    311
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    312
        IREC = INXPTR(IREC)                                             NRRESD    313
      ENDIF                                                             NRRESD    314
C                                                                       NRRESD    315
      IF(SIMBUF(1:5).NE.EDATA)THEN                                      NRRESD    316
      READ(SIMBUF,4100) CNAME                                           NRRESD    317
      NOPDAT(IPOS+1)=KNAME(1)                                           NRRESD    318
      NOPDAT(IPOS+2)=KNAME(2)                                           NRRESD    319
      NOPDAT(IPOS+3)=KNAME(3)                                           NRRESD    320
      NOPDAT(IPOS+4)=KNAME(4)                                           NRRESD    321
      NOPDAT(IPOS+5)=KNAME(5)                                           NRRESD    322
      NOPDAT(IPOS+6)=KNAME(6)                                           NRRESD    323
      NOPDAT(IPOS+7)=KNAME(7)                                           NRRESD    324
      NOPDAT(IPOS+8)=KNAME(8)                                           NRRESD    325
      IF(LDEB)WRITE(IUD6,4110) IPOS,CNAME                               NRRESD    326
     &,(NOPDAT(IPOS+KK),KK=1,8)                                         NRRESD    327
      IPOS=IPOS+8                                                       NRRESD    328
      JITEM=JITEM+1                                                     NRRESD    329
      GOTO 400                                                          NRRESD    330
      ELSE                                                              NRRESD    331
      NOPDAT(JPOS)=JITEM                                                NRRESD    332
      GOTO 100                                                          NRRESD    333
      ENDIF                                                             NRRESD    334
C                                                                       NRRESD    335
 500  CONTINUE                                                          NRRESD    336
C                                                                       NRRESD    337
C  READ IN UDC BLOCK NAME TO BE OUTPUT                                  NRRESD    338
C                                                                       NRRESD    339
C                                                                       NRRESD    340
      IF (IUX .NE. 0) THEN                                              NRRESD    341
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    342
      ELSE                                                              NRRESD    343
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    344
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    345
        IREC = INXPTR(IREC)                                             NRRESD    346
      ENDIF                                                             NRRESD    347
C                                                                       NRRESD    348
      IF(SIMBUF(1:5).NE.EDATA)THEN                                      NRRESD    349
      READ(SIMBUF,4120) UNAME                                           NRRESD    350
      NOPDAT(IPOS+1)=KNAME(1)                                           NRRESD    351
      NOPDAT(IPOS+2)=KNAME(2)                                           NRRESD    352
      NOPDAT(IPOS+3)=KNAME(3)                                           NRRESD    353
      NOPDAT(IPOS+4)=KNAME(4)                                           NRRESD    354
      NOPDAT(IPOS+5)=KNAME(5)                                           NRRESD    355
      IF(LDEB)WRITE(IUD6,4130) IPOS,UNAME                               NRRESD    356
     &,(NOPDAT(IPOS+KK),KK=1,5)                                         NRRESD    357
      IPOS=IPOS+5                                                       NRRESD    358
      JITEM=JITEM+1                                                     NRRESD    359
      GOTO 500                                                          NRRESD    360
      ELSE                                                              NRRESD    361
      NOPDAT(JPOS)=JITEM                                                NRRESD    362
      GOTO 100                                                          NRRESD    363
      ENDIF                                                             NRRESD    364
C                                                                       NRRESD    365
C  INTERFACE LINE FLOW                                                  NRRESD    366
C                                                                       NRRESD    367
 600  CONTINUE                                                          NRRESD    368
      KITERM=0                                                          NRRESD    369
C                                                                       NRRESD    370
C  READ MONITERED LINE DATA                                             NRRESD    371
C                                                                       NRRESD    372
 610  CONTINUE                                                          NRRESD    373
      NPFLX=NPFL                                                        NRRESD    374
      CALL MLNDAT(IUX,IREC,IEBK)                                        NRRESD    375
      NITEM=NPFL-NPFLX                                                  NRRESD    376
      IF(NITEM.EQ.0)THEN                                                NRRESD    377
      NOPDAT(JPOS)=KITERM                                               NRRESD    378
      GOTO 100                                                          NRRESD    379
      ENDIF                                                             NRRESD    380
      KITERM=KITERM+1                                                   NRRESD    381
      JINTER=JINTER+1                                                   NRRESD    382
      NOPDAT(IPOS+1)=JINTER                                             NRRESD    383
      NOPDAT(IPOS+2)=NITEM                                              NRRESD    384
      IPOS=IPOS+2                                                       NRRESD    385
C                                                                       NRRESD    386
      IF (IUX .NE. 0) THEN                                              NRRESD    387
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    388
      ELSE                                                              NRRESD    389
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    390
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    391
        IREC = INXPTR(IREC)                                             NRRESD    392
      ENDIF                                                             NRRESD    393
C                                                                       NRRESD    394
      READ(SIMBUF,3070) (KNTERF(LL,JINTER),LL=1,6)                      NRRESD    395
      DO 620 I=NPFLX+1,NPFL                                             NRRESD    396
      IPOS=IPOS+1                                                       NRRESD    397
      NOPDAT(IPOS)=I                                                    NRRESD    398
 620  CONTINUE                                                          NRRESD    399
      GOTO 610                                                          NRRESD    400
C                                                                       NRRESD    401
 700  CONTINUE                                                          NRRESD    402
C                                                                       NRRESD    403
C  READ MONITERED LINE DATA                                             NRRESD    404
C                                                                       NRRESD    405
      NPFLX=NPFL                                                        NRRESD    406
      CALL MLNDAT(IUX,IREC,IEBK)                                        NRRESD    407
      NITEM=NPFL-NPFLX                                                  NRRESD    408
      NOPDAT(JPOS)=NITEM                                                NRRESD    409
      DO 710 I=NPFLX+1,NPFL                                             NRRESD    410
      IPOS=IPOS+1                                                       NRRESD    411
      NOPDAT(IPOS)=I                                                    NRRESD    412
 710  CONTINUE                                                          NRRESD    413
      GOTO 100                                                          NRRESD    414
C                                                                       NRRESD    415
 740  CONTINUE                                                          NRRESD    416
C                                                                       NRRESD    417
C  READ RANI AND USTC AND USPS MONITERING DATA                          NRRESD    418
C                                                                       NRRESD    419
C                                                                       NRRESD    420
      IF (IUX .NE. 0) THEN                                              NRRESD    421
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    422
      ELSE                                                              NRRESD    423
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    424
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    425
        IREC = INXPTR(IREC)                                             NRRESD    426
      ENDIF                                                             NRRESD    427
C                                                                       NRRESD    428
      IF(SIMBUF(1:5).NE.EDATA)THEN                                      NRRESD    429
      READ (SIMBUF,3080) NLF1,NLF2,UID1,(INVBS(N),N=1,5)                NRRESD    430
C                                                                       NRRESD    431
      ASSIGN 750 TO I750                                                NRRESD    432
      IF(JSEM.EQ.23)THEN                                                NRRESD    433
      GOTO 2200                                                         NRRESD    434
      ELSE                                                              NRRESD    435
      GOTO 2220                                                         NRRESD    436
      ENDIF                                                             NRRESD    437
C                                                                       NRRESD    438
 750  CONTINUE                                                          NRRESD    439
      NOPDAT(IPOS+1)=ITHDEV                                             NRRESD    440
      KSTCOU=0                                                          NRRESD    441
      LK=0                                                              NRRESD    442
 760  LK=LK+1                                                           NRRESD    443
      NSTNO=INVBS(LK)                                                   NRRESD    444
      IF(NSTNO.NE.0)THEN                                                NRRESD    445
      KSTCOU=KSTCOU+1                                                   NRRESD    446
      NOPDAT(IPOS+2+KSTCOU)=NSTNO                                       NRRESD    447
      ENDIF                                                             NRRESD    448
      IF(LK.LT.5)GOTO 760                                               NRRESD    449
      NOPDAT(IPOS+2)=KSTCOU                                             NRRESD    450
      IPOS=IPOS+2+KSTCOU                                                NRRESD    451
      JITEM=JITEM+1                                                     NRRESD    452
      GOTO 740                                                          NRRESD    453
      ELSE                                                              NRRESD    454
      NOPDAT(JPOS)=JITEM                                                NRRESD    455
      GOTO 100                                                          NRRESD    456
      ENDIF                                                             NRRESD    457
C                                                                       NRRESD    458
 800  CONTINUE                                                          NRRESD    459
      CALL LMOVE(0,JREBUS,NLFBUS)                                       NRRESD    460
      NITEM=0                                                           NRRESD    461
 810  CONTINUE                                                          NRRESD    462
C                                                                       NRRESD    463
C  READ MONITERED BUS DATA                                              NRRESD    464
C                                                                       NRRESD    465
C                                                                       NRRESD    466
      IF (IUX .NE. 0) THEN                                              NRRESD    467
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    468
      ELSE                                                              NRRESD    469
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    470
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    471
        IREC = INXPTR(IREC)                                             NRRESD    472
      ENDIF                                                             NRRESD    473
C                                                                       NRRESD    474
      IF(SIMBUF(1:5).NE.EDATA)THEN                                      NRRESD    475
      READ(SIMBUF,3030) NLF,IAF,IAT,IZF,IZT,ILFBF,ILFBT,IKVF,IKVT       NRRESD    476
C                                                                       NRRESD    477
       IF(NLF.EQ.0)THEN                                                 NRRESD    478
C                                                                       NRRESD    479
C   READ IN RANGED BUS                                                  NRRESD    480
C                                                                       NRRESD    481
      ASSIGN 810 TO I2000                                               NRRESD    482
      GOTO 2000                                                         NRRESD    483
C                                                                       NRRESD    484
C   READ IN INDIVIDUAL BUSES                                            NRRESD    485
C                                                                       NRRESD    486
      ELSE                                                              NRRESD    487
C                                                                       NRRESD    488
      READ (SIMBUF,3030,IOSTAT=IOS) (INVBS(N),N=1,16)                   NRRESD    489
      IF(IOS.NE.0)THEN                                                  NRRESD    490
         MSG(1)=' *** OUTPUT ANALYSIS DATA ERROR AT THE FOLLOWING CARD' NRRESD    491
         MSG(2)=SIMBUF                                                  NRRESD    492
         CALL PRTMSG(2)                                                 NRRESD    493
         MSG(1)=' '                                                     NRRESD    494
         CALL ASTOP(MSG(1),1)                                           NRRESD    495
      ENDIF                                                             NRRESD    496
      DO 830 N=1,16                                                     NRRESD    497
      IF(INVBS(N).EQ.0) GOTO 830                                        NRRESD    498
      NLF=INVBS(N)                                                      NRRESD    499
      IF(NLF.LE.N99999)THEN                                             NRRESD    500
      NPBNO=MNEW(NLF)                                                   NRRESD    501
      ELSE                                                              NRRESD    502
      WRITE(MSG(1),4160) NLF                                            NRRESD    503
      WRITE(MSG(2),4170) N99999                                         NRRESD    504
      CALL PRTMSG(2)                                                    NRRESD    505
      NPBNO=0                                                           NRRESD    506
      ENDIF                                                             NRRESD    507
      IF(NPBNO.NE.0)THEN                                                NRRESD    508
      JREBUS(NPBNO)=.TRUE.                                              NRRESD    509
      ELSE                                                              NRRESD    510
      NVBS=NVBS+1                                                       NRRESD    511
      MVBUS(NVBS)=NLF                                                   NRRESD    512
      NITEM=NITEM+1                                                     NRRESD    513
      IPOS=IPOS+1                                                       NRRESD    514
      NOPDAT(IPOS)=NLF                                                  NRRESD    515
      ENDIF                                                             NRRESD    516
 830  CONTINUE                                                          NRRESD    517
      GOTO 810                                                          NRRESD    518
C                                                                       NRRESD    519
       ENDIF                                                            NRRESD    520
C                                                                       NRRESD    521
C   END OF DATA BLOCK                                                   NRRESD    522
C                                                                       NRRESD    523
      ELSE                                                              NRRESD    524
C                                                                       NRRESD    525
C   SET UP MVBUS ARRAY                                                  NRRESD    526
C                                                                       NRRESD    527
      DO 850 I=1,NLFBUS                                                 NRRESD    528
      IF(JREBUS(I))THEN                                                 NRRESD    529
      NLF=NOLD(I)                                                       NRRESD    530
      NVBS=NVBS+1                                                       NRRESD    531
      MVBUS(NVBS)=NLF                                                   NRRESD    532
      NITEM=NITEM+1                                                     NRRESD    533
      IPOS=IPOS+1                                                       NRRESD    534
      NOPDAT(IPOS)=NLF                                                  NRRESD    535
      ENDIF                                                             NRRESD    536
 850  CONTINUE                                                          NRRESD    537
C                                                                       NRRESD    538
      NOPDAT(JPOS)=NITEM                                                NRRESD    539
      GOTO 100                                                          NRRESD    540
C                                                                       NRRESD    541
      ENDIF                                                             NRRESD    542
C                                                                       NRRESD    543
 900  CONTINUE                                                          NRRESD    544
C                                                                       NRRESD    545
C  READ IN DC BUS TO BE OUTPUT                                          NRRESD    546
C                                                                       NRRESD    547
C                                                                       NRRESD    548
      IF (IUX .NE. 0) THEN                                              NRRESD    549
        CALL GETLIN (IUX, SIMBUF)                                       NRRESD    550
      ELSE                                                              NRRESD    551
        IF (IREC .EQ. 0) GOTO 1200                                      NRRESD    552
        READ (IU56, REC = IREC) SIMBUF                                  NRRESD    553
        IREC = INXPTR(IREC)                                             NRRESD    554
      ENDIF                                                             NRRESD    555
C                                                                       NRRESD    556
      IF(SIMBUF(1:5).NE.EDATA)THEN                                      NRRESD    557
      READ(SIMBUF,4140) DCNAME                                          NRRESD    558
      NOPDAT(IPOS+1)=KNAME(1)                                           NRRESD    559
      NOPDAT(IPOS+2)=KNAME(2)                                           NRRESD    560
      IF(LDEB)WRITE(IUD6,4150) IPOS,DCNAME                              NRRESD    561
     &,(NOPDAT(IPOS+KK),KK=1,2)                                         NRRESD    562
      IPOS=IPOS+2                                                       NRRESD    563
      JITEM=JITEM+1                                                     NRRESD    564
      GOTO 900                                                          NRRESD    565
      ELSE                                                              NRRESD    566
      NOPDAT(JPOS)=JITEM                                                NRRESD    567
      GOTO 100                                                          NRRESD    568
      ENDIF                                                             NRRESD    569
C                                                                       NRRESD    570
 1200 CONTINUE                                                          NRRESD    571
      NOPDAT(JPOS)=0                                                    NRRESD    572
      NOPDAT(JPOS-1)=0                                                  NRRESD    573
      IF(LDEB)WRITE(IUD6,3060) (NOPDAT(KK),KK=1,100)                    NRRESD    574
      IF(IEBK.EQ.0)RETURN                                               NRRESD    575
C                                                                       NRRESD    576
      SIMBUF='NRRESD: OUTPUT ANALYSIS DATA ERROR'                       NRRESD    577
      CALL ASTOP(SIMBUF,34)                                             NRRESD    578
C                                                                       NRRESD    579
 2000 CONTINUE                                                          NRRESD    580
C                                                                       NRRESD    581
C  PROCESS THE RANGED BUS OPTION                                        NRRESD    582
C                                                                       NRRESD    583
C   SET BUS NUMBER RANGE                                                NRRESD    584
C                                                                       NRRESD    585
      IF(ILFBT.LT.ILFBF)THEN                                            NRRESD    586
      I=ILFBF                                                           NRRESD    587
      ILFBF=ILFBT                                                       NRRESD    588
      ILFBT=I                                                           NRRESD    589
      ENDIF                                                             NRRESD    590
      IF(ILFBF.EQ.0)THEN                                                NRRESD    591
      ILFBF=1                                                           NRRESD    592
      ILFBT=LBUSNO                                                      NRRESD    593
      ENDIF                                                             NRRESD    594
C                                                                       NRRESD    595
C   SET AREA GRID                                                       NRRESD    596
C                                                                       NRRESD    597
      IF(IAT.LT.IAF)THEN                                                NRRESD    598
      I=IAF                                                             NRRESD    599
      IAF=IAT                                                           NRRESD    600
      IAT=I                                                             NRRESD    601
      ENDIF                                                             NRRESD    602
      IF(IAF.EQ.0)THEN                                                  NRRESD    603
      IAF=1                                                             NRRESD    604
      IAT=100                                                           NRRESD    605
      ENDIF                                                             NRRESD    606
C                                                                       NRRESD    607
      CALL LMOVE(0,IRAREA,100)                                          NRRESD    608
C                                                                       NRRESD    609
C MULTI AREA                                                            NRRESD    610
C                                                                       NRRESD    611
      IF(IAT.NE.0)THEN                                                  NRRESD    612
      DO 2010 I=IAF,IAT                                                 NRRESD    613
      IRAREA(I)=.TRUE.                                                  NRRESD    614
 2010 CONTINUE                                                          NRRESD    615
C                                                                       NRRESD    616
C SINGLE AREA                                                           NRRESD    617
C                                                                       NRRESD    618
      ELSE                                                              NRRESD    619
      IRAREA(IAF)=.TRUE.                                                NRRESD    620
      ENDIF                                                             NRRESD    621
C                                                                       NRRESD    622
C SET ZONE GRID                                                         NRRESD    623
C                                                                       NRRESD    624
      IF(IZT.LT.IZF)THEN                                                NRRESD    625
      I=IZF                                                             NRRESD    626
      IZF=IZT                                                           NRRESD    627
      IZT=I                                                             NRRESD    628
      ENDIF                                                             NRRESD    629
      IZF=IZF+1                                                         NRRESD    630
      IZT=IZT+1                                                         NRRESD    631
C                                                                       NRRESD    632
      CALL LMOVE(0,IRZONE,100)                                          NRRESD    633
C                                                                       NRRESD    634
      DO 2020 I=IZF,IZT                                                 NRRESD    635
      IRZONE(I)=.TRUE.                                                  NRRESD    636
 2020 CONTINUE                                                          NRRESD    637
C                                                                       NRRESD    638
C   SET KV BASE RANGE                                                   NRRESD    639
C                                                                       NRRESD    640
      IF(IKVT.LT.IKVF)THEN                                              NRRESD    641
      I=IKVF                                                            NRRESD    642
      IKVF=IKVT                                                         NRRESD    643
      IKVT=I                                                            NRRESD    644
      ENDIF                                                             NRRESD    645
      IF(IKVT.EQ.0)THEN                                                 NRRESD    646
      IKVF=-1                                                           NRRESD    647
      IKVT=900                                                          NRRESD    648
      ENDIF                                                             NRRESD    649
C                                                                       NRRESD    650
      DO 2080 JJ=1,LBUSNO                                               NRRESD    651
      J=MNEW(JJ)                                                        NRRESD    652
      IF(J.GT.0)THEN                                                    NRRESD    653
      JL=J*4                                                            NRRESD    654
      ILK=IBAR(JL-1)                                                    NRRESD    655
      CALL UPACKI(IZONE,IBARK,ILK)                                      NRRESD    656
      IZONE1=IZONE+1                                                    NRRESD    657
      BASKVX=XBASKV(JL)                                                 NRRESD    658
      IBASKV=INT(BASKVX)                                                NRRESD    659
C                                                                       NRRESD    660
C   WITHIN AREA ZONE AND KV RANGE                                       NRRESD    661
C                                                                       NRRESD    662
      IF(IRZONE(IZONE1).AND.IRAREA(IBARK))THEN                          NRRESD    663
       IF(IKVF.LT.IBASKV.AND.IBASKV.LT.IKVT)THEN                        NRRESD    664
        IF(ILFBF.LE.JJ.AND.JJ.LE.ILFBT)THEN                             NRRESD    665
        JREBUS(J)=.TRUE.                                                NRRESD    666
        ENDIF                                                           NRRESD    667
       ENDIF                                                            NRRESD    668
      ENDIF                                                             NRRESD    669
      ENDIF                                                             NRRESD    670
 2080 CONTINUE                                                          NRRESD    671
      GOTO I2000                                                        NRRESD    672
C                                                                       NRRESD    673
C   MATCHING THE RANI                                                   NRRESD    674
C                                                                       NRRESD    675
 2200  CONTINUE                                                         NRRESD    676
         ITHDEV=0                                                       NRRESD    677
         DO 2210 K=1,NRANI                                              NRRESD    678
         JR=JRDAT(K)                                                    NRRESD    679
         NJ=IDDAT(JR+1)                                                 NRRESD    680
         IF(NLF1.EQ.NJ)THEN                                             NRRESD    681
            NK=IDDAT(JR+2)                                              NRRESD    682
            IF(NLF2.EQ.NK)THEN                                          NRRESD    683
               ITFK=IDDAT(JR+3)                                         NRRESD    684
               CALL UNPACK(UID,JJJ,ITFK)                                NRRESD    685
               IF(UID.EQ.UID1)THEN                                      NRRESD    686
               ITHDEV=K                                                 NRRESD    687
               GOTO I750                                                NRRESD    688
               ENDIF                                                    NRRESD    689
            ENDIF                                                       NRRESD    690
         ENDIF                                                          NRRESD    691
 2210    CONTINUE                                                       NRRESD    692
         GOTO I750                                                      NRRESD    693
C                                                                       NRRESD    694
C   MATCHING THE USTC AND USPS                                          NRRESD    695
C                                                                       NRRESD    696
 2220  CONTINUE                                                         NRRESD    697
         ITHDEV=0                                                       NRRESD    698
         DO 2230 K=1,NTCPS                                              NRRESD    699
         JR=JTPDAT(K)                                                   NRRESD    700
         NJ=IDDAT(JR+1)                                                 NRRESD    701
         IF(NLF1.EQ.NJ)THEN                                             NRRESD    702
            NK=IDDAT(JR+2)                                              NRRESD    703
            IF(NLF2.EQ.NK)THEN                                          NRRESD    704
               ITFK=IDDAT(JR+3)                                         NRRESD    705
               CALL UNPACK(UID,JJJ,ITFK)                                NRRESD    706
               IF(UID.EQ.UID1)THEN                                      NRRESD    707
               ITHDEV=K                                                 NRRESD    708
               GOTO I750                                                NRRESD    709
               ENDIF                                                    NRRESD    710
            ENDIF                                                       NRRESD    711
         ENDIF                                                          NRRESD    712
 2230    CONTINUE                                                       NRRESD    713
       GOTO I750                                                        NRRESD    714
C                                                                       NRRESD    715
 3000 FORMAT(' *** WARNING BLOCK DATA GROUP ',A4                        NRRESD    716
     *,' OUT OF RANGE, THE FOLLOWING CARD')                             NRRESD    717
 3001 FORMAT(5X,'HAS BEEN IGNORED, CHECK YOUR DATA KEY WORD.')          NRRESD    718
 3010 FORMAT(1X,A4)                                                     NRRESD    719
 3020 FORMAT(I5,3X,A2,8I5)                                              NRRESD    720
 3030 FORMAT (16I5)                                                     NRRESD    721
 3050 FORMAT(1X,'NRRESD IPOS=',I4,' NLF=',I4,' UID=',A2                 NRRESD    722
     &,' NOPDAT(IPOS+1&2)=',I4,A2)                                      NRRESD    723
 3060 FORMAT(1X,'ROUTINE NRRESD ARRAY NOPDAT',/,(25I4))                 NRRESD    724
 3070 FORMAT(6A4)                                                       NRRESD    725
 3080 FORMAT(2I5,3X,A2,5I5)                                             NRRESD    726
 4100 FORMAT(8A4)                                                       NRRESD    727
 4110 FORMAT(1X,'IPOS=',I5,2('.',8A4,'.'))                              NRRESD    728
 4120 FORMAT(5A4)                                                       NRRESD    729
 4130 FORMAT(1X,'IPOS=',I5,2('.',5A4,'.'))                              NRRESD    730
 4140 FORMAT(2A4)                                                       NRRESD    731
 4150 FORMAT(1X,'IPOS=',I5,2('.',2A4,'.'))                              NRRESD    732
 4160 FORMAT(' *** WARNING OUTPUT ANALYSIS BUS: ',I6)                   NRRESD    733
 4170 FORMAT(1X,' BUS NUMBER EXCEEDED THE LIMIT OF ',I5)                NRRESD    734
C                                                                       NRRESD    735
      END                                                               NRRESD    736
