CFPRIME URACSY                                                          URACSY      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 URACSY                                                 URACSY      3
CD -------------------------------------------------------------------  URACSY      4
CD                                                                      URACSY      5
CD              *****     URACSY   ROUTINE   *****                      URACSY      6
CD                                                                      URACSY      7
CD -------------------------------------------------------------------  URACSY      8
CD                                                                      URACSY      9
CD       PURPOSE:  Controls the reading of the udc type ACSYST data     URACSY     10
CD                 from the input file.  This data type is not used     URACSY     11
CD                 by the Full Stability program and will be ignored.   URACSY     12
CD                                                                      URACSY     13
CD                                                                      URACSY     14
CD       DEFINITION OF LOCAL VARIABLES:                                 URACSY     15
CD                 BNAME  -  current UDC block name                     URACSY     16
CD                 CDATA  -  character input data                       URACSY     17
CD                 DCOUNT -  checks if this block contains an error     URACSY     18
CD                 DPRINT -  prints debug dump if block has an error    URACSY     19
CD                 FOUND  -  search for data was successful             URACSY     20
CD                 I      -  loop index                                 URACSY     21
CD                 IDATA  -  integer input data                         URACSY     22
CD                 LEN    -  length of current UDC block name           URACSY     23
CD                 NAME   -  ac bus name and kv value.                  URACSY     24
CD                 RDATA  -  real input data                            URACSY     25
CD                 REPEAT -  indicates the number of inputs that may be URACSY     26
CD                           repeated                                   URACSY     27
CD                 SNAME  -  UDC subtype name                           URACSY     28
CD                 SUBNAM -  subroutine name                            URACSY     29
CD                 TNAME  -  UDC type name                              URACSY     30
CD                 ZERO   -  value of 0 (new position in BUS NAME array URACSY     31
CD                           if search is unsuccessful)                 URACSY     32
CD                                                                      URACSY     33
CD -------------------------------------------------------------------  URACSY     34
C                                                                       URACSY     35
      INCLUDE 'PARX.INS'                                                URACSY     36
      INCLUDE 'CNPARX.INS'                                              URACSY     37
      INCLUDE 'CNUNIT.INS'                                              URACSY     38
      INCLUDE 'UDCA.INS'                                                URACSY     39
      INCLUDE 'UDCD.INS'                                                URACSY     40
      INCLUDE 'UDCG.INS'                                                URACSY     41
      INCLUDE 'UDCH.INS'                                                URACSY     42
      INCLUDE 'UDCI.INS'                                                URACSY     43
      INCLUDE 'UDCJ.INS'                                                URACSY     44
      INCLUDE 'GRDC01.INS'                                              URACSY     45
      INCLUDE 'CNFLAG.INS'                                              URACSY     46
      INCLUDE 'CNMSG.INS'                                               URACSY     47
C                                                                       URACSY     48
      DIMENSION     RDATA(100), IDATA(100)                              URACSY     49
      LOGICAL       DPRINT, FOUND, LIMITS                               URACSY     50
C                                                                       URACSY     51
      CHARACTER*72  CDATA(100)                                          URACSY     52
      CHARACTER*29  DCCONV                                              URACSY     53
      CHARACTER*20  SUBNAM                                              URACSY     54
      CHARACTER*17  NAME, BNAME, DCLINE                                 URACSY     55
      CHARACTER*15  LOOK                                                URACSY     56
      CHARACTER*8   NODE1, NODE2, SNAME, TNAME                          URACSY     57
C                                                                       URACSY     58
      INCLUDE 'GRBRKR.INS'                                              URACSY     59
      INCLUDE 'GRLIMT.INS'                                              URACSY     60
      INCLUDE 'GRLOGC.INS'                                              URACSY     61
      INCLUDE 'GROTHR.INS'                                              URACSY     62
      INCLUDE 'GRSSSP.INS'                                              URACSY     63
      INCLUDE 'GRUNA.INS'                                               URACSY     64
      INCLUDE 'GRACSY.INS'                                              URACSY     65
C                                                                       URACSY     66
C---------------------------------------------------------------------  URACSY     67
C                                                                       URACSY     68
C     Define subroutine size.                                           URACSY     69
C                                                                       URACSY     70
      LDEB=(JDEB(301).NE.0)                                             URACSY     71
C                                                                       URACSY     72
      IF(SDBG)THEN                                                      URACSY     73
         SUBNAM = 'URACSY ROUTINE.'                                     URACSY     74
      ELSE                                                              URACSY     75
         SUBNAM = ' '                                                   URACSY     76
      ENDIF                                                             URACSY     77
      TNAME = TPNAME(IUDTYP(IUDC))                                      URACSY     78
      BNAME = UDNAME(IUDC)                                              URACSY     79
      LEN = IUDLEN(IUDC)                                                URACSY     80
C                                                                       URACSY     81
      WRITE(MSG(1),9700) SUBNAM                                         URACSY     82
      WRITE(MSG(3),9702) TNAME,BNAME                                    URACSY     83
      WRITE(MSG(2),9701)                                                URACSY     84
      CALL PRTMSG(3)                                                    URACSY     85
      JDCOUN = IERCNT                                                   URACSY     86
      DPRINT = .FALSE.                                                  URACSY     87
C                                                                       URACSY     88
      IF(EXPAND)THEN                                                    URACSY     89
C                                                                       URACSY     90
C        Obtain the subtype name from the saved infromation for this    URACSY     91
C        structure.                                                     URACSY     92
C                                                                       URACSY     93
         SNAME = SBACSY(IUDSUB(IUDC))                                   URACSY     94
      ELSE                                                              URACSY     95
         ENDBLK = .FALSE.                                               URACSY     96
C                                                                       URACSY     97
C        Read the subtype name.                                         URACSY     98
C                                                                       URACSY     99
         CALL URGETC (CDATA(1),FOUND)                                   URACSY    100
         IF(.NOT. FOUND)THEN                                            URACSY    101
            SNAME = STARS                                               URACSY    102
         ELSE                                                           URACSY    103
            SNAME = CDATA(1)                                            URACSY    104
         ENDIF                                                          URACSY    105
      ENDIF                                                             URACSY    106
C                                                                       URACSY    107
C     Determine the required data names and the number of searches      URACSY    108
C     required.                                                         URACSY    109
C                                                                       URACSY    110
      IF(SNAME.EQ.SBACSY(IBUSS))THEN                                    URACSY    111
         IUDSUB(IUDC) = IBUSS                                           URACSY    112
         NUMSRC = 4                                                     URACSY    113
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    114
         SEARCH(2) = 'INPUT BLK NAME'                                   URACSY    115
         SEARCH(3) = 'AC BUS NAME'                                      URACSY    116
         SEARCH(4) = 'KV'                                               URACSY    117
      ELSEIF(SNAME.EQ.SBACSY(ICRXS))THEN                                URACSY    118
         IUDSUB(IUDC) = ICRXS                                           URACSY    119
         NUMSRC = 10                                                    URACSY    120
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    121
         SEARCH(2) = 'INPUT BLK NAME'                                   URACSY    122
         SEARCH(3) = 'LOGIC INPUT1'                                     URACSY    123
         SEARCH(4) = 'OPERATOR'                                         URACSY    124
         SEARCH(5) = 'LOGIC INPUT2'                                     URACSY    125
         SEARCH(6) = 'RESISTANCE'                                       URACSY    126
         SEARCH(7) = 'REACTANCE'                                        URACSY    127
         SEARCH(8) = 'P LOAD'                                           URACSY    128
         SEARCH(9) = 'Q LOAD'                                           URACSY    129
         SEARCH(10) = 'SHUNT'                                           URACSY    130
      ELSEIF(SNAME.EQ.SBACSY(ICSCRS))THEN                               URACSY    131
         IUDSUB(IUDC) = ICRXS                                           URACSY    132
         NUMSRC = 11                                                    URACSY    133
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    134
         SEARCH(2) = 'INPUT BLK NAME'                                   URACSY    135
         SEARCH(3) = 'LOGIC INPUT1'                                     URACSY    136
         SEARCH(4) = 'OPERATOR'                                         URACSY    137
         SEARCH(5) = 'LOGIC INPUT2'                                     URACSY    138
         SEARCH(6) = 'RATING'                                           URACSY    139
         SEARCH(7) = 'SCR'                                              URACSY    140
         SEARCH(8) = 'THETA'                                            URACSY    141
         SEARCH(9) = 'P LOAD'                                           URACSY    142
         SEARCH(10) = 'Q LOAD'                                          URACSY    143
         SEARCH(11) = 'SHUNT'                                           URACSY    144
      ELSEIF(SNAME.EQ.SBACSY(ICRXLS))THEN                               URACSY    145
         IUDSUB(IUDC) = ICRXLS                                          URACSY    146
         NUMSRC = 11                                                    URACSY    147
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    148
         SEARCH(2) = 'INPUT BLK NAME'                                   URACSY    149
         SEARCH(3) = 'LOGIC INPUT1'                                     URACSY    150
         SEARCH(4) = 'OPERATOR'                                         URACSY    151
         SEARCH(5) = 'LOGIC INPUT2'                                     URACSY    152
         SEARCH(6) = 'RESISTANCE'                                       URACSY    153
         SEARCH(7) = 'REACTANCE'                                        URACSY    154
         SEARCH(8) = 'P LOAD'                                           URACSY    155
         SEARCH(9) = 'Q LOAD'                                           URACSY    156
         SEARCH(10) = 'SHUNT'                                           URACSY    157
         SEARCH(11) = 'M BASE'                                          URACSY    158
      ELSEIF(SNAME.EQ.SBACSY(ICSCRL))THEN                               URACSY    159
         IUDSUB(IUDC) = ICRXLS                                          URACSY    160
         NUMSRC = 12                                                    URACSY    161
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    162
         SEARCH(2) = 'INPUT BLK NAME'                                   URACSY    163
         SEARCH(3) = 'LOGIC INPUT1'                                     URACSY    164
         SEARCH(4) = 'OPERATOR'                                         URACSY    165
         SEARCH(5) = 'LOGIC INPUT2'                                     URACSY    166
         SEARCH(6) = 'RATING'                                           URACSY    167
         SEARCH(7) = 'SCR'                                              URACSY    168
         SEARCH(8) = 'THETA'                                            URACSY    169
         SEARCH(9) = 'P LOAD'                                           URACSY    170
         SEARCH(10) = 'Q LOAD'                                          URACSY    171
         SEARCH(11) = 'SHUNT'                                           URACSY    172
         SEARCH(12) = 'M BASE'                                          URACSY    173
      ELSEIF(SNAME.EQ.SBACSY(IRXLFS))THEN                               URACSY    174
         IUDSUB(IUDC) = IRXLFS                                          URACSY    175
         NUMSRC = 12                                                    URACSY    176
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    177
         SEARCH(2) = 'AC BUS NAME'                                      URACSY    178
         SEARCH(3) = 'KV'                                               URACSY    179
         SEARCH(4) = 'RESISTANCE'                                       URACSY    180
         SEARCH(5) = 'REACTANCE'                                        URACSY    181
         SEARCH(6) = 'P LOAD'                                           URACSY    182
         SEARCH(7) = 'Q LOAD'                                           URACSY    183
         SEARCH(8) = 'SHUNT'                                            URACSY    184
         SEARCH(9) = 'TOLERANCE'                                        URACSY    185
         SEARCH(10) = 'M BASE'                                          URACSY    186
         SEARCH(11) = 'XM'                                              URACSY    187
         SEARCH(12) = 'QM'                                              URACSY    188
      ELSEIF(SNAME.EQ.SBACSY(IRXLVS))THEN                               URACSY    189
         IUDSUB(IUDC) = IRXLVS                                          URACSY    190
         NUMSRC = 13                                                    URACSY    191
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    192
         SEARCH(2) = 'VM BLK NAME'                                      URACSY    193
         SEARCH(3) = 'AC BUS NAME'                                      URACSY    194
         SEARCH(4) = 'KV'                                               URACSY    195
         SEARCH(5) = 'RESISTANCE'                                       URACSY    196
         SEARCH(6) = 'REACTANCE'                                        URACSY    197
         SEARCH(7) = 'P LOAD'                                           URACSY    198
         SEARCH(8) = 'Q LOAD'                                           URACSY    199
         SEARCH(9) = 'SHUNT'                                            URACSY    200
         SEARCH(10) = 'TOLERANCE'                                       URACSY    201
         SEARCH(11) = 'M BASE'                                          URACSY    202
         SEARCH(12) = 'XM'                                              URACSY    203
         SEARCH(13) = 'QM'                                              URACSY    204
      ELSEIF(SNAME.EQ.SBACSY(IRXFS))THEN                                URACSY    205
         IUDSUB(IUDC) = IRXFS                                           URACSY    206
         NUMSRC = 9                                                     URACSY    207
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    208
         SEARCH(2) = 'AC BUS NAME'                                      URACSY    209
         SEARCH(3) = 'KV'                                               URACSY    210
         SEARCH(4) = 'RESISTANCE'                                       URACSY    211
         SEARCH(5) = 'REACTANCE'                                        URACSY    212
         SEARCH(6) = 'P LOAD'                                           URACSY    213
         SEARCH(7) = 'Q LOAD'                                           URACSY    214
         SEARCH(8) = 'SHUNT'                                            URACSY    215
         SEARCH(9) = 'TOLERANCE'                                        URACSY    216
      ELSEIF(SNAME.EQ.SBACSY(IRXVS))THEN                                URACSY    217
         IUDSUB(IUDC) = IRXVS                                           URACSY    218
         NUMSRC = 10                                                    URACSY    219
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    220
         SEARCH(2) = 'VS BLK NAME'                                      URACSY    221
         SEARCH(3) = 'AC BUS NAME'                                      URACSY    222
         SEARCH(4) = 'KV'                                               URACSY    223
         SEARCH(5) = 'RESISTANCE'                                       URACSY    224
         SEARCH(6) = 'REACTANCE'                                        URACSY    225
         SEARCH(7) = 'P LOAD'                                           URACSY    226
         SEARCH(8) = 'Q LOAD'                                           URACSY    227
         SEARCH(9) = 'SHUNT'                                            URACSY    228
         SEARCH(10) = 'TOLERANCE'                                       URACSY    229
      ELSEIF(SNAME.EQ.SBACSY(ISCRLF))THEN                               URACSY    230
         IUDSUB(IUDC) = IRXLFS                                          URACSY    231
         NUMSRC = 13                                                    URACSY    232
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    233
         SEARCH(2) = 'AC BUS NAME'                                      URACSY    234
         SEARCH(3) = 'KV'                                               URACSY    235
         SEARCH(4) = 'RATING'                                           URACSY    236
         SEARCH(5) = 'SCR'                                              URACSY    237
         SEARCH(6) = 'THETA'                                            URACSY    238
         SEARCH(7) = 'P LOAD'                                           URACSY    239
         SEARCH(8) = 'Q LOAD'                                           URACSY    240
         SEARCH(9) = 'SHUNT'                                            URACSY    241
         SEARCH(10) = 'TOLERANCE'                                       URACSY    242
         SEARCH(11) = 'M BASE'                                          URACSY    243
         SEARCH(12) = 'XM'                                              URACSY    244
         SEARCH(13) = 'QM'                                              URACSY    245
      ELSEIF(SNAME.EQ.SBACSY(ISCRLV))THEN                               URACSY    246
         IUDSUB(IUDC) = IRXLVS                                          URACSY    247
         NUMSRC = 14                                                    URACSY    248
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    249
         SEARCH(2) = 'VM BLK NAME'                                      URACSY    250
         SEARCH(3) = 'AC BUS NAME'                                      URACSY    251
         SEARCH(4) = 'KV'                                               URACSY    252
         SEARCH(5) = 'RATING'                                           URACSY    253
         SEARCH(6) = 'SCR'                                              URACSY    254
         SEARCH(7) = 'THETA'                                            URACSY    255
         SEARCH(8) = 'P LOAD'                                           URACSY    256
         SEARCH(9) = 'Q LOAD'                                           URACSY    257
         SEARCH(10) = 'SHUNT'                                           URACSY    258
         SEARCH(11) = 'TOLERANCE'                                       URACSY    259
         SEARCH(12) = 'M BASE'                                          URACSY    260
         SEARCH(13) = 'XM'                                              URACSY    261
         SEARCH(14) = 'QM'                                              URACSY    262
      ELSEIF(SNAME.EQ.SBACSY(ISCRFS))THEN                               URACSY    263
         IUDSUB(IUDC) = IRXFS                                           URACSY    264
         NUMSRC = 10                                                    URACSY    265
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    266
         SEARCH(2) = 'AC BUS NAME'                                      URACSY    267
         SEARCH(3) = 'KV'                                               URACSY    268
         SEARCH(4) = 'RATING'                                           URACSY    269
         SEARCH(5) = 'SCR'                                              URACSY    270
         SEARCH(6) = 'THETA'                                            URACSY    271
         SEARCH(7) = 'P LOAD'                                           URACSY    272
         SEARCH(8) = 'Q LOAD'                                           URACSY    273
         SEARCH(9) = 'SHUNT'                                            URACSY    274
         SEARCH(10) = 'TOLERANCE'                                       URACSY    275
      ELSEIF(SNAME.EQ.SBACSY(ISCRVS))THEN                               URACSY    276
         IUDSUB(IUDC) = IRXVS                                           URACSY    277
         NUMSRC = 11                                                    URACSY    278
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    279
         SEARCH(2) = 'VS BLK NAME'                                      URACSY    280
         SEARCH(3) = 'AC BUS NAME'                                      URACSY    281
         SEARCH(4) = 'KV'                                               URACSY    282
         SEARCH(5) = 'RATING'                                           URACSY    283
         SEARCH(6) = 'SCR'                                              URACSY    284
         SEARCH(7) = 'THETA'                                            URACSY    285
         SEARCH(8) = 'P LOAD'                                           URACSY    286
         SEARCH(9) = 'Q LOAD'                                           URACSY    287
         SEARCH(10) = 'SHUNT'                                           URACSY    288
         SEARCH(11) = 'TOLERANCE'                                       URACSY    289
      ELSEIF(SNAME.EQ.SBACSY(IRXLFD))THEN                               URACSY    290
         IUDSUB(IUDC) = IRXLFD                                          URACSY    291
         NUMSRC = 14                                                    URACSY    292
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    293
         SEARCH(2) = 'AC BUS NAME'                                      URACSY    294
         SEARCH(3) = 'KV'                                               URACSY    295
         SEARCH(4) = 'RESISTANCE'                                       URACSY    296
         SEARCH(5) = 'REACTANCE'                                        URACSY    297
         SEARCH(6) = 'P LOAD'                                           URACSY    298
         SEARCH(7) = 'Q LOAD'                                           URACSY    299
         SEARCH(8) = 'SHUNT'                                            URACSY    300
         SEARCH(9) = 'TOLERANCE'                                        URACSY    301
         SEARCH(10) = 'M BASE'                                          URACSY    302
         SEARCH(11) = 'XM'                                              URACSY    303
         SEARCH(12) = 'QM'                                              URACSY    304
         SEARCH(13) = 'INERTIA'                                         URACSY    305
         SEARCH(14) = 'DAMPING'                                         URACSY    306
      ELSEIF(SNAME.EQ.SBACSY(IRXLVD))THEN                               URACSY    307
         IUDSUB(IUDC) = IRXLVD                                          URACSY    308
         NUMSRC = 15                                                    URACSY    309
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    310
         SEARCH(2) = 'VM BLK NAME'                                      URACSY    311
         SEARCH(3) = 'AC BUS NAME'                                      URACSY    312
         SEARCH(4) = 'KV'                                               URACSY    313
         SEARCH(5) = 'RESISTANCE'                                       URACSY    314
         SEARCH(6) = 'REACTANCE'                                        URACSY    315
         SEARCH(7) = 'P LOAD'                                           URACSY    316
         SEARCH(8) = 'Q LOAD'                                           URACSY    317
         SEARCH(9) = 'SHUNT'                                            URACSY    318
         SEARCH(10) = 'TOLERANCE'                                       URACSY    319
         SEARCH(11) = 'M BASE'                                          URACSY    320
         SEARCH(12) = 'XM'                                              URACSY    321
         SEARCH(13) = 'QM'                                              URACSY    322
         SEARCH(14) = 'INERTIA'                                         URACSY    323
         SEARCH(15) = 'DAMPING'                                         URACSY    324
      ELSEIF(SNAME.EQ.SBACSY(ISCRLF))THEN                               URACSY    325
         IUDSUB(IUDC) = IRXLFD                                          URACSY    326
         NUMSRC = 15                                                    URACSY    327
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    328
         SEARCH(2) = 'AC BUS NAME'                                      URACSY    329
         SEARCH(3) = 'KV'                                               URACSY    330
         SEARCH(4) = 'RATING'                                           URACSY    331
         SEARCH(5) = 'SCR'                                              URACSY    332
         SEARCH(6) = 'THETA'                                            URACSY    333
         SEARCH(7) = 'P LOAD'                                           URACSY    334
         SEARCH(8) = 'Q LOAD'                                           URACSY    335
         SEARCH(9) = 'SHUNT'                                            URACSY    336
         SEARCH(10) = 'TOLERANCE'                                       URACSY    337
         SEARCH(11) = 'M BASE'                                          URACSY    338
         SEARCH(12) = 'XM'                                              URACSY    339
         SEARCH(13) = 'QM'                                              URACSY    340
         SEARCH(14) = 'INERTIA'                                         URACSY    341
         SEARCH(15) = 'DAMPING'                                         URACSY    342
      ELSEIF(SNAME.EQ.SBACSY(ISCRLV))THEN                               URACSY    343
         IUDSUB(IUDC) = IRXLVD                                          URACSY    344
         NUMSRC = 16                                                    URACSY    345
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    346
         SEARCH(2) = 'VM BLK NAME'                                      URACSY    347
         SEARCH(3) = 'AC BUS NAME'                                      URACSY    348
         SEARCH(4) = 'KV'                                               URACSY    349
         SEARCH(5) = 'RATING'                                           URACSY    350
         SEARCH(6) = 'SCR'                                              URACSY    351
         SEARCH(7) = 'THETA'                                            URACSY    352
         SEARCH(8) = 'P LOAD'                                           URACSY    353
         SEARCH(9) = 'Q LOAD'                                           URACSY    354
         SEARCH(10) = 'SHUNT'                                           URACSY    355
         SEARCH(11) = 'TOLERANCE'                                       URACSY    356
         SEARCH(12) = 'M BASE'                                          URACSY    357
         SEARCH(13) = 'XM'                                              URACSY    358
         SEARCH(14) = 'QM'                                              URACSY    359
         SEARCH(15) = 'INERTIA'                                         URACSY    360
         SEARCH(16) = 'DAMPING'                                         URACSY    361
      ELSEIF(SNAME.EQ.SBACSY(IVMONS))THEN                               URACSY    362
         IUDSUB(IUDC) = IVMONS                                          URACSY    363
         NUMSRC = 2                                                     URACSY    364
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    365
         SEARCH(2) = 'INPUT BLK NAME'                                   URACSY    366
      ELSE                                                              URACSY    367
         IUDSUB(IUDC) = 0                                               URACSY    368
         NUMSRC = 0                                                     URACSY    369
         NAME = ' '                                                     URACSY    370
      ENDIF                                                             URACSY    371
C                                                                       URACSY    372
C     Based on the data names required, determine the type of           URACSY    373
C     searches and length of data names.                                URACSY    374
C                                                                       URACSY    375
      DO 20 I=1,NUMSRC                                                  URACSY    376
         IF(SEARCH(I).EQ.'PRINT FLAG')THEN                              URACSY    377
            TYPE(I) = 'CHAR'                                            URACSY    378
            LENGTH(I) = 10                                              URACSY    379
         ELSEIF(SEARCH(I).EQ.'VS BLK NAME' .OR.                         URACSY    380
     1            SEARCH(I).EQ.'VM BLK NAME')THEN                       URACSY    381
            TYPE(I) = 'CHAR'                                            URACSY    382
            LENGTH(I) = 11                                              URACSY    383
         ELSEIF(SEARCH(I).EQ.'INPUT BLK NAME')THEN                      URACSY    384
            TYPE(I) = 'CHAR'                                            URACSY    385
            LENGTH(I) = 14                                              URACSY    386
         ELSEIF(SEARCH(I).EQ.'LOGIC INPUT1' .OR.                        URACSY    387
     1            SEARCH(I).EQ.'LOGIC INPUT2')THEN                      URACSY    388
            TYPE(I) = 'RECH'                                            URACSY    389
            LENGTH(I) = 12                                              URACSY    390
         ELSEIF(SEARCH(I).EQ.'OPERATOR')THEN                            URACSY    391
            TYPE(I) = 'CHAR'                                            URACSY    392
            LENGTH(I) = 8                                               URACSY    393
         ELSEIF(SEARCH(I).EQ.'AC BUS NAME')THEN                         URACSY    394
            TYPE(I) = 'CHAR'                                            URACSY    395
            LENGTH(I) = 11                                              URACSY    396
         ELSEIF(SEARCH(I).EQ.'KV')THEN                                  URACSY    397
            TYPE(I) = 'CHAR'                                            URACSY    398
            LENGTH(I) = 2                                               URACSY    399
         ELSEIF(SEARCH(I).EQ.'RATING')THEN                              URACSY    400
            TYPE(I) = 'REAL'                                            URACSY    401
            LENGTH(I) = 6                                               URACSY    402
         ELSEIF(SEARCH(I).EQ.'SCR')THEN                                 URACSY    403
            TYPE(I) = 'REAL'                                            URACSY    404
            LENGTH(I) = 3                                               URACSY    405
         ELSEIF(SEARCH(I).EQ.'THETA')THEN                               URACSY    406
            TYPE(I) = 'REAL'                                            URACSY    407
            LENGTH(I) = 5                                               URACSY    408
         ELSEIF(SEARCH(I).EQ.'P LOAD')THEN                              URACSY    409
            TYPE(I) = 'REAL'                                            URACSY    410
            LENGTH(I) = 6                                               URACSY    411
         ELSEIF(SEARCH(I).EQ.'Q LOAD')THEN                              URACSY    412
            TYPE(I) = 'REAL'                                            URACSY    413
            LENGTH(I) = 6                                               URACSY    414
         ELSEIF(SEARCH(I).EQ.'SHUNT')THEN                               URACSY    415
            TYPE(I) = 'REAL'                                            URACSY    416
            LENGTH(I) = 5                                               URACSY    417
         ELSEIF(SEARCH(I).EQ.'TOLERANCE')THEN                           URACSY    418
            TYPE(I) = 'REAL'                                            URACSY    419
            LENGTH(I) = 9                                               URACSY    420
         ELSEIF(SEARCH(I).EQ.'RESISTANCE')THEN                          URACSY    421
            TYPE(I) = 'REAL'                                            URACSY    422
            LENGTH(I) = 10                                              URACSY    423
         ELSEIF(SEARCH(I).EQ.'REACTANCE')THEN                           URACSY    424
            TYPE(I) = 'REAL'                                            URACSY    425
            LENGTH(I) = 9                                               URACSY    426
         ELSEIF(SEARCH(I).EQ.'M BASE')THEN                              URACSY    427
            TYPE(I) = 'REAL'                                            URACSY    428
            LENGTH(I) = 6                                               URACSY    429
         ELSEIF(SEARCH(I).EQ.'XM')THEN                                  URACSY    430
            TYPE(I) = 'REAL'                                            URACSY    431
            LENGTH(I) = 2                                               URACSY    432
         ELSEIF(SEARCH(I).EQ.'QM')THEN                                  URACSY    433
            TYPE(I) = 'REAL'                                            URACSY    434
            LENGTH(I) = 2                                               URACSY    435
         ELSEIF(SEARCH(I).EQ.'INERTIA')THEN                             URACSY    436
            TYPE(I) = 'REAL'                                            URACSY    437
            LENGTH(I) = 7                                               URACSY    438
         ELSEIF(SEARCH(I).EQ.'DAMPING')THEN                             URACSY    439
            TYPE(I) = 'REAL'                                            URACSY    440
            LENGTH(I) = 7                                               URACSY    441
         ENDIF                                                          URACSY    442
20    CONTINUE                                                          URACSY    443
C                                                                       URACSY    444
C     Retrieve necessary data from input file.                          URACSY    445
C                                                                       URACSY    446
      JREPEA = 0                                                        URACSY    447
      CALL URREAD(CDATA,RDATA,IDATA,JREPEA)                             URACSY    448
C                                                                       URACSY    449
      IF(DEFINE)THEN                                                    URACSY    450
         IUDC = IUDC - 1                                                URACSY    451
      ENDIF                                                             URACSY    452
C                                                                       URACSY    453
      RETURN                                                            URACSY    454
C                                                                       URACSY    455
C                                                                       URACSY    456
C---------------------------------------------------------------------  URACSY    457
C                                                                       URACSY    458
      ENTRY URBRKR                                                      URACSY    459
CD -------------------------------------------------------------------  URACSY    460
CD                                                                      URACSY    461
CD              *****     URBRKR   ROUTINE   *****                      URACSY    462
CD                                                                      URACSY    463
CD -------------------------------------------------------------------  URACSY    464
CD                                                                      URACSY    465
CD       PURPOSE:  Controls the reading of the udc type BREAKR data     URACSY    466
CD                 from the input file.  Does limited error checking.   URACSY    467
CD                 Stores valid data in the udc storage arrays.         URACSY    468
CD                                                                      URACSY    469
CD -------------------------------------------------------------------  URACSY    470
C                                                                       URACSY    471
      LDEB = (JDEB(301).NE.0)                                           URACSY    472
C                                                                       URACSY    473
C     Define subroutine size.                                           URACSY    474
C                                                                       URACSY    475
      IF (SDBG) THEN                                                    URACSY    476
         SUBNAM = 'URBRKR ROUTINE.'                                     URACSY    477
      ELSE                                                              URACSY    478
         SUBNAM = ' '                                                   URACSY    479
      END IF                                                            URACSY    480
      TNAME = TPNAME(IUDTYP(IUDC))                                      URACSY    481
      BNAME = UDNAME(IUDC)                                              URACSY    482
      LEN = IUDLEN(IUDC)                                                URACSY    483
C                                                                       URACSY    484
      IDCOUN = IERCNT                                                   URACSY    485
      DPRINT = .FALSE.                                                  URACSY    486
      NAME = ' '                                                        URACSY    487
      NODE1 = ' '                                                       URACSY    488
      NODE2 = ' '                                                       URACSY    489
C                                                                       URACSY    490
      IF (EXPAND) THEN                                                  URACSY    491
C                                                                       URACSY    492
C        Obtain the subtype name from the saved information for this    URACSY    493
C        structure.                                                     URACSY    494
C                                                                       URACSY    495
         SNAME = SBBRKR(IUDSUB(IUDC))                                   URACSY    496
      ELSE                                                              URACSY    497
         ENDBLK = .FALSE.                                               URACSY    498
C                                                                       URACSY    499
C        Read the subtype name.                                         URACSY    500
C                                                                       URACSY    501
         CALL URGETC (CDATA(1), FOUND)                                  URACSY    502
         IF (.NOT. FOUND) THEN                                          URACSY    503
            SNAME = STARS                                               URACSY    504
         ELSE                                                           URACSY    505
            SNAME = CDATA(1)                                            URACSY    506
            IF (SNAME .NE. CDATA(1)) THEN                               URACSY    507
         WRITE(MSG(1),9000) SUBNAM                                      URACSY    508
         WRITE(MSG(2),9001) TNAME                                       URACSY    509
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY    510
         WRITE(MSG(4),9003) CDATA(1)(1:32)                              URACSY    511
         WRITE(MSG(5),9004) SNAME                                       URACSY    512
         WRITE(MSG(6),9005)                                             URACSY    513
         CALL PRTMSG(6)                                                 URACSY    514
               IERCNT = IERCNT + 1                                      URACSY    515
            END IF                                                      URACSY    516
         END IF                                                         URACSY    517
      END IF                                                            URACSY    518
C                                                                       URACSY    519
C     Determine the required data names and the number of searches      URACSY    520
C     required.                                                         URACSY    521
C                                                                       URACSY    522
      IF (SNAME .EQ. SBBRKR(JBREAK)) THEN                               URACSY    523
         IUDSUB(IUDC) = JBREAK                                          URACSY    524
         NUMSRC = 12                                                    URACSY    525
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    526
         SEARCH(2) = 'BUS A'                                            URACSY    527
         SEARCH(3) = 'BUS B'                                            URACSY    528
         SEARCH(4) = 'CIRCUIT NO'                                       URACSY    529
         SEARCH(5) = 'OPEN REQUEST'                                     URACSY    530
         SEARCH(6) = 'OPEN DELAY TIME'                                  URACSY    531
         SEARCH(7) = 'VOLT RISE TIME'                                   URACSY    532
         SEARCH(8) = 'VOLTAGE MAX'                                      URACSY    533
         SEARCH(9) = 'OPEN CURRNT MAX'                                  URACSY    534
         SEARCH(10) = 'OPEN CURRENT'                                    URACSY    535
         SEARCH(11) = 'CLOSE REQUEST'                                   URACSY    536
         SEARCH(12) = 'CLOSE DELAY TIM'                                 URACSY    537
      ELSE IF (SNAME .EQ. SBBRKR(JDISCO)) THEN                          URACSY    538
         IUDSUB(IUDC) = JDISCO                                          URACSY    539
         NUMSRC = 7                                                     URACSY    540
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    541
         SEARCH(2) = 'BUS A'                                            URACSY    542
         SEARCH(3) = 'BUS B'                                            URACSY    543
         SEARCH(4) = 'CIRCUIT NO'                                       URACSY    544
         SEARCH(5) = 'OPEN REQUEST'                                     URACSY    545
         SEARCH(6) = 'OPEN CURRNT MAX'                                  URACSY    546
         SEARCH(7) = 'CLOSE REQUEST'                                    URACSY    547
      ELSE                                                              URACSY    548
         IUDSUB(IUDC) = 0                                               URACSY    549
         NUMSRC = 0                                                     URACSY    550
         WRITE(MSG(1),9000) SUBNAM                                      URACSY    551
         WRITE(MSG(2),9001) TNAME                                       URACSY    552
         WRITE(MSG(3),9703) BNAME(1:LEN), SNAME                         URACSY    553
         WRITE(MSG(4),9704)                                             URACSY    554
         WRITE(MSG(5),9005)                                             URACSY    555
         CALL PRTMSG(5)                                                 URACSY    556
         IERCNT = IERCNT + 1                                            URACSY    557
      END IF                                                            URACSY    558
C                                                                       URACSY    559
C     Based on the data names required, determine the type of           URACSY    560
C     searches and length of data names.                                URACSY    561
C                                                                       URACSY    562
      DO 30 I = 1, NUMSRC                                               URACSY    563
         IF (SEARCH(I) .EQ. 'PRINT FLAG') THEN                          URACSY    564
            TYPE(I) = 'CHAR'                                            URACSY    565
            LENGTH(I) = 10                                              URACSY    566
         ELSE IF (SEARCH(I) .EQ. 'BUS A' .OR.                           URACSY    567
     1            SEARCH(I) .EQ. 'BUS B') THEN                          URACSY    568
            TYPE(I) = 'CHAR'                                            URACSY    569
            LENGTH(I) = 5                                               URACSY    570
         ELSE IF (SEARCH(I) .EQ. 'CIRCUIT NO') THEN                     URACSY    571
            TYPE(I) = 'CHAR'                                            URACSY    572
            LENGTH(I) = 10                                              URACSY    573
         ELSE IF (SEARCH(I) .EQ. 'OPEN REQUEST') THEN                   URACSY    574
            TYPE(I) = 'CHAR'                                            URACSY    575
            LENGTH(I) = 12                                              URACSY    576
         ELSE IF (SEARCH(I) .EQ. 'OPEN DELAY TIME') THEN                URACSY    577
            TYPE(I) = 'REAL'                                            URACSY    578
            LENGTH(I) = 15                                              URACSY    579
         ELSE IF (SEARCH(I) .EQ. 'VOLT RISE TIME') THEN                 URACSY    580
            TYPE(I) = 'REAL'                                            URACSY    581
            LENGTH(I) = 14                                              URACSY    582
         ELSE IF (SEARCH(I) .EQ. 'VOLTAGE MAX') THEN                    URACSY    583
            TYPE(I) = 'REAL'                                            URACSY    584
            LENGTH(I) = 11                                              URACSY    585
         ELSE IF (SEARCH(I) .EQ. 'OPEN CURRNT MAX') THEN                URACSY    586
            TYPE(I) = 'REAL'                                            URACSY    587
            LENGTH(I) = 15                                              URACSY    588
         ELSE IF (SEARCH(I) .EQ. 'OPEN CURRENT') THEN                   URACSY    589
            TYPE(I) = 'REAL'                                            URACSY    590
            LENGTH(I) = 12                                              URACSY    591
         ELSE IF (SEARCH(I) .EQ. 'CLOSE REQUEST') THEN                  URACSY    592
            TYPE(I) = 'CHAR'                                            URACSY    593
            LENGTH(I) = 13                                              URACSY    594
         ELSE IF (SEARCH(I) .EQ. 'CLOSE DELAY TIM') THEN                URACSY    595
            TYPE(I) = 'REAL'                                            URACSY    596
            LENGTH(I) = 15                                              URACSY    597
         END IF                                                         URACSY    598
30    CONTINUE                                                          URACSY    599
C                                                                       URACSY    600
C     Retrieve necessary data from input file.                          URACSY    601
C                                                                       URACSY    602
      IREPEA = 0                                                        URACSY    603
      CALL URREAD (CDATA, RDATA, IDATA, IREPEA)                         URACSY    604
C                                                                       URACSY    605
C     For debugging purposes: dump block name, type name and number and URACSY    606
C     subtype name and number.                                          URACSY    607
C                                                                       URACSY    608
      IF (IDCOUN .NE. IERCNT) THEN                                      URACSY    609
         DPRINT = .TRUE.                                                URACSY    610
      END IF                                                            URACSY    611
C                                                                       URACSY    612
      IF(LDEB .OR. DPRINT)THEN                                          URACSY    613
         IF(LDEB) THEN                                                  URACSY    614
            WRITE (IUD6,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC),        URACSY    615
     1                      SNAME, IUDSUB(IUDC)                         URACSY    616
         ELSE                                                           URACSY    617
            WRITE (IU16,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC),        URACSY    618
     1                      SNAME, IUDSUB(IUDC)                         URACSY    619
         ENDIF                                                          URACSY    620
      END IF                                                            URACSY    621
C                                                                       URACSY    622
      IF (DEFINE) THEN                                                  URACSY    623
C                                                                       URACSY    624
C        Save the information in the structure linked list.             URACSY    625
C                                                                       URACSY    626
         CALL ADDSTR(CDATA,RDATA,IDATA)                                 URACSY    627
      ELSE                                                              URACSY    628
C                                                                       URACSY    629
C        Store the valid data.                                          URACSY    630
C                                                                       URACSY    631
         IUDSPT(IUDC) = 0                                               URACSY    632
         IUDOPT(IUDC) = 0                                               URACSY    633
         IUNIPT(IUDC) = 0                                               URACSY    634
         IUDPPT(IUDC) = 0                                               URACSY    635
         IUDRPT(IUDC) = 0                                               URACSY    636
C                                                                       URACSY    637
         DO 60 I = 1, NUMSRC                                            URACSY    638
C                                                                       URACSY    639
            IF (SEARCH(I) .EQ. 'PRINT FLAG') THEN                       URACSY    640
C                                                                       URACSY    641
C              Store the print flag - invalid print flag is assumed to  URACSY    642
C              be false.                                                URACSY    643
C                                                                       URACSY    644
               IF (TYPE(I) .NE. ' ') THEN                               URACSY    645
                  IF (CDATA(I) .EQ. '1' .OR. CDATA(I) .EQ. 'T' .OR.     URACSY    646
     1                CDATA(I) .EQ. 'P' .OR. CDATA(I) .EQ. 'Y') THEN    URACSY    647
                     UDPRNT(IUDC) = .TRUE.                              URACSY    648
                  ELSE                                                  URACSY    649
                     UDPRNT(IUDC) = .FALSE.                             URACSY    650
                  END IF                                                URACSY    651
                  IF (CDATA(I)(1:1) .NE. CDATA(I)) THEN                 URACSY    652
         WRITE(MSG(1),9008) SUBNAM                                      URACSY    653
         WRITE(MSG(2),9009) TNAME                                       URACSY    654
         WRITE(MSG(3),9900) BNAME(1:LEN),CDATA(I)(1:32)                 URACSY    655
         WRITE(MSG(4),9901)                                             URACSY    656
         CALL PRTMSG(4)                                                 URACSY    657
                  END IF                                                URACSY    658
               ELSE                                                     URACSY    659
                  CDATA(I) = STARS                                      URACSY    660
                  UDPRNT(IUDC) = .FALSE.                                URACSY    661
               END IF                                                   URACSY    662
C                                                                       URACSY    663
            ELSE IF (SEARCH(I) .EQ. 'BUS A') THEN                       URACSY    664
C                                                                       URACSY    665
C              Store the first part of the BREAKER name.                URACSY    666
C                                                                       URACSY    667
               IF (TYPE(I) .EQ. ' ') THEN                               URACSY    668
                  NAME(1:8) = STARS                                     URACSY    669
                  NODE1 = STARS                                         URACSY    670
               ELSE                                                     URACSY    671
                  NAME(1:8) = CDATA(I)                                  URACSY    672
                  NODE1 = CDATA(I)                                      URACSY    673
                  IF (NAME(1:8) .NE. CDATA(I)) THEN                     URACSY    674
         WRITE(MSG(1),9000) SUBNAM                                      URACSY    675
         WRITE(MSG(2),9001) TNAME                                       URACSY    676
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY    677
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY    678
         WRITE(MSG(5),9004) NAME(1:8)                                   URACSY    679
         WRITE(MSG(6),9005)                                             URACSY    680
         CALL PRTMSG(6)                                                 URACSY    681
                     IERCNT = IERCNT + 1                                URACSY    682
                  END IF                                                URACSY    683
               END IF                                                   URACSY    684
C                                                                       URACSY    685
            ELSE IF (SEARCH(I) .EQ. 'BUS B') THEN                       URACSY    686
C                                                                       URACSY    687
C              Store the second part of the BREAKER name.               URACSY    688
C                                                                       URACSY    689
               IF (TYPE(I) .EQ. ' ') THEN                               URACSY    690
                  NAME(9:16) = STARS                                    URACSY    691
                  NODE2 = STARS                                         URACSY    692
               ELSE                                                     URACSY    693
                  NAME(9:16) = CDATA(I)                                 URACSY    694
                  NODE2 = CDATA(I)                                      URACSY    695
                  IF (NAME(9:16) .NE. CDATA(I)) THEN                    URACSY    696
         WRITE(MSG(1),9000) SUBNAM                                      URACSY    697
         WRITE(MSG(2),9001) TNAME                                       URACSY    698
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY    699
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY    700
         WRITE(MSG(5),9004) NAME(9:16)                                  URACSY    701
         WRITE(MSG(6),9005)                                             URACSY    702
         CALL PRTMSG(6)                                                 URACSY    703
                     IERCNT = IERCNT + 1                                URACSY    704
                  END IF                                                URACSY    705
               END IF                                                   URACSY    706
C                                                                       URACSY    707
C                                                                       URACSY    708
            ELSE IF (SEARCH(I) .EQ. 'CIRCUIT NO') THEN                  URACSY    709
C                                                                       URACSY    710
C              Store the circuit number in the breaker name.            URACSY    711
C                                                                       URACSY    712
               IF (TYPE(I) .EQ. ' ') THEN                               URACSY    713
                  NAME(17:17) = '*'                                     URACSY    714
               ELSE                                                     URACSY    715
                  NAME(17:17) = CDATA(I)                                URACSY    716
                  IF (NAME(17:17) .NE. CDATA(I)) THEN                   URACSY    717
         WRITE(MSG(1),9000) SUBNAM                                      URACSY    718
         WRITE(MSG(2),9001) TNAME                                       URACSY    719
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY    720
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY    721
         WRITE(MSG(5),9004) NAME(17:17)                                 URACSY    722
         WRITE(MSG(6),9005)                                             URACSY    723
         CALL PRTMSG(6)                                                 URACSY    724
                     IERCNT = IERCNT + 1                                URACSY    725
                  END IF                                                URACSY    726
               END IF                                                   URACSY    727
C                                                                       URACSY    728
C              With the complete breaker name, search the DC history    URACSY    729
C              data for a match.                                        URACSY    730
C                                                                       URACSY    731
               INDEX = 0                                                URACSY    732
               DO 40 J = 1, IBDC                                        URACSY    733
                  IPTR  = IDCB(J)                                       URACSY    734
                  IF (DCBNAM(IPTR) .EQ. NAME) INDEX = IPTR              URACSY    735
40             CONTINUE                                                 URACSY    736
C                                                                       URACSY    737
               IF (INDEX .EQ. 0) THEN                                   URACSY    738
                  IERCNT = IERCNT + 1                                   URACSY    739
         WRITE(MSG(1),9000) SUBNAM                                      URACSY    740
         WRITE(MSG(2),9001) TNAME                                       URACSY    741
         WRITE(MSG(3),9010) BNAME(1:LEN),NAME                           URACSY    742
         WRITE(MSG(4),9011)                                             URACSY    743
         WRITE(MSG(5),9005)                                             URACSY    744
         CALL PRTMSG(5)                                                 URACSY    745
               END IF                                                   URACSY    746
C                                                                       URACSY    747
C              Store the index into the voltage arrays.                 URACSY    748
C                                                                       URACSY    749
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY    750
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY    751
C                                                                       URACSY    752
               UIDENT(IADDI) = ' '                                      URACSY    753
               IUDINT(IADDI) = INDEX                                    URACSY    754
C                                                                       URACSY    755
            ELSE IF (SEARCH(I) .NE. ' ') THEN                           URACSY    756
C                                                                       URACSY    757
C              Store all other valid input values.                      URACSY    758
C                                                                       URACSY    759
               CALL ADDINT (IUDC,  IADDI,  LASTI)                       URACSY    760
               CALL ADDPRM (IUDC,  IADDP,  LASTP)                       URACSY    761
               IF (TYPE(I) .EQ. ' ') THEN                               URACSY    762
                  UIDENT(IADDI) = STARS                                 URACSY    763
               ELSE IF (TYPE(I) .EQ. 'REAL') THEN                       URACSY    764
                  IF (RDATA(I) .EQ. 0.0) THEN                           URACSY    765
                     IF (SEARCH(I) .EQ. 'VOLT RISE TIME') THEN          URACSY    766
         WRITE(MSG(1),9000) SUBNAM                                      URACSY    767
         WRITE(MSG(2),9001) TNAME                                       URACSY    768
         WRITE(MSG(3),9012) BNAME(1:LEN),RDATA(I)                       URACSY    769
         WRITE(MSG(4),9013)                                             URACSY    770
         WRITE(MSG(5),9705) CTIME                                       URACSY    771
         CALL PRTMSG(5)                                                 URACSY    772
                        RDATA(I) = CTIME                                URACSY    773
                     END IF                                             URACSY    774
                  END IF                                                URACSY    775
                  IF (RDATA(I) .LT. 0.0) THEN                           URACSY    776
                     IF (SEARCH(I) .EQ. 'OPEN CURRNT MAX' .OR.          URACSY    777
     1                   SEARCH(I) .EQ. 'OPEN DELAY TIME' .OR.          URACSY    778
     2                   SEARCH(I) .EQ. 'CLOSE DELAY TIM' .OR.          URACSY    779
     3                   SEARCH(I) .EQ. 'VOLT RISE TIME') THEN          URACSY    780
                        IERCNT = IERCNT + 1                             URACSY    781
         WRITE(MSG(1),9000) SUBNAM                                      URACSY    782
         WRITE(MSG(2),9001) TNAME                                       URACSY    783
         WRITE(MSG(3),9014) BNAME(1:LEN),RDATA(I)                       URACSY    784
         WRITE(MSG(4),9015) SEARCH(I)                                   URACSY    785
         WRITE(MSG(5),9005)                                             URACSY    786
         CALL PRTMSG(5)                                                 URACSY    787
                     END IF                                             URACSY    788
                  END IF                                                URACSY    789
                  UDPARM(IADDP) = RDATA(I)                              URACSY    790
               ELSE IF (TYPE(I) .EQ. 'CHAR') THEN                       URACSY    791
                  IF (EXPAND .AND. CDATA(I)(1:1) .EQ. '.') THEN         URACSY    792
C                                                                       URACSY    793
C                    Expand the block name if it begins with '.'        URACSY    794
C                                                                       URACSY    795
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY    796
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY    797
                     CDATA(I) = UIDENT(IADDI)                           URACSY    798
                  ELSE                                                  URACSY    799
                     UIDENT(IADDI) = CDATA(I)                           URACSY    800
                  END IF                                                URACSY    801
               END IF                                                   URACSY    802
C                                                                       URACSY    803
            END IF                                                      URACSY    804
60       CONTINUE                                                       URACSY    805
      END IF                                                            URACSY    806
C                                                                       URACSY    807
C                                                                       URACSY    808
C---------------------------------------------------------------------  URACSY    809
C                                                                       URACSY    810
C     For debugging purposes: dump all valid data. For invalid data a   URACSY    811
C     'NOT DEFINED' message will be printed.                            URACSY    812
C                                                                       URACSY    813
      IF (LDEB .OR. DPRINT) THEN                                        URACSY    814
         DO 80 I = 1, NUMSRC                                            URACSY    815
            N = LENGTH(I) + 1                                           URACSY    816
            IF (N .LE. 15) SEARCH(I)(N:N) = ':'                         URACSY    817
            IF (DEFINE) THEN                                            URACSY    818
               IF (CDATA(I) .EQ. '%') THEN                              URACSY    819
                  IF(LDEB) THEN                                         URACSY    820
                     WRITE(IUD6,9016) SEARCH(I),'% INPUT %'             URACSY    821
                  ELSE                                                  URACSY    822
                     WRITE(IU16,9016) SEARCH(I),'% INPUT %'             URACSY    823
                  ENDIF                                                 URACSY    824
               ELSE IF (TYPE(I) .EQ. 'CHAR') THEN                       URACSY    825
                  IF(LDEB) THEN                                         URACSY    826
                     WRITE(IUD6,9016) SEARCH(I), CDATA(I)               URACSY    827
                  ELSE                                                  URACSY    828
                     WRITE(IU16,9016) SEARCH(I), CDATA(I)               URACSY    829
                  ENDIF                                                 URACSY    830
               ELSE IF (TYPE(I) .EQ. 'REAL') THEN                       URACSY    831
                  IF(LDEB) THEN                                         URACSY    832
                     WRITE(IUD6,9018) SEARCH(I), RDATA(I)               URACSY    833
                  ELSE                                                  URACSY    834
                     WRITE(IU16,9018) SEARCH(I), RDATA(I)               URACSY    835
                  ENDIF                                                 URACSY    836
               ELSE IF (TYPE(I) .EQ. 'INTE') THEN                       URACSY    837
                  IF(LDEB) THEN                                         URACSY    838
                     WRITE(IUD6,9018) SEARCH(I), IDATA(I)               URACSY    839
                  ELSE                                                  URACSY    840
                     WRITE(IU16,9018) SEARCH(I), IDATA(I)               URACSY    841
                  ENDIF                                                 URACSY    842
               ELSE IF (TYPE(I) .EQ. ' ') THEN                          URACSY    843
                  WRITE(MSG(1),9020) SEARCH(I)                          URACSY    844
                  CALL PRTMSG(1)                                        URACSY    845
               END IF                                                   URACSY    846
            ELSE                                                        URACSY    847
               IF (TYPE(I) .EQ. 'CHAR') THEN                            URACSY    848
                  IF(LDEB) THEN                                         URACSY    849
                     WRITE(IUD6,9016) SEARCH(I),CDATA(I)                URACSY    850
                  ELSE                                                  URACSY    851
                     WRITE(IU16,9016) SEARCH(I),CDATA(I)                URACSY    852
                  ENDIF                                                 URACSY    853
               ELSE IF (TYPE(I) .EQ. 'REAL') THEN                       URACSY    854
                  IF(LDEB) THEN                                         URACSY    855
                     WRITE(IUD6,9018) SEARCH(I), RDATA(I)               URACSY    856
                  ELSE                                                  URACSY    857
                     WRITE(IU16,9018) SEARCH(I), RDATA(I)               URACSY    858
                  ENDIF                                                 URACSY    859
               ELSE IF (TYPE(I) .EQ. 'INTE') THEN                       URACSY    860
                  IF(LDEB) THEN                                         URACSY    861
                     WRITE(IUD6,9018) SEARCH(I), IDATA(I)               URACSY    862
                  ELSE                                                  URACSY    863
                     WRITE(IU16,9018) SEARCH(I), IDATA(I)               URACSY    864
                  ENDIF                                                 URACSY    865
               ELSE IF (TYPE(I) .EQ. ' ') THEN                          URACSY    866
                  WRITE(MSG(1),9020) SEARCH(I)                          URACSY    867
                  CALL PRTMSG(1)                                        URACSY    868
               END IF                                                   URACSY    869
            END IF                                                      URACSY    870
80       CONTINUE                                                       URACSY    871
      END IF                                                            URACSY    872
C                                                                       URACSY    873
      IF (DEFINE) THEN                                                  URACSY    874
         IUDC = IUDC - 1                                                URACSY    875
      END IF                                                            URACSY    876
C                                                                       URACSY    877
      RETURN                                                            URACSY    878
C                                                                       URACSY    879
C                                                                       URACSY    880
C---------------------------------------------------------------------  URACSY    881
C                                                                       URACSY    882
      ENTRY URLIMT                                                      URACSY    883
CD -------------------------------------------------------------------  URACSY    884
CD                                                                      URACSY    885
CD              *****     URLIMT  ROUTINE   *****                       URACSY    886
CD                                                                      URACSY    887
CD -------------------------------------------------------------------  URACSY    888
CD                                                                      URACSY    889
CD       PURPOSE:  Controls the reading of the udc type LIMIT data      URACSY    890
CD                 from the input file.  Does limited error checking.   URACSY    891
CD                 Stores valid data in the udc storage arrays.         URACSY    892
CD                                                                      URACSY    893
CD -------------------------------------------------------------------  URACSY    894
C                                                                       URACSY    895
C     Define subroutine name.                                           URACSY    896
C                                                                       URACSY    897
      LDEB=(JDEB(301).NE.0)                                             URACSY    898
C                                                                       URACSY    899
      IF(SDBG)THEN                                                      URACSY    900
         SUBNAM = 'URLIMT ROUTINE.'                                     URACSY    901
      ELSE                                                              URACSY    902
         SUBNAM = ' '                                                   URACSY    903
      END IF                                                            URACSY    904
      TNAME = TPNAME(IUDTYP(IUDC))                                      URACSY    905
      BNAME = UDNAME(IUDC)                                              URACSY    906
      LEN = IUDLEN(IUDC)                                                URACSY    907
C                                                                       URACSY    908
C     Forces an interrupted card image if an error is found.            URACSY    909
C                                                                       URACSY    910
      JDCOUN = IERCNT                                                   URACSY    911
      DPRINT = .FALSE.                                                  URACSY    912
C                                                                       URACSY    913
      IF(EXPAND)THEN                                                    URACSY    914
C                                                                       URACSY    915
C        Obtain the subtype name from the saved information for this    URACSY    916
C        structure.                                                     URACSY    917
C                                                                       URACSY    918
         SNAME = SBLIMT(IUDSUB(IUDC))                                   URACSY    919
C                                                                       URACSY    920
      ELSE                                                              URACSY    921
C                                                                       URACSY    922
C        Read the subtype name.                                         URACSY    923
C                                                                       URACSY    924
         ENDBLK = .FALSE.                                               URACSY    925
         CALL URGETC (CDATA(1), FOUND)                                  URACSY    926
         IF(.NOT. FOUND)THEN                                            URACSY    927
            SNAME = STARS                                               URACSY    928
         ELSE                                                           URACSY    929
            SNAME = CDATA(1)                                            URACSY    930
            IF(SNAME .NE. CDATA(1))THEN                                 URACSY    931
         WRITE(MSG(1),9000) SUBNAM                                      URACSY    932
         WRITE(MSG(2),9001) TNAME                                       URACSY    933
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY    934
         WRITE(MSG(4),9003) CDATA(1)(1:32)                              URACSY    935
         WRITE(MSG(5),9004) SNAME                                       URACSY    936
         WRITE(MSG(6),9005)                                             URACSY    937
         CALL PRTMSG(6)                                                 URACSY    938
               IERCNT = IERCNT + 1                                      URACSY    939
            END IF                                                      URACSY    940
         END IF                                                         URACSY    941
      END IF                                                            URACSY    942
C                                                                       URACSY    943
C---------------------------------------------------------------------  URACSY    944
C                                                                       URACSY    945
C     Determine the required data names and the number of searches      URACSY    946
C     required.                                                         URACSY    947
C                                                                       URACSY    948
C     Static limit.                                                     URACSY    949
C                                                                       URACSY    950
      IF(SNAME.EQ.SBLIMT(ISTATC))THEN                                   URACSY    951
         IUDSUB(IUDC) = ISTATC                                          URACSY    952
         NUMSRC = 5                                                     URACSY    953
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    954
         SEARCH(2) = 'INPUT BLOCK'                                      URACSY    955
         SEARCH(3) = 'GAIN'                                             URACSY    956
         SEARCH(4) = 'MINIMUM'                                          URACSY    957
         SEARCH(5) = 'MAXIMUM'                                          URACSY    958
C                                                                       URACSY    959
      ELSEIF(SNAME.EQ.SBLIMT(IDYNMC))THEN                               URACSY    960
         IUDSUB(IUDC) = IDYNMC                                          URACSY    961
         NUMSRC = 8                                                     URACSY    962
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    963
         SEARCH(2) = 'INPUT BLOCK'                                      URACSY    964
         SEARCH(3) = 'A'                                                URACSY    965
         SEARCH(4) = 'B'                                                URACSY    966
         SEARCH(5) = 'D'                                                URACSY    967
         SEARCH(6) = 'E'                                                URACSY    968
         SEARCH(7) = 'MINIMUM'                                          URACSY    969
         SEARCH(8) = 'MAXIMUM'                                          URACSY    970
C                                                                       URACSY    971
C     Rate limit.                                                       URACSY    972
C                                                                       URACSY    973
      ELSEIF(SNAME.EQ.SBLIMT(IRATES)) THEN                              URACSY    974
         IUDSUB(IUDC) = IRATES                                          URACSY    975
         NUMSRC = 6                                                     URACSY    976
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    977
         SEARCH(2) = 'INPUT BLOCK'                                      URACSY    978
         SEARCH(3) = 'DOWN RATE'                                        URACSY    979
         SEARCH(4) = 'UP RATE'                                          URACSY    980
         SEARCH(5) = 'MINIMUM'                                          URACSY    981
         SEARCH(6) = 'MAXIMUM'                                          URACSY    982
C                                                                       URACSY    983
C     Variable rate limit.                                              URACSY    984
C                                                                       URACSY    985
      ELSEIF(SNAME.EQ.SBLIMT(IVRATE)) THEN                              URACSY    986
         IUDSUB(IUDC) = IVRATE                                          URACSY    987
         NUMSRC = 7                                                     URACSY    988
         SEARCH(1) = 'PRINT FLAG'                                       URACSY    989
         SEARCH(2) = 'INPUT BLOCK'                                      URACSY    990
         SEARCH(3) = 'TC'                                               URACSY    991
         SEARCH(4) = 'DOWN RATE'                                        URACSY    992
         SEARCH(5) = 'UP RATE'                                          URACSY    993
         SEARCH(6) = 'MINIMUM'                                          URACSY    994
         SEARCH(7) = 'MAXIMUM'                                          URACSY    995
C                                                                       URACSY    996
C     Invalid subtype.                                                  URACSY    997
C                                                                       URACSY    998
      ELSE                                                              URACSY    999
         IUDSUB(IUDC) = 0                                               URACSY   1000
         NUMSRC = 0                                                     URACSY   1001
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1002
         WRITE(MSG(2),9001) TNAME                                       URACSY   1003
         WRITE(MSG(3),9703) BNAME(1:LEN),SNAME                          URACSY   1004
         WRITE(MSG(4),9104)                                             URACSY   1005
         WRITE(MSG(5),9005)                                             URACSY   1006
         CALL PRTMSG(5)                                                 URACSY   1007
         IERCNT = IERCNT + 1                                            URACSY   1008
      END IF                                                            URACSY   1009
C                                                                       URACSY   1010
C---------------------------------------------------------------------  URACSY   1011
C                                                                       URACSY   1012
C     Based on the data names required, determine the type of searches, URACSY   1013
C     and length of data names.                                         URACSY   1014
C                                                                       URACSY   1015
      DO 120 I = 1, NUMSRC                                              URACSY   1016
         IF(SEARCH(I).EQ.'PRINT FLAG')THEN                              URACSY   1017
            TYPE(I) = 'CHAR'                                            URACSY   1018
            LENGTH(I) = 10                                              URACSY   1019
         ELSEIF(SEARCH(I).EQ.'INPUT BLOCK')THEN                         URACSY   1020
            TYPE(I) = 'CHAR'                                            URACSY   1021
            LENGTH(I) = 11                                              URACSY   1022
         ELSEIF(SEARCH(I) .EQ. 'A' .OR.                                 URACSY   1023
     1          SEARCH(I) .EQ. 'B' .OR.                                 URACSY   1024
     2          SEARCH(I) .EQ. 'D' .OR.                                 URACSY   1025
     3          SEARCH(I) .EQ. 'E')THEN                                 URACSY   1026
            TYPE(I) = 'REAL'                                            URACSY   1027
            LENGTH(I) = 1                                               URACSY   1028
         ELSEIF(SEARCH(I).EQ.'GAIN')THEN                                URACSY   1029
            TYPE(I) = 'REAL'                                            URACSY   1030
            LENGTH(I) = 4                                               URACSY   1031
         ELSEIF(SEARCH(I).EQ.'TC')THEN                                  URACSY   1032
            TYPE(I) = 'RECH'                                            URACSY   1033
            LENGTH(I) = 2                                               URACSY   1034
         ELSEIF(SEARCH(I).EQ.'DOWN RATE')THEN                           URACSY   1035
            TYPE(I) = 'RECH'                                            URACSY   1036
            LENGTH(I) = 9                                               URACSY   1037
         ELSEIF(SEARCH(I).EQ.'UP RATE'.OR.                              URACSY   1038
     1          SEARCH(I).EQ.'MINIMUM'.OR.                              URACSY   1039
     2          SEARCH(I).EQ.'MAXIMUM')THEN                             URACSY   1040
            TYPE(I) = 'RECH'                                            URACSY   1041
            LENGTH(I) = 7                                               URACSY   1042
         END IF                                                         URACSY   1043
120   CONTINUE                                                          URACSY   1044
C                                                                       URACSY   1045
C---------------------------------------------------------------------  URACSY   1046
C                                                                       URACSY   1047
C     Retrieve the necessary data from the input file.                  URACSY   1048
C                                                                       URACSY   1049
      JREPEA = 0                                                        URACSY   1050
      CALL URREAD (CDATA, RDATA, IDATA, JREPEA)                         URACSY   1051
C                                                                       URACSY   1052
C---------------------------------------------------------------------  URACSY   1053
C                                                                       URACSY   1054
C     For debugging purposes:  dump block name, type name and           URACSY   1055
C     number, and subtype name and number.                              URACSY   1056
C                                                                       URACSY   1057
      IF(JDCOUN .NE. IERCNT)THEN                                        URACSY   1058
         DPRINT = .TRUE.                                                URACSY   1059
      END IF                                                            URACSY   1060
C                                                                       URACSY   1061
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   1062
         IF(LDEB) THEN                                                  URACSY   1063
            WRITE (IUD6,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   1064
     1                      IUDSUB(IUDC)                                URACSY   1065
         ELSE                                                           URACSY   1066
            WRITE (IU16,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   1067
     1                      IUDSUB(IUDC)                                URACSY   1068
         ENDIF                                                          URACSY   1069
      END IF                                                            URACSY   1070
C                                                                       URACSY   1071
C---------------------------------------------------------------------  URACSY   1072
C                                                                       URACSY   1073
      IF(DEFINE)THEN                                                    URACSY   1074
C                                                                       URACSY   1075
C        Save information in the structure linked list.                 URACSY   1076
C                                                                       URACSY   1077
         CALL ADDSTR (CDATA, RDATA, IDATA)                              URACSY   1078
C                                                                       URACSY   1079
      ELSE                                                              URACSY   1080
C                                                                       URACSY   1081
C        Store valid data.                                              URACSY   1082
C                                                                       URACSY   1083
         IUNIPT(IUDC) = 0                                               URACSY   1084
         IUDPPT(IUDC) = 0                                               URACSY   1085
         IUDRPT(IUDC) = 0                                               URACSY   1086
         IUDSPT(IUDC) = 0                                               URACSY   1087
C                                                                       URACSY   1088
         DO 140 I = 1, NUMSRC                                           URACSY   1089
C                                                                       URACSY   1090
C                                                                       URACSY   1091
C              a)   Store print flag.                                   URACSY   1092
C                                                                       URACSY   1093
            IF(SEARCH(I).EQ.'PRINT FLAG')THEN                           URACSY   1094
C                                                                       URACSY   1095
C              Invalid print flag is assumed to be false.               URACSY   1096
C                                                                       URACSY   1097
               IF(TYPE(I) .NE. ' ')THEN                                 URACSY   1098
                  IF(CDATA(I).EQ.'1' .OR. CDATA(I).EQ.'T' .OR.          URACSY   1099
     1                CDATA(I).EQ.'P' .OR. CDATA(I).EQ.'Y')THEN         URACSY   1100
                     UDPRNT(IUDC) = .TRUE.                              URACSY   1101
                  ELSE                                                  URACSY   1102
                     UDPRNT(IUDC) = .FALSE.                             URACSY   1103
                  END IF                                                URACSY   1104
                  IF(CDATA(I)(1:1) .NE. CDATA(I))THEN                   URACSY   1105
         WRITE(MSG(1),9008) SUBNAM                                      URACSY   1106
         WRITE(MSG(2),9009) TNAME                                       URACSY   1107
         WRITE(MSG(3),9900) BNAME(1:LEN),CDATA(I)(1:32)                 URACSY   1108
         WRITE(MSG(4),9901)                                             URACSY   1109
         CALL PRTMSG(4)                                                 URACSY   1110
                  END IF                                                URACSY   1111
               ELSE                                                     URACSY   1112
                  CDATA(I) = STARS                                      URACSY   1113
                  UDPRNT(IUDC) = .FALSE.                                URACSY   1114
               END IF                                                   URACSY   1115
C                                                                       URACSY   1116
C              b)   Store input block.                                  URACSY   1117
C                                                                       URACSY   1118
            ELSEIF(SEARCH(I).EQ.'INPUT BLOCK')THEN                      URACSY   1119
C                                                                       URACSY   1120
C              Create new link for identification linked list.          URACSY   1121
C                                                                       URACSY   1122
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   1123
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   1124
                  UIDENT(IADDI) = STARS                                 URACSY   1125
               ELSE                                                     URACSY   1126
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   1127
C                                                                       URACSY   1128
C                    Expand the block name if it begins with "."        URACSY   1129
C                                                                       URACSY   1130
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   1131
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   1132
                     CDATA(I) = UIDENT(IADDI)                           URACSY   1133
                  ELSE                                                  URACSY   1134
                     UIDENT(IADDI) = CDATA(I)                           URACSY   1135
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   1136
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1137
         WRITE(MSG(2),9001) TNAME                                       URACSY   1138
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   1139
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   1140
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   1141
         WRITE(MSG(6),9005)                                             URACSY   1142
         CALL PRTMSG(6)                                                 URACSY   1143
                        IERCNT = IERCNT + 1                             URACSY   1144
                     END IF                                             URACSY   1145
                  END IF                                                URACSY   1146
               END IF                                                   URACSY   1147
C                                                                       URACSY   1148
C     Store minimum, maximum, up rate, or down rate.                    URACSY   1149
C                                                                       URACSY   1150
            ELSEIF(SEARCH(I).EQ.'MINIMUM' .OR.                          URACSY   1151
     1             SEARCH(I).EQ.'MAXIMUM' .OR.                          URACSY   1152
     2             SEARCH(I).EQ.'UP RATE' .OR.                          URACSY   1153
     3             SEARCH(I).EQ.'DOWN RATE' .OR.                        URACSY   1154
     4             SEARCH(I).EQ.'TC')THEN                               URACSY   1155
C                                                                       URACSY   1156
C              Create new link for identification linked list, and      URACSY   1157
C              parameter linked list.                                   URACSY   1158
C                                                                       URACSY   1159
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   1160
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   1161
C                                                                       URACSY   1162
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   1163
                  UIDENT(IADDI) = STARS                                 URACSY   1164
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   1165
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   1166
C                                                                       URACSY   1167
C                    Expand the block name if it begins with "."        URACSY   1168
C                                                                       URACSY   1169
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   1170
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   1171
                     CDATA(I) = UIDENT(IADDI)                           URACSY   1172
                  ELSE                                                  URACSY   1173
                     UIDENT(IADDI) = CDATA(I)                           URACSY   1174
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   1175
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1176
         WRITE(MSG(2),9001) TNAME                                       URACSY   1177
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   1178
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   1179
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   1180
         WRITE(MSG(6),9005)                                             URACSY   1181
         CALL PRTMSG(6)                                                 URACSY   1182
                        IERCNT = IERCNT + 1                             URACSY   1183
                     END IF                                             URACSY   1184
                  END IF                                                URACSY   1185
               ELSEIF(TYPE(I).EQ.'REAL')THEN                            URACSY   1186
                  UDPARM(IADDP) = RDATA(I)                              URACSY   1187
               END IF                                                   URACSY   1188
C                                                                       URACSY   1189
C                                                                       URACSY   1190
C                                                                       URACSY   1191
C              c)   Store gain, a, b, d, or e.                          URACSY   1192
C                                                                       URACSY   1193
            ELSEIF(SEARCH(I).EQ.'GAIN' .OR.                             URACSY   1194
     1               SEARCH(I).EQ.'A' .OR.                              URACSY   1195
     2               SEARCH(I).EQ.'B' .OR.                              URACSY   1196
     3               SEARCH(I).EQ.'D' .OR.                              URACSY   1197
     4               SEARCH(I).EQ.'E')THEN                              URACSY   1198
C                                                                       URACSY   1199
C              Create new link for parameter linked list.               URACSY   1200
C                                                                       URACSY   1201
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   1202
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   1203
                  UDPARM(IADDP) = 0.0                                   URACSY   1204
               ELSE                                                     URACSY   1205
                  UDPARM(IADDP) = RDATA(I)                              URACSY   1206
               END IF                                                   URACSY   1207
C                                                                       URACSY   1208
               IF(SEARCH(I).EQ.'E'.AND.UDPARM(IADDP).EQ.0.0)THEN        URACSY   1209
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1210
         WRITE(MSG(2),9001) TNAME                                       URACSY   1211
         WRITE(MSG(3),9110) BNAME(1:LEN)                                URACSY   1212
         WRITE(MSG(4),9111)                                             URACSY   1213
         WRITE(MSG(5),9112)                                             URACSY   1214
         CALL PRTMSG(5)                                                 URACSY   1215
                  IERCNT = IERCNT + 1                                   URACSY   1216
               END IF                                                   URACSY   1217
C                                                                       URACSY   1218
            END IF                                                      URACSY   1219
C                                                                       URACSY   1220
140      CONTINUE                                                       URACSY   1221
      END IF                                                            URACSY   1222
C                                                                       URACSY   1223
C---------------------------------------------------------------------  URACSY   1224
C                                                                       URACSY   1225
C     For debugging purposes:  dump all valid data.  For                URACSY   1226
C     invalid data a not defined message will be printed.               URACSY   1227
C                                                                       URACSY   1228
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   1229
         DO 160 I = 1, NUMSRC                                           URACSY   1230
            N = LENGTH(I) + 1                                           URACSY   1231
            SEARCH(I)(N:N) = ':'                                        URACSY   1232
            IF(TYPE(I).EQ.'CHAR')THEN                                   URACSY   1233
               IF(LDEB) THEN                                            URACSY   1234
                  WRITE (IUD6,9016) SEARCH(I), CDATA(I)                 URACSY   1235
               ELSE                                                     URACSY   1236
                  WRITE (IU16,9016) SEARCH(I), CDATA(I)                 URACSY   1237
               ENDIF                                                    URACSY   1238
            ELSEIF(TYPE(I).EQ.'REAL')THEN                               URACSY   1239
               IF(LDEB) THEN                                            URACSY   1240
                  WRITE (IUD6,9018) SEARCH(I), RDATA(I)                 URACSY   1241
               ELSE                                                     URACSY   1242
                  WRITE (IU16,9018) SEARCH(I), RDATA(I)                 URACSY   1243
               ENDIF                                                    URACSY   1244
            ELSEIF(TYPE(I).EQ.'INTE')THEN                               URACSY   1245
               IF(LDEB) THEN                                            URACSY   1246
                  WRITE (IUD6,9116) SEARCH(I), IDATA(I)                 URACSY   1247
               ELSE                                                     URACSY   1248
                  WRITE (IU16,9116) SEARCH(I), IDATA(I)                 URACSY   1249
               ENDIF                                                    URACSY   1250
            ELSEIF(TYPE(I).EQ.' ')THEN                                  URACSY   1251
                  WRITE(MSG(1),9020) SEARCH(I)                          URACSY   1252
                  CALL PRTMSG(1)                                        URACSY   1253
            END IF                                                      URACSY   1254
160      CONTINUE                                                       URACSY   1255
      END IF                                                            URACSY   1256
C                                                                       URACSY   1257
      IF(DEFINE)THEN                                                    URACSY   1258
         IUDC = IUDC - 1                                                URACSY   1259
      END IF                                                            URACSY   1260
C                                                                       URACSY   1261
C---------------------------------------------------------------------  URACSY   1262
C                                                                       URACSY   1263
      RETURN                                                            URACSY   1264
C                                                                       URACSY   1265
C---------------------------------------------------------------------  URACSY   1266
C                                                                       URACSY   1267
C                                                                       URACSY   1268
C---------------------------------------------------------------------  URACSY   1269
C                                                                       URACSY   1270
      ENTRY URLOGC                                                      URACSY   1271
CD -------------------------------------------------------------------  URACSY   1272
CD                                                                      URACSY   1273
CD              *****     URLOGCD ROUTINE   *****                       URACSY   1274
CD                                                                      URACSY   1275
CD -------------------------------------------------------------------  URACSY   1276
CD                                                                      URACSY   1277
CD       PURPOSE:  Controls the reading of the udc type LOGIC data      URACSY   1278
CD                 from the input file.  Does limited error checking.   URACSY   1279
CD                 Stores valid data in the udc storage arrays.         URACSY   1280
CD                                                                      URACSY   1281
CD -------------------------------------------------------------------  URACSY   1282
C                                                                       URACSY   1283
C     Define subroutine name.                                           URACSY   1284
C                                                                       URACSY   1285
      LDEB=(JDEB(301).NE.0)                                             URACSY   1286
C                                                                       URACSY   1287
                                                                        URACSY   1288
      IF(SDBG)THEN                                                      URACSY   1289
         SUBNAM = 'URLOGC ROUTINE.'                                     URACSY   1290
      ELSE                                                              URACSY   1291
         SUBNAM = ' '                                                   URACSY   1292
      END IF                                                            URACSY   1293
      TNAME = TPNAME(IUDTYP(IUDC))                                      URACSY   1294
      BNAME = UDNAME(IUDC)                                              URACSY   1295
      LEN = IUDLEN(IUDC)                                                URACSY   1296
C                                                                       URACSY   1297
C     Forces an interrupted card image if an error is found.            URACSY   1298
C                                                                       URACSY   1299
      JDCOUN = IERCNT                                                   URACSY   1300
      DPRINT = .FALSE.                                                  URACSY   1301
C                                                                       URACSY   1302
      IF( EXPAND)THEN                                                   URACSY   1303
C                                                                       URACSY   1304
C        Obtain the subtype name form the saved information for this    URACSY   1305
C        structure.                                                     URACSY   1306
C                                                                       URACSY   1307
         SNAME = SBLOGC(IUDSUB(IUDC))                                   URACSY   1308
C                                                                       URACSY   1309
      ELSE                                                              URACSY   1310
C                                                                       URACSY   1311
C        Read the subtype name.                                         URACSY   1312
C                                                                       URACSY   1313
         ENDBLK = .FALSE.                                               URACSY   1314
         CALL URGETC (CDATA(1), FOUND)                                  URACSY   1315
         IF(.NOT. FOUND)THEN                                            URACSY   1316
            SNAME = STARS                                               URACSY   1317
         ELSE                                                           URACSY   1318
            SNAME = CDATA(1)                                            URACSY   1319
            IF(SNAME .NE. CDATA(1))THEN                                 URACSY   1320
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1321
         WRITE(MSG(2),9001) TNAME                                       URACSY   1322
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   1323
         WRITE(MSG(4),9003) CDATA(1)(1:32)                              URACSY   1324
         WRITE(MSG(5),9004) SNAME                                       URACSY   1325
         WRITE(MSG(6),9005)                                             URACSY   1326
         CALL PRTMSG(6)                                                 URACSY   1327
                IERCNT = IERCNT + 1                                     URACSY   1328
             END IF                                                     URACSY   1329
         END IF                                                         URACSY   1330
      END IF                                                            URACSY   1331
C                                                                       URACSY   1332
C---------------------------------------------------------------------  URACSY   1333
C                                                                       URACSY   1334
C     Determine the required data names and the number of searches      URACSY   1335
C     required.                                                         URACSY   1336
C                                                                       URACSY   1337
      JREPEA = 0                                                        URACSY   1338
C                                                                       URACSY   1339
C     Logical expression.                                               URACSY   1340
C                                                                       URACSY   1341
      IF(SNAME.EQ.SBLOGC(IEXPRE))THEN                                   URACSY   1342
         NUMSRC = 4                                                     URACSY   1343
         IUDSUB(IUDC) = IEXPRE                                          URACSY   1344
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1345
         SEARCH(2) = 'LOGIC1 INPUT1'                                    URACSY   1346
         SEARCH(3) = 'OPERATOR 1'                                       URACSY   1347
         SEARCH(4) = 'LOGIC1 INPUT2'                                    URACSY   1348
C                                                                       URACSY   1349
C     Boolean AND function.                                             URACSY   1350
C                                                                       URACSY   1351
      ELSEIF(SNAME.EQ.SBLOGC(IANDS))THEN                                URACSY   1352
         NUMSRC = 2                                                     URACSY   1353
         IUDSUB(IUDC) = IANDS                                           URACSY   1354
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1355
         SEARCH(2) = 'INPUT'                                            URACSY   1356
         JREPEA = 1                                                     URACSY   1357
C                                                                       URACSY   1358
C     Boolean OR function.                                              URACSY   1359
C                                                                       URACSY   1360
      ELSEIF(SNAME.EQ.SBLOGC(IORS))THEN                                 URACSY   1361
         NUMSRC = 2                                                     URACSY   1362
         IUDSUB(IUDC) = IORS                                            URACSY   1363
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1364
         SEARCH(2) = 'INPUT'                                            URACSY   1365
         JREPEA = 1                                                     URACSY   1366
C                                                                       URACSY   1367
C     Flipflop switch.                                                  URACSY   1368
C                                                                       URACSY   1369
      ELSEIF(SNAME.EQ.SBLOGC(IFFLOP))THEN                               URACSY   1370
         NUMSRC = 7                                                     URACSY   1371
         IUDSUB(IUDC) = IFFLOP                                          URACSY   1372
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1373
         SEARCH(2) = 'LOGIC1 INPUT1'                                    URACSY   1374
         SEARCH(3) = 'OPERATOR 1'                                       URACSY   1375
         SEARCH(4) = 'LOGIC1 INPUT2'                                    URACSY   1376
         SEARCH(5) = 'LOGIC2 INPUT1'                                    URACSY   1377
         SEARCH(6) = 'OPERATOR 2'                                       URACSY   1378
         SEARCH(7) = 'LOGIC2 INPUT2'                                    URACSY   1379
C                                                                       URACSY   1380
C     Boolean NOT function.                                             URACSY   1381
C                                                                       URACSY   1382
      ELSEIF(SNAME.EQ.SBLOGC(NOTS))THEN                                 URACSY   1383
         NUMSRC = 2                                                     URACSY   1384
         IUDSUB(IUDC) = NOTS                                            URACSY   1385
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1386
         SEARCH(2) = 'INPUT'                                            URACSY   1387
C                                                                       URACSY   1388
C     Boolean XOR function.                                             URACSY   1389
C                                                                       URACSY   1390
      ELSEIF(SNAME.EQ.SBLOGC(IXORS))THEN                                URACSY   1391
         NUMSRC = 2                                                     URACSY   1392
         IUDSUB(IUDC) = IXORS                                           URACSY   1393
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1394
         SEARCH(2) = 'INPUT'                                            URACSY   1395
         JREPEA = 1                                                     URACSY   1396
C                                                                       URACSY   1397
C     Logical control switch.                                           URACSY   1398
C                                                                       URACSY   1399
      ELSEIF(SNAME.EQ.SBLOGC(ISWTCH))THEN                               URACSY   1400
         NUMSRC = 9                                                     URACSY   1401
         IUDSUB(IUDC) = ISWTCH                                          URACSY   1402
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1403
         SEARCH(2) = 'INPUT 1'                                          URACSY   1404
         SEARCH(3) = 'LOGIC1 INPUT1'                                    URACSY   1405
         SEARCH(4) = 'OPERATOR 1'                                       URACSY   1406
         SEARCH(5) = 'LOGIC1 INPUT2'                                    URACSY   1407
         SEARCH(6) = 'INPUT 2'                                          URACSY   1408
         SEARCH(7) = 'LOGIC2 INPUT1'                                    URACSY   1409
         SEARCH(8) = 'OPERATOR 2'                                       URACSY   1410
         SEARCH(9) = 'LOGIC2 INPUT2'                                    URACSY   1411
C                                                                       URACSY   1412
C     Logical control timer.                                            URACSY   1413
C                                                                       URACSY   1414
      ELSEIF(SNAME.EQ.SBLOGC(ITIMER))THEN                               URACSY   1415
         NUMSRC = 7                                                     URACSY   1416
         IUDSUB(IUDC) = ITIMER                                          URACSY   1417
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1418
         SEARCH(2) = 'LOGIC1 INPUT1'                                    URACSY   1419
         SEARCH(3) = 'OPERATOR 1'                                       URACSY   1420
         SEARCH(4) = 'LOGIC1 INPUT2'                                    URACSY   1421
         SEARCH(5) = 'LOGIC2 INPUT1'                                    URACSY   1422
         SEARCH(6) = 'OPERATOR 2'                                       URACSY   1423
         SEARCH(7) = 'LOGIC2 INPUT2'                                    URACSY   1424
C                                                                       URACSY   1425
C     Logical counter.                                                  URACSY   1426
C                                                                       URACSY   1427
      ELSEIF(SNAME.EQ.SBLOGC(ICOUNT))THEN                               URACSY   1428
         NUMSRC = 4                                                     URACSY   1429
         IUDSUB(IUDC) = ICOUNT                                          URACSY   1430
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1431
         SEARCH(2) = 'LOGIC1 INPUT1'                                    URACSY   1432
         SEARCH(3) = 'OPERATOR 1'                                       URACSY   1433
         SEARCH(4) = 'LOGIC1 INPUT2'                                    URACSY   1434
C                                                                       URACSY   1435
C     Zero Order Hold.                                                  URACSY   1436
C                                                                       URACSY   1437
      ELSEIF(SNAME.EQ.SBLOGC(IZEROS))THEN                               URACSY   1438
         NUMSRC = 4                                                     URACSY   1439
         IUDSUB(IUDC) = IZEROS                                          URACSY   1440
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1441
         SEARCH(2) = 'INPUT BLOCK'                                      URACSY   1442
         SEARCH(3) = 'DESIRED TIME'                                     URACSY   1443
         SEARCH(4) = 'TIME STEP'                                        URACSY   1444
C                                                                       URACSY   1445
C     Invalid subtype name.                                             URACSY   1446
C                                                                       URACSY   1447
      ELSE                                                              URACSY   1448
         IUDSUB(IUDC) = 0                                               URACSY   1449
         NUMSRC = 0                                                     URACSY   1450
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1451
         WRITE(MSG(2),9001) TNAME                                       URACSY   1452
         WRITE(MSG(3),9703) BNAME(1:LEN),SNAME                          URACSY   1453
         WRITE(MSG(4),9104)                                             URACSY   1454
         WRITE(MSG(5),9005)                                             URACSY   1455
         CALL PRTMSG(5)                                                 URACSY   1456
         IERCNT = IERCNT + 1                                            URACSY   1457
      END IF                                                            URACSY   1458
C                                                                       URACSY   1459
C---------------------------------------------------------------------  URACSY   1460
C                                                                       URACSY   1461
C     Based on the data names required, determine the type of searches, URACSY   1462
C     and length of data names.                                         URACSY   1463
C                                                                       URACSY   1464
      DO 220 I = 1, NUMSRC                                              URACSY   1465
         IF(SEARCH(I).EQ.'LOGIC1 INPUT1' .OR.                           URACSY   1466
     1       SEARCH(I).EQ.'LOGIC2 INPUT1' .OR.                          URACSY   1467
     2       SEARCH(I).EQ.'LOGIC1 INPUT2' .OR.                          URACSY   1468
     3       SEARCH(I).EQ.'LOGIC2 INPUT2')THEN                          URACSY   1469
            TYPE(I) = 'RECH'                                            URACSY   1470
            LENGTH(I) = 13                                              URACSY   1471
C                                                                       URACSY   1472
         ELSEIF(SEARCH(I).EQ.'INPUT 1' .OR.                             URACSY   1473
     1            SEARCH(I).EQ.'INPUT 2')THEN                           URACSY   1474
            TYPE(I) = 'RECH'                                            URACSY   1475
            LENGTH(I) = 7                                               URACSY   1476
C                                                                       URACSY   1477
         ELSEIF(SEARCH(I).EQ.'INPUT')THEN                               URACSY   1478
            TYPE(I) = 'RECH'                                            URACSY   1479
            LENGTH(I) = 5                                               URACSY   1480
C                                                                       URACSY   1481
         ELSEIF(SEARCH(I).EQ.'INPUT BLOCK')THEN                         URACSY   1482
            TYPE(I) = 'CHAR'                                            URACSY   1483
            LENGTH(I) = 11                                              URACSY   1484
C                                                                       URACSY   1485
         ELSEIF(SEARCH(I).EQ.'PRINT FLAG' .OR.                          URACSY   1486
     1            SEARCH(I).EQ.'OPERATOR 1' .OR.                        URACSY   1487
     2            SEARCH(I).EQ.'OPERATOR 2')THEN                        URACSY   1488
            TYPE(I) = 'CHAR'                                            URACSY   1489
            LENGTH(I) = 10                                              URACSY   1490
C                                                                       URACSY   1491
         ELSEIF(SEARCH(I).EQ.'OPERATOR')THEN                            URACSY   1492
            TYPE(I) = 'CHAR'                                            URACSY   1493
            LENGTH(I) = 8                                               URACSY   1494
C                                                                       URACSY   1495
         ELSEIF(SEARCH(I).EQ.'DESIRED TIME')THEN                        URACSY   1496
            TYPE(I) = 'REAL'                                            URACSY   1497
            LENGTH(I) = 12                                              URACSY   1498
C                                                                       URACSY   1499
         ELSEIF(SEARCH(I).EQ.'TIME STEP')THEN                           URACSY   1500
            TYPE(I) = 'REAL'                                            URACSY   1501
            LENGTH(I) = 9                                               URACSY   1502
         END IF                                                         URACSY   1503
220   CONTINUE                                                          URACSY   1504
C                                                                       URACSY   1505
C---------------------------------------------------------------------  URACSY   1506
C                                                                       URACSY   1507
C     Retrieve the necessary data from the input file.                  URACSY   1508
C                                                                       URACSY   1509
      CALL URREAD (CDATA, RDATA, IDATA, JREPEA)                         URACSY   1510
C                                                                       URACSY   1511
C---------------------------------------------------------------------  URACSY   1512
C                                                                       URACSY   1513
C                                                                       URACSY   1514
C     For debugging purposes:  dump block name, type name and           URACSY   1515
C     number, and subtype name and number.                              URACSY   1516
C                                                                       URACSY   1517
      IF(JDCOUN .NE. IERCNT)THEN                                        URACSY   1518
         DPRINT = .TRUE.                                                URACSY   1519
      END IF                                                            URACSY   1520
C                                                                       URACSY   1521
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   1522
         IF(LDEB) THEN                                                  URACSY   1523
            WRITE (IUD6,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   1524
     1                      IUDSUB(IUDC)                                URACSY   1525
         ELSE                                                           URACSY   1526
            WRITE (IU16,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   1527
     1                      IUDSUB(IUDC)                                URACSY   1528
         END IF                                                         URACSY   1529
      END IF                                                            URACSY   1530
C                                                                       URACSY   1531
C---------------------------------------------------------------------  URACSY   1532
C                                                                       URACSY   1533
      IF(DEFINE)THEN                                                    URACSY   1534
C                                                                       URACSY   1535
C        Save information in the structure linked list.                 URACSY   1536
C                                                                       URACSY   1537
         CALL ADDSTR (CDATA, RDATA, IDATA)                              URACSY   1538
C                                                                       URACSY   1539
C                                                                       URACSY   1540
      ELSE                                                              URACSY   1541
C                                                                       URACSY   1542
C        Store data.                                                    URACSY   1543
C                                                                       URACSY   1544
         IUNIPT(IUDC) = 0                                               URACSY   1545
         IUDPPT(IUDC) = 0                                               URACSY   1546
         IUDRPT(IUDC) = 0                                               URACSY   1547
C                                                                       URACSY   1548
         DO 240 I = 1, NUMSRC                                           URACSY   1549
C                                                                       URACSY   1550
C              a)   Store print flag.                                   URACSY   1551
C                                                                       URACSY   1552
            IF(SEARCH(I).EQ.'PRINT FLAG')THEN                           URACSY   1553
C                                                                       URACSY   1554
C              Invalid print flag is assumed to be false.               URACSY   1555
C                                                                       URACSY   1556
               IF(TYPE(I) .NE. ' ')THEN                                 URACSY   1557
                  IF(CDATA(I).EQ.'1' .OR. CDATA(I).EQ.'T' .OR.          URACSY   1558
     1                CDATA(I).EQ.'P' .OR. CDATA(I).EQ.'Y')THEN         URACSY   1559
                     UDPRNT(IUDC) = .TRUE.                              URACSY   1560
                  ELSE                                                  URACSY   1561
                     UDPRNT(IUDC) = .FALSE.                             URACSY   1562
                  END IF                                                URACSY   1563
                  IF(CDATA(I)(1:1) .NE. CDATA(I))THEN                   URACSY   1564
         WRITE(MSG(1),9008) SUBNAM                                      URACSY   1565
         WRITE(MSG(2),9009) TNAME                                       URACSY   1566
         WRITE(MSG(3),9900) BNAME(1:LEN),CDATA(I)(1:32)                 URACSY   1567
         WRITE(MSG(4),9901)                                             URACSY   1568
         CALL PRTMSG(4)                                                 URACSY   1569
                  END IF                                                URACSY   1570
               ELSE                                                     URACSY   1571
                  CDATA(I) = STARS                                      URACSY   1572
                  UDPRNT(IUDC) = .FALSE.                                URACSY   1573
               END IF                                                   URACSY   1574
C                                                                       URACSY   1575
C                                                                       URACSY   1576
C                                                                       URACSY   1577
C              b)   Store block/parameter 1.                            URACSY   1578
C                                                                       URACSY   1579
            ELSEIF(SEARCH(I).EQ.'LOGIC1 INPUT1' .OR.                    URACSY   1580
     1               SEARCH(I).EQ.'LOGIC2 INPUT1')THEN                  URACSY   1581
C                                                                       URACSY   1582
C              Create a new link in the relational linked list.         URACSY   1583
C                                                                       URACSY   1584
               IADDR = IUDRFR                                           URACSY   1585
               IUDRFR = IUDRNX(IUDRFR)                                  URACSY   1586
               IF(IUDRPT(IUDC).EQ.0)THEN                                URACSY   1587
                  IUDRPT(IUDC) = IADDR                                  URACSY   1588
               ELSE                                                     URACSY   1589
                  IUDRNX(LASTR) = IADDR                                 URACSY   1590
               END IF                                                   URACSY   1591
               IUDRNX(IADDR) = 0                                        URACSY   1592
               LASTR = IADDR                                            URACSY   1593
C                                                                       URACSY   1594
C              Initialize the remainder of the linked list to zero or   URACSY   1595
C              blank.                                                   URACSY   1596
C                                                                       URACSY   1597
               UDRKW(IADDR) = ' '                                       URACSY   1598
               UDBLK1(IADDR) = ' '                                      URACSY   1599
               IUDBNM(IADDR) = 0                                        URACSY   1600
               UDPRM1(IADDR) = 0.0                                      URACSY   1601
               UDRELA(IADDR) = ' '                                      URACSY   1602
               UDBLK2(IADDR) = ' '                                      URACSY   1603
               JUDBNM(IADDR) = 0                                        URACSY   1604
               UDPRM2(IADDR) = 0.0                                      URACSY   1605
C                                                                       URACSY   1606
               IF(TYPE(I).EQ.'CHAR')THEN                                URACSY   1607
                  IF(CDATA(I)(1:1).EQ.'''')THEN                         URACSY   1608
C                                                                       URACSY   1609
C                    Translate the character string constant into       URACSY   1610
C                    the equivalent real value.                         URACSY   1611
C                                                                       URACSY   1612
                     CALL USTRNG(CDATA(I),RDATA(I),IUDC,'IRB')          URACSY   1613
C                                                                       URACSY   1614
                     IF(RDATA(I).NE.0.0) TYPE(I) = 'CHRE'               URACSY   1615
                  END IF                                                URACSY   1616
               END IF                                                   URACSY   1617
C                                                                       URACSY   1618
C              Store valid or undefined parameter value.                URACSY   1619
C                                                                       URACSY   1620
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   1621
                  UDBLK1(IADDR) = STARS                                 URACSY   1622
C                                                                       URACSY   1623
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   1624
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   1625
C                                                                       URACSY   1626
C                    Expand the block name if it begins with "."        URACSY   1627
C                                                                       URACSY   1628
                     UDBLK1(IADDR) = SRNAME(1:ISRLEN)                   URACSY   1629
                     UDBLK1(IADDR)(ISRLEN+1:17) = CDATA(I)              URACSY   1630
                     CDATA(I) = UDBLK1(IADDR)                           URACSY   1631
                  ELSE                                                  URACSY   1632
                     UDBLK1(IADDR) = CDATA(I)                           URACSY   1633
                     IF(UDBLK1(IADDR) .NE. CDATA(I))THEN                URACSY   1634
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1635
         WRITE(MSG(2),9001) TNAME                                       URACSY   1636
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   1637
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   1638
         WRITE(MSG(5),9004) UDBLK1(IADDR)                               URACSY   1639
         WRITE(MSG(6),9005)                                             URACSY   1640
         CALL PRTMSG(6)                                                 URACSY   1641
                        IERCNT = IERCNT + 1                             URACSY   1642
                     END IF                                             URACSY   1643
                  END IF                                                URACSY   1644
C                                                                       URACSY   1645
               ELSEIF(TYPE(I).EQ.'REAL' .OR.                            URACSY   1646
     1                  TYPE(I).EQ.'CHRE')THEN                          URACSY   1647
                  IUDBNM(IADDR) = -99                                   URACSY   1648
                  UDPRM1(IADDR) = RDATA(I)                              URACSY   1649
               END IF                                                   URACSY   1650
C                                                                       URACSY   1651
C                                                                       URACSY   1652
C                                                                       URACSY   1653
C              c)   Store block/parameter 2.                            URACSY   1654
C                                                                       URACSY   1655
            ELSEIF(SEARCH(I).EQ.'LOGIC1 INPUT2' .OR.                    URACSY   1656
     1         SEARCH(I).EQ.'LOGIC2 INPUT2')THEN                        URACSY   1657
C                                                                       URACSY   1658
               IF(TYPE(I).EQ.'CHAR')THEN                                URACSY   1659
                  IF(CDATA(I)(1:1).EQ.'''')THEN                         URACSY   1660
C                                                                       URACSY   1661
C                    Translate the character string constant into       URACSY   1662
C                    the equivalent real value.                         URACSY   1663
C                                                                       URACSY   1664
                     CALL USTRNG(CDATA(I),RDATA(I),IUDC,'IRB')          URACSY   1665
C                                                                       URACSY   1666
                     IF(RDATA(I).NE.0.0) TYPE(I) = 'CHRE'               URACSY   1667
                  END IF                                                URACSY   1668
               END IF                                                   URACSY   1669
C                                                                       URACSY   1670
C              Store valid or undefined parameter value.                URACSY   1671
C                                                                       URACSY   1672
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   1673
                  UDBLK2(IADDR) = STARS                                 URACSY   1674
C                                                                       URACSY   1675
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   1676
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   1677
C                                                                       URACSY   1678
C                    Expand the block name if it begins with "."        URACSY   1679
C                                                                       URACSY   1680
                     UDBLK2(IADDR) = SRNAME(1:ISRLEN)                   URACSY   1681
                     UDBLK2(IADDR)(ISRLEN+1:17) = CDATA(I)              URACSY   1682
                     CDATA(I) = UDBLK2(IADDR)                           URACSY   1683
                  ELSE                                                  URACSY   1684
                     UDBLK2(IADDR) = CDATA(I)                           URACSY   1685
                     IF(UDBLK2(IADDR) .NE. CDATA(I))THEN                URACSY   1686
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1687
         WRITE(MSG(2),9001) TNAME                                       URACSY   1688
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   1689
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   1690
         WRITE(MSG(5),9004) UDBLK2(IADDR)                               URACSY   1691
         WRITE(MSG(6),9005)                                             URACSY   1692
         CALL PRTMSG(6)                                                 URACSY   1693
                        IERCNT = IERCNT + 1                             URACSY   1694
                     END IF                                             URACSY   1695
                  END IF                                                URACSY   1696
C                                                                       URACSY   1697
               ELSEIF(TYPE(I).EQ.'REAL' .OR.                            URACSY   1698
     1                  TYPE(I).EQ.'CHRE')THEN                          URACSY   1699
                  JUDBNM(IADDR) = -99                                   URACSY   1700
                  UDPRM2(IADDR) = RDATA(I)                              URACSY   1701
               END IF                                                   URACSY   1702
C                                                                       URACSY   1703
C                                                                       URACSY   1704
C                                                                       URACSY   1705
C              d)   Store operator.                                     URACSY   1706
C                                                                       URACSY   1707
            ELSEIF(SEARCH(I).EQ.'OPERATOR 1' .OR.                       URACSY   1708
     1               SEARCH(I).EQ.'OPERATOR 2' .OR.                     URACSY   1709
     2               SEARCH(I).EQ.'OPERATOR')THEN                       URACSY   1710
C                                                                       URACSY   1711
C              Determine if the operator is valid.                      URACSY   1712
C                                                                       URACSY   1713
               IF(CDATA(I).EQ.'EQ' .OR. CDATA(I).EQ.'NE' .OR.           URACSY   1714
     1             CDATA(I).EQ.'LE' .OR. CDATA(I).EQ.'LT' .OR.          URACSY   1715
     2             CDATA(I).EQ.'GE' .OR. CDATA(I).EQ.'GT')THEN          URACSY   1716
                  TYPE(I) = 'CHAR'                                      URACSY   1717
                  UDRELA(IADDR) = CDATA(I)(1:2)                         URACSY   1718
                  IF(UDRELA(IADDR) .NE. CDATA(I))THEN                   URACSY   1719
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1720
         WRITE(MSG(2),9001) TNAME                                       URACSY   1721
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   1722
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   1723
         WRITE(MSG(5),9004) UDRELA(IADDR)                               URACSY   1724
         WRITE(MSG(6),9005)                                             URACSY   1725
         CALL PRTMSG(6)                                                 URACSY   1726
                     IERCNT = IERCNT + 1                                URACSY   1727
                  END IF                                                URACSY   1728
               ELSE                                                     URACSY   1729
                  TYPE(I) = ' '                                         URACSY   1730
                  UDRELA(IADDR) = STARS                                 URACSY   1731
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1732
         WRITE(MSG(2),9001) TNAME                                       URACSY   1733
         WRITE(MSG(3),9312) BNAME(1:LEN)                                URACSY   1734
         WRITE(MSG(4),9313) CDATA(I)(1:32)                              URACSY   1735
         WRITE(MSG(5),9005)                                             URACSY   1736
         CALL PRTMSG(5)                                                 URACSY   1737
                  IERCNT = IERCNT + 1                                   URACSY   1738
               END IF                                                   URACSY   1739
C                                                                       URACSY   1740
C                                                                       URACSY   1741
C              f)   Store input.                                        URACSY   1742
C                                                                       URACSY   1743
            ELSEIF(SEARCH(I).EQ.'INPUT' .OR.                            URACSY   1744
     1               SEARCH(I).EQ.'INPUT 1' .OR.                        URACSY   1745
     2               SEARCH(I).EQ.'INPUT 2')THEN                        URACSY   1746
C                                                                       URACSY   1747
C              Create new link for identification linked list, and      URACSY   1748
C              parameter linked list.                                   URACSY   1749
C                                                                       URACSY   1750
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   1751
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   1752
C                                                                       URACSY   1753
C              Store valid or undefined input value.                    URACSY   1754
C                                                                       URACSY   1755
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   1756
                  UIDENT(IADDI) = STARS                                 URACSY   1757
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   1758
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   1759
C                                                                       URACSY   1760
C                    Expand the block name if it begins with "."        URACSY   1761
C                                                                       URACSY   1762
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   1763
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   1764
                     CDATA(I) = UIDENT(IADDI)                           URACSY   1765
                  ELSE                                                  URACSY   1766
                     UIDENT(IADDI) = CDATA(I)                           URACSY   1767
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   1768
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1769
         WRITE(MSG(2),9001) TNAME                                       URACSY   1770
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   1771
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   1772
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   1773
         WRITE(MSG(6),9005)                                             URACSY   1774
         CALL PRTMSG(6)                                                 URACSY   1775
                        IERCNT = IERCNT + 1                             URACSY   1776
                     END IF                                             URACSY   1777
                  END IF                                                URACSY   1778
               ELSEIF(TYPE(I).EQ.'REAL')THEN                            URACSY   1779
                  UDPARM(IADDP) = RDATA(I)                              URACSY   1780
               END IF                                                   URACSY   1781
C                                                                       URACSY   1782
C                                                                       URACSY   1783
C              g)   Store input block name.                             URACSY   1784
C                                                                       URACSY   1785
            ELSEIF(SEARCH(I).EQ.'INPUT BLOCK')THEN                      URACSY   1786
C                                                                       URACSY   1787
C              Create new link for identification linked list.          URACSY   1788
C                                                                       URACSY   1789
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   1790
C                                                                       URACSY   1791
C              Store valid or undefined input value.                    URACSY   1792
C                                                                       URACSY   1793
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   1794
                  UIDENT(IADDI) = STARS                                 URACSY   1795
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   1796
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   1797
C                                                                       URACSY   1798
C                    Expand the block name if it begins with "."        URACSY   1799
C                                                                       URACSY   1800
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   1801
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   1802
                     CDATA(I) = UIDENT(IADDI)                           URACSY   1803
                  ELSE                                                  URACSY   1804
                     UIDENT(IADDI) = CDATA(I)                           URACSY   1805
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   1806
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1807
         WRITE(MSG(2),9001) TNAME                                       URACSY   1808
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   1809
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   1810
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   1811
         WRITE(MSG(6),9005)                                             URACSY   1812
         CALL PRTMSG(6)                                                 URACSY   1813
                        IERCNT = IERCNT + 1                             URACSY   1814
                     END IF                                             URACSY   1815
                  END IF                                                URACSY   1816
               END IF                                                   URACSY   1817
C                                                                       URACSY   1818
C                                                                       URACSY   1819
C              h)   Store desired time or time step values.             URACSY   1820
C                                                                       URACSY   1821
            ELSEIF(SEARCH(I).EQ.'DESIRED TIME' .OR.                     URACSY   1822
     1               SEARCH(I).EQ.'TIME STEP')THEN                      URACSY   1823
C                                                                       URACSY   1824
C              Create new link for parameter linked list.               URACSY   1825
C                                                                       URACSY   1826
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   1827
C                                                                       URACSY   1828
               IF(TYPE(I).EQ.'REAL')THEN                                URACSY   1829
                  UDPARM(IADDP) = RDATA(I)                              URACSY   1830
               END IF                                                   URACSY   1831
C                                                                       URACSY   1832
            END IF                                                      URACSY   1833
240     CONTINUE                                                        URACSY   1834
      END IF                                                            URACSY   1835
C                                                                       URACSY   1836
C---------------------------------------------------------------------  URACSY   1837
C                                                                       URACSY   1838
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   1839
C                                                                       URACSY   1840
C        For debugging purposes:  dump all valid data.  For             URACSY   1841
C        invalid data a not defined message will be printed.            URACSY   1842
C                                                                       URACSY   1843
         DO 260 I = 1, NUMSRC                                           URACSY   1844
            N = LENGTH(I) + 1                                           URACSY   1845
            SEARCH(I)(N:N) = ':'                                        URACSY   1846
            IF(TYPE(I).EQ.'CHAR' .OR. TYPE(I).EQ.'CHRE')THEN            URACSY   1847
               IF(LDEB) THEN                                            URACSY   1848
                  WRITE (IUD6,9016) SEARCH(I), CDATA(I)                 URACSY   1849
               ELSE                                                     URACSY   1850
                  WRITE (IU16,9016) SEARCH(I), CDATA(I)                 URACSY   1851
               ENDIF                                                    URACSY   1852
            ELSEIF(TYPE(I).EQ.'REAL')THEN                               URACSY   1853
               IF(LDEB) THEN                                            URACSY   1854
                  WRITE (IUD6,9018) SEARCH(I), RDATA(I)                 URACSY   1855
               ELSE                                                     URACSY   1856
                  WRITE (IU16,9018) SEARCH(I), RDATA(I)                 URACSY   1857
               ENDIF                                                    URACSY   1858
            ELSEIF(TYPE(I).EQ.'INTE')THEN                               URACSY   1859
               IF(LDEB) THEN                                            URACSY   1860
                  WRITE (IUD6,9116) SEARCH(I), IDATA(I)                 URACSY   1861
               ELSE                                                     URACSY   1862
                  WRITE (IU16,9116) SEARCH(I), IDATA(I)                 URACSY   1863
               ENDIF                                                    URACSY   1864
            ELSEIF(TYPE(I).EQ.' ')THEN                                  URACSY   1865
                  WRITE(MSG(1),9020) SEARCH(I)                          URACSY   1866
                  CALL PRTMSG(1)                                        URACSY   1867
            END IF                                                      URACSY   1868
260     CONTINUE                                                        URACSY   1869
      END IF                                                            URACSY   1870
C                                                                       URACSY   1871
      IF(DEFINE)THEN                                                    URACSY   1872
         IUDC = IUDC - 1                                                URACSY   1873
      END IF                                                            URACSY   1874
C                                                                       URACSY   1875
C---------------------------------------------------------------------  URACSY   1876
C                                                                       URACSY   1877
      RETURN                                                            URACSY   1878
C                                                                       URACSY   1879
C---------------------------------------------------------------------  URACSY   1880
C                                                                       URACSY   1881
C                                                                       URACSY   1882
C---------------------------------------------------------------------  URACSY   1883
C                                                                       URACSY   1884
      ENTRY UROTHR                                                      URACSY   1885
CD -------------------------------------------------------------------  URACSY   1886
CD                                                                      URACSY   1887
CD              *****     UROTHR  ROUTINE   *****                       URACSY   1888
CD                                                                      URACSY   1889
CD -------------------------------------------------------------------  URACSY   1890
CD                                                                      URACSY   1891
CD       PURPOSE:  Controls the reading of the udc type OTHER data      URACSY   1892
CD                 from the input file.  Does limited error checking.   URACSY   1893
CD                 Stores valid data in the udc storage arrays.         URACSY   1894
CD                                                                      URACSY   1895
CD -------------------------------------------------------------------  URACSY   1896
C                                                                       URACSY   1897
C     Define subroutine name.                                           URACSY   1898
C                                                                       URACSY   1899
      LDEB=(JDEB(301).NE.0)                                             URACSY   1900
C                                                                       URACSY   1901
      IF(SDBG)THEN                                                      URACSY   1902
         SUBNAM = 'UROTHR ROUTINE.'                                     URACSY   1903
      ELSE                                                              URACSY   1904
         SUBNAM = ' '                                                   URACSY   1905
      END IF                                                            URACSY   1906
      TNAME = TPNAME(IUDTYP(IUDC))                                      URACSY   1907
      BNAME = UDNAME(IUDC)                                              URACSY   1908
      LEN = IUDLEN(IUDC)                                                URACSY   1909
C                                                                       URACSY   1910
C     Forces an interrupted card image if an error is found.            URACSY   1911
C                                                                       URACSY   1912
      JDCOUN = IERCNT                                                   URACSY   1913
      DPRINT = .FALSE.                                                  URACSY   1914
C                                                                       URACSY   1915
      IF(EXPAND)THEN                                                    URACSY   1916
C                                                                       URACSY   1917
C        Obtain the subtype name from the saved information for this    URACSY   1918
C        structure.                                                     URACSY   1919
C                                                                       URACSY   1920
         SNAME = SBOTHR(IUDSUB(IUDC))                                   URACSY   1921
C                                                                       URACSY   1922
      ELSE                                                              URACSY   1923
C                                                                       URACSY   1924
C        Read the subtype name.                                         URACSY   1925
C                                                                       URACSY   1926
         ENDBLK = .FALSE.                                               URACSY   1927
         CALL URGETC (CDATA(1), FOUND)                                  URACSY   1928
         IF(.NOT. FOUND)THEN                                            URACSY   1929
            SNAME = STARS                                               URACSY   1930
         ELSE                                                           URACSY   1931
            SNAME = CDATA(1)                                            URACSY   1932
            IF(SNAME .NE. CDATA(1))THEN                                 URACSY   1933
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   1934
         WRITE(MSG(2),9001) TNAME                                       URACSY   1935
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   1936
         WRITE(MSG(4),9003) CDATA(1)(1:32)                              URACSY   1937
         WRITE(MSG(5),9004) SNAME                                       URACSY   1938
         WRITE(MSG(6),9005)                                             URACSY   1939
         CALL PRTMSG(6)                                                 URACSY   1940
                IERCNT = IERCNT + 1                                     URACSY   1941
             END IF                                                     URACSY   1942
         END IF                                                         URACSY   1943
      END IF                                                            URACSY   1944
C                                                                       URACSY   1945
C---------------------------------------------------------------------  URACSY   1946
C                                                                       URACSY   1947
C     Determine the required data names and the number of searches      URACSY   1948
C     required.                                                         URACSY   1949
C                                                                       URACSY   1950
C     Digitizer.                                                        URACSY   1951
C                                                                       URACSY   1952
      IF(SNAME.EQ.SBOTHR(IDIGIT))THEN                                   URACSY   1953
         IUDSUB(IUDC) = IDIGIT                                          URACSY   1954
         NUMSRC = 3                                                     URACSY   1955
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1956
         SEARCH(2) = 'INPUT'                                            URACSY   1957
         SEARCH(3) = 'QUANTUM'                                          URACSY   1958
C                                                                       URACSY   1959
C     Delay function.                                                   URACSY   1960
C                                                                       URACSY   1961
      ELSEIF(SNAME.EQ.SBOTHR(IDELAY))THEN                               URACSY   1962
         IUDSUB(IUDC) = IDELAY                                          URACSY   1963
         NUMSRC = 3                                                     URACSY   1964
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1965
         SEARCH(2) = 'INPUT'                                            URACSY   1966
         SEARCH(3) = 'DELAY TIME'                                       URACSY   1967
C                                                                       URACSY   1968
C     Updates the line parameters (changed when logic true).            URACSY   1969
C                                                                       URACSY   1970
      ELSEIF(SNAME.EQ.SBOTHR(IDCLIN))THEN                               URACSY   1971
         IUDSUB(IUDC) = IDCLIN                                          URACSY   1972
         NUMSRC = 11                                                    URACSY   1973
         LOOK = 'DC LINE'                                               URACSY   1974
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1975
         SEARCH(2) = 'LOGIC1 INPUT1'                                    URACSY   1976
         SEARCH(3) = 'OPERATOR 1'                                       URACSY   1977
         SEARCH(4) = 'LOGIC1 INPUT2'                                    URACSY   1978
         SEARCH(5) = 'DC NODE NAME 1'                                   URACSY   1979
         SEARCH(6) = 'DC NODE NAME 2'                                   URACSY   1980
         SEARCH(7) = 'CIRCUIT NUMBER'                                   URACSY   1981
         SEARCH(8) = 'R1'                                               URACSY   1982
         SEARCH(9) = 'L1'                                               URACSY   1983
         SEARCH(10) = 'CA1'                                             URACSY   1984
         SEARCH(11) = 'CB1'                                             URACSY   1985
C                                                                       URACSY   1986
C     Updates the line parameters (changed at initialization).          URACSY   1987
C                                                                       URACSY   1988
      ELSEIF(SNAME.EQ.SBOTHR(IRLCS))THEN                                URACSY   1989
         IUDSUB(IUDC) = IRLCS                                           URACSY   1990
         NUMSRC = 8                                                     URACSY   1991
         LOOK = 'DC LINE'                                               URACSY   1992
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   1993
         SEARCH(2) = 'DC NODE NAME 1'                                   URACSY   1994
         SEARCH(3) = 'DC NODE NAME 2'                                   URACSY   1995
         SEARCH(4) = 'CIRCUIT NUMBER'                                   URACSY   1996
         SEARCH(5) = 'R1'                                               URACSY   1997
         SEARCH(6) = 'L1'                                               URACSY   1998
         SEARCH(7) = 'CA1'                                              URACSY   1999
         SEARCH(8) = 'CB1'                                              URACSY   2000
C                                                                       URACSY   2001
C                                                                       URACSY   2002
C                                                                       URACSY   2003
      ELSEIF(SNAME.EQ.SBOTHR(ITAPS))THEN                                URACSY   2004
         IUDSUB(IUDC) = ITAPS                                           URACSY   2005
         NUMSRC = 12                                                    URACSY   2006
         LOOK = 'DC CONVERTER'                                          URACSY   2007
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2008
         SEARCH(2) = 'INPUT'                                            URACSY   2009
         SEARCH(3) = 'DC NODE NAME 1'                                   URACSY   2010
         SEARCH(4) = 'DC NODE NAME 2'                                   URACSY   2011
         SEARCH(5) = 'AC BUS NAME'                                      URACSY   2012
         SEARCH(6) = 'KV'                                               URACSY   2013
         SEARCH(7) = 'CIRCUIT NUMBER'                                   URACSY   2014
         SEARCH(8) = 'LOW LIMIT'                                        URACSY   2015
         SEARCH(9) = 'TIME 1'                                           URACSY   2016
         SEARCH(10) = 'HIGH LIMIT'                                      URACSY   2017
         SEARCH(11) = 'TIME 2'                                          URACSY   2018
         SEARCH(12) = 'TAP STEP'                                        URACSY   2019
C                                                                       URACSY   2020
C     Bridges subtype.                                                  URACSY   2021
C                                                                       URACSY   2022
      ELSEIF(SNAME.EQ.SBOTHR(IBRDGE))THEN                               URACSY   2023
         IUDSUB(IUDC) = IBRDGE                                          URACSY   2024
         NUMSRC = 10                                                    URACSY   2025
         LOOK = 'DC CONVERTER'                                          URACSY   2026
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2027
         SEARCH(2) = 'LOGIC1 INPUT1'                                    URACSY   2028
         SEARCH(3) = 'OPERATOR 1'                                       URACSY   2029
         SEARCH(4) = 'LOGIC1 INPUT2'                                    URACSY   2030
         SEARCH(5) = 'DC NODE NAME 1'                                   URACSY   2031
         SEARCH(6) = 'DC NODE NAME 2'                                   URACSY   2032
         SEARCH(7) = 'AC BUS NAME'                                      URACSY   2033
         SEARCH(8) = 'KV'                                               URACSY   2034
         SEARCH(9) = 'CIRCUIT NUMBER'                                   URACSY   2035
         SEARCH(10) = 'BRIDGE'                                          URACSY   2036
C                                                                       URACSY   2037
C     Level subtype.                                                    URACSY   2038
C                                                                       URACSY   2039
      ELSEIF(SNAME.EQ.SBOTHR(LEVELS))THEN                               URACSY   2040
         IUDSUB(IUDC) = LEVELS                                          URACSY   2041
         NUMSRC = 8                                                     URACSY   2042
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2043
         SEARCH(2) = 'LOGIC1 INPUT1'                                    URACSY   2044
         SEARCH(3) = 'OPERATOR 1'                                       URACSY   2045
         SEARCH(4) = 'LOGIC1 INPUT2'                                    URACSY   2046
         SEARCH(5) = 'START VALUE'                                      URACSY   2047
         SEARCH(6) = 'FINISH VALUE'                                     URACSY   2048
         SEARCH(7) = 'DURATION'                                         URACSY   2049
         SEARCH(8) = 'RESET TIME'                                       URACSY   2050
C                                                                       URACSY   2051
C     Hysteresis function.                                              URACSY   2052
C                                                                       URACSY   2053
      ELSEIF(SNAME.EQ.SBOTHR(IHYSTR))THEN                               URACSY   2054
         IUDSUB(IUDC) = IHYSTR                                          URACSY   2055
         NUMSRC = 9                                                     URACSY   2056
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2057
         SEARCH(2) = 'INPUT'                                            URACSY   2058
         SEARCH(3) = 'LEVEL A'                                          URACSY   2059
         SEARCH(4) = 'LEVEL B'                                          URACSY   2060
         SEARCH(5) = 'P1'                                               URACSY   2061
         SEARCH(6) = 'P2'                                               URACSY   2062
         SEARCH(7) = 'P3'                                               URACSY   2063
         SEARCH(8) = 'P4'                                               URACSY   2064
         SEARCH(9) = 'INITIAL PATH'                                     URACSY   2065
C                                                                       URACSY   2066
C     First Deadband function.                                          URACSY   2067
C                                                                       URACSY   2068
      ELSEIF(SNAME.EQ.SBOTHR(IDEAD1))THEN                               URACSY   2069
         IUDSUB(IUDC) = IDEAD1                                          URACSY   2070
         NUMSRC = 6                                                     URACSY   2071
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2072
         SEARCH(2) = 'INPUT'                                            URACSY   2073
         SEARCH(3) = 'DBP'                                              URACSY   2074
         SEARCH(4) = 'OUTP'                                             URACSY   2075
         SEARCH(5) = 'DBN'                                              URACSY   2076
         SEARCH(6) = 'OUTN'                                             URACSY   2077
C                                                                       URACSY   2078
C     Second Deadband function.                                         URACSY   2079
C                                                                       URACSY   2080
      ELSEIF(SNAME.EQ.SBOTHR(IDEAD2))THEN                               URACSY   2081
         IUDSUB(IUDC) = IDEAD2                                          URACSY   2082
         NUMSRC = 6                                                     URACSY   2083
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2084
         SEARCH(2) = 'INPUT'                                            URACSY   2085
         SEARCH(3) = 'DBP'                                              URACSY   2086
         SEARCH(4) = 'SLOPE P'                                          URACSY   2087
         SEARCH(5) = 'DBN'                                              URACSY   2088
         SEARCH(6) = 'SLOPE N'                                          URACSY   2089
C                                                                       URACSY   2090
C     Sample and hold function.                                         URACSY   2091
C                                                                       URACSY   2092
      ELSEIF(SNAME.EQ.SBOTHR(ISAMPL))THEN                               URACSY   2093
         IUDSUB(IUDC) = ISAMPL                                          URACSY   2094
         NUMSRC = 9                                                     URACSY   2095
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2096
         SEARCH(2) = 'INPUT 1'                                          URACSY   2097
         SEARCH(3) = 'INPUT 2'                                          URACSY   2098
         SEARCH(4) = 'LOGIC1 INPUT1'                                    URACSY   2099
         SEARCH(5) = 'OPERATOR 1'                                       URACSY   2100
         SEARCH(6) = 'LOGIC1 INPUT2'                                    URACSY   2101
         SEARCH(7) = 'LOGIC2 INPUT1'                                    URACSY   2102
         SEARCH(8) = 'OPERATOR 2'                                       URACSY   2103
         SEARCH(9) = 'LOGIC2 INPUT2'                                    URACSY   2104
C                                                                       URACSY   2105
C     Retriggerable ramp function.                                      URACSY   2106
C                                                                       URACSY   2107
      ELSEIF(SNAME.EQ.SBOTHR(IRAMPR))THEN                               URACSY   2108
         IUDSUB(IUDC) = IRAMPR                                          URACSY   2109
         NUMSRC = 17                                                    URACSY   2110
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2111
         SEARCH(2) = 'LOGIC1 INPUT1'                                    URACSY   2112
         SEARCH(3) = 'OPERATOR 1'                                       URACSY   2113
         SEARCH(4) = 'LOGIC1 INPUT2'                                    URACSY   2114
         SEARCH(5) = 'LOGIC2 INPUT1'                                    URACSY   2115
         SEARCH(6) = 'OPERATOR 2'                                       URACSY   2116
         SEARCH(7) = 'LOGIC2 INPUT2'                                    URACSY   2117
         SEARCH(8) = 'LEVEL 0'                                          URACSY   2118
         SEARCH(9) = 'LEVEL 1'                                          URACSY   2119
         SEARCH(10) = 'TIMER1'                                          URACSY   2120
         SEARCH(11) = 'LEVEL 2'                                         URACSY   2121
         SEARCH(12) = 'TIMER2'                                          URACSY   2122
         SEARCH(13) = 'LEVEL 3'                                         URACSY   2123
         SEARCH(14) = 'LEVEL 4'                                         URACSY   2124
         SEARCH(15) = 'TIMER4'                                          URACSY   2125
         SEARCH(16) = 'LEVEL 5'                                         URACSY   2126
         SEARCH(17) = 'TIMER5'                                          URACSY   2127
C                                                                       URACSY   2128
C     Invalid subtype.                                                  URACSY   2129
C                                                                       URACSY   2130
      ELSE                                                              URACSY   2131
         IUDSUB(IUDC) = 0                                               URACSY   2132
         NUMSRC = 0                                                     URACSY   2133
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2134
         WRITE(MSG(2),9001) TNAME                                       URACSY   2135
         WRITE(MSG(3),9703) BNAME(1:LEN),SNAME                          URACSY   2136
         WRITE(MSG(4),9104)                                             URACSY   2137
         WRITE(MSG(5),9005)                                             URACSY   2138
         CALL PRTMSG(5)                                                 URACSY   2139
         IERCNT = IERCNT + 1                                            URACSY   2140
      END IF                                                            URACSY   2141
C                                                                       URACSY   2142
C---------------------------------------------------------------------  URACSY   2143
C                                                                       URACSY   2144
C     Based on the data names required, determine the type of searches, URACSY   2145
C     and length of data names.                                         URACSY   2146
C                                                                       URACSY   2147
      DO 320 I = 1, NUMSRC                                              URACSY   2148
         IF(SEARCH(I).EQ.'LOGIC1 INPUT1' .OR.                           URACSY   2149
     1      SEARCH(I).EQ.'LOGIC1 INPUT2'.OR.                            URACSY   2150
     2      SEARCH(I).EQ.'LOGIC2 INPUT1'.OR.                            URACSY   2151
     3      SEARCH(I).EQ.'LOGIC2 INPUT2')THEN                           URACSY   2152
            TYPE(I) = 'RECH'                                            URACSY   2153
            LENGTH(I) = 13                                              URACSY   2154
         ELSEIF(SEARCH(I).EQ.'INPUT')THEN                               URACSY   2155
            TYPE(I) = 'RECH'                                            URACSY   2156
            LENGTH(I) = 5                                               URACSY   2157
         ELSEIF(SEARCH(I).EQ.'INPUT 1'.OR.                              URACSY   2158
     1      SEARCH(I).EQ.'INPUT 2')THEN                                 URACSY   2159
            TYPE(I) = 'RECH'                                            URACSY   2160
            LENGTH(I) = 7                                               URACSY   2161
         ELSEIF(SEARCH(I).EQ.'DC NODE NAME 1' .OR.                      URACSY   2162
     1            SEARCH(I).EQ.'DC NODE NAME 2' .OR.                    URACSY   2163
     2            SEARCH(I).EQ.'CIRCUIT NUMBER')THEN                    URACSY   2164
            TYPE(I) = 'CHAR'                                            URACSY   2165
            LENGTH(I) = 14                                              URACSY   2166
         ELSEIF(SEARCH(I).EQ.'AC BUS NAME')THEN                         URACSY   2167
            TYPE(I) = 'CHAR'                                            URACSY   2168
            LENGTH(I) = 11                                              URACSY   2169
         ELSEIF(SEARCH(I).EQ.'PRINT FLAG' .OR.                          URACSY   2170
     1            SEARCH(I).EQ.'OPERATOR 1'.OR.                         URACSY   2171
     2            SEARCH(I).EQ.'OPERATOR 2')THEN                        URACSY   2172
            TYPE(I) = 'CHAR'                                            URACSY   2173
            LENGTH(I) = 10                                              URACSY   2174
         ELSEIF(SEARCH(I).EQ.'KV')THEN                                  URACSY   2175
            TYPE(I) = 'CHAR'                                            URACSY   2176
            LENGTH(I) = 2                                               URACSY   2177
         ELSEIF(SEARCH(I).EQ.'FINISH VALUE' .OR.                        URACSY   2178
     1            SEARCH(I).EQ.'INITIAL PATH')THEN                      URACSY   2179
            TYPE(I) = 'REAL'                                            URACSY   2180
            LENGTH(I) = 12                                              URACSY   2181
         ELSEIF(SEARCH(I).EQ.'START VALUE')THEN                         URACSY   2182
            TYPE(I) = 'REAL'                                            URACSY   2183
            LENGTH(I) = 11                                              URACSY   2184
         ELSEIF(SEARCH(I).EQ.'DELAY TIME')THEN                          URACSY   2185
            TYPE(I) ='RECH'                                             URACSY   2186
            LENGTH(I) = 10                                              URACSY   2187
         ELSEIF(SEARCH(I).EQ.'HIGH LIMIT' .OR.                          URACSY   2188
     1      SEARCH(I).EQ.'RESET TIME')THEN                              URACSY   2189
            TYPE(I) = 'REAL'                                            URACSY   2190
            LENGTH(I) = 10                                              URACSY   2191
         ELSEIF(SEARCH(I).EQ.'LOW LIMIT')THEN                           URACSY   2192
            TYPE(I) = 'REAL'                                            URACSY   2193
            LENGTH(I) = 9                                               URACSY   2194
         ELSEIF(SEARCH(I).EQ.'TAP STEP' .OR.                            URACSY   2195
     1      SEARCH(I).EQ.'DURATION')THEN                                URACSY   2196
            TYPE(I) = 'REAL'                                            URACSY   2197
            LENGTH(I) = 8                                               URACSY   2198
         ELSEIF(SEARCH(I).EQ.'QUANTUM' .OR.                             URACSY   2199
     1      SEARCH(I).EQ.'LEVEL A' .OR.                                 URACSY   2200
     2      SEARCH(I).EQ.'LEVEL B' .OR.                                 URACSY   2201
     3      SEARCH(I).EQ.'SLOPE P' .OR.                                 URACSY   2202
     4      SEARCH(I).EQ.'SLOPE N')THEN                                 URACSY   2203
            TYPE(I) = 'REAL'                                            URACSY   2204
            LENGTH(I) = 7                                               URACSY   2205
         ELSEIF(SEARCH(I).EQ.'LEVEL 0' .OR.                             URACSY   2206
     1      SEARCH(I).EQ.'LEVEL 1' .OR.                                 URACSY   2207
     2      SEARCH(I).EQ.'LEVEL 2' .OR.                                 URACSY   2208
     3      SEARCH(I).EQ.'LEVEL 3' .OR.                                 URACSY   2209
     4      SEARCH(I).EQ.'LEVEL 4' .OR.                                 URACSY   2210
     5      SEARCH(I).EQ.'LEVEL 5')THEN                                 URACSY   2211
            TYPE(I) = 'RECH'                                            URACSY   2212
            LENGTH(I) = 7                                               URACSY   2213
         ELSEIF(SEARCH(I).EQ.'TIMER1'.OR.                               URACSY   2214
     1      SEARCH(I).EQ.'TIMER2' .OR.                                  URACSY   2215
     2      SEARCH(I).EQ.'TIMER4' .OR.                                  URACSY   2216
     3      SEARCH(I).EQ.'TIMER5')THEN                                  URACSY   2217
            TYPE(I) = 'RECH'                                            URACSY   2218
            LENGTH(I) = 6                                               URACSY   2219
         ELSEIF(SEARCH(I).EQ.'TIME 1' .OR.                              URACSY   2220
     1      SEARCH(I).EQ.'TIME 2' .OR.                                  URACSY   2221
     2      SEARCH(I).EQ.'BRIDGE')THEN                                  URACSY   2222
            TYPE(I) = 'REAL'                                            URACSY   2223
            LENGTH(I) = 6                                               URACSY   2224
         ELSEIF(SEARCH(I).EQ.'OUTP' .OR.                                URACSY   2225
     1      SEARCH(I).EQ.'OUTN')THEN                                    URACSY   2226
            TYPE(I) = 'REAL'                                            URACSY   2227
            LENGTH(I) = 4                                               URACSY   2228
         ELSEIF(SEARCH(I).EQ.'DBP' .OR.                                 URACSY   2229
     1      SEARCH(I).EQ.'DBN'.OR.                                      URACSY   2230
     2      SEARCH(I).EQ.'CA1'.OR.                                      URACSY   2231
     3      SEARCH(I).EQ.'CB1')THEN                                     URACSY   2232
            TYPE(I) = 'REAL'                                            URACSY   2233
            LENGTH(I) = 3                                               URACSY   2234
         ELSEIF(SEARCH(I).EQ.'R1')THEN                                  URACSY   2235
            TYPE(I) = 'RECH'                                            URACSY   2236
            LENGTH(I) = 2                                               URACSY   2237
         ELSEIF(SEARCH(I).EQ.'L1' .OR.                                  URACSY   2238
     1      SEARCH(I).EQ.'P1' .OR.                                      URACSY   2239
     2      SEARCH(I).EQ.'P2' .OR.                                      URACSY   2240
     3      SEARCH(I).EQ.'P3' .OR.                                      URACSY   2241
     4      SEARCH(I).EQ.'P4')THEN                                      URACSY   2242
            TYPE(I) = 'REAL'                                            URACSY   2243
            LENGTH(I) = 2                                               URACSY   2244
         END IF                                                         URACSY   2245
320   CONTINUE                                                          URACSY   2246
C                                                                       URACSY   2247
C---------------------------------------------------------------------  URACSY   2248
C                                                                       URACSY   2249
C     Retrieve the necessary data from the input file.                  URACSY   2250
C                                                                       URACSY   2251
      JREPEA = 0                                                        URACSY   2252
      CALL URREAD (CDATA, RDATA, IDATA, JREPEA)                         URACSY   2253
C                                                                       URACSY   2254
C---------------------------------------------------------------------  URACSY   2255
C                                                                       URACSY   2256
C     For debugging purposes:  dump block name, type name and           URACSY   2257
C     number, and subtype name and number.                              URACSY   2258
C                                                                       URACSY   2259
      IF(JDCOUN .NE. IERCNT)THEN                                        URACSY   2260
         DPRINT = .TRUE.                                                URACSY   2261
      END IF                                                            URACSY   2262
C                                                                       URACSY   2263
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   2264
         IF(LDEB) THEN                                                  URACSY   2265
            WRITE (IUD6,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   2266
     1                      IUDSUB(IUDC)                                URACSY   2267
         ELSE                                                           URACSY   2268
            WRITE (IU16,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   2269
     1                      IUDSUB(IUDC)                                URACSY   2270
         END IF                                                         URACSY   2271
      END IF                                                            URACSY   2272
C                                                                       URACSY   2273
C---------------------------------------------------------------------  URACSY   2274
C                                                                       URACSY   2275
C                                                                       URACSY   2276
      IF(DEFINE)THEN                                                    URACSY   2277
C                                                                       URACSY   2278
C        Save information in the structure linked list.                 URACSY   2279
C                                                                       URACSY   2280
         CALL ADDSTR (CDATA, RDATA, IDATA)                              URACSY   2281
C                                                                       URACSY   2282
C                                                                       URACSY   2283
      ELSE                                                              URACSY   2284
C                                                                       URACSY   2285
C        Store data.                                                    URACSY   2286
C                                                                       URACSY   2287
         SRTVAL = 0.0                                                   URACSY   2288
         VALEND = 0.0                                                   URACSY   2289
C                                                                       URACSY   2290
         IUNIPT(IUDC) = 0                                               URACSY   2291
         IUDPPT(IUDC) = 0                                               URACSY   2292
         IUDRPT(IUDC) = 0                                               URACSY   2293
         IUDSPT(IUDC) = 0                                               URACSY   2294
C                                                                       URACSY   2295
         DO 380 I = 1, NUMSRC                                           URACSY   2296
C                                                                       URACSY   2297
C           a)   Store print flag.                                      URACSY   2298
C                                                                       URACSY   2299
            IF(SEARCH(I).EQ.'PRINT FLAG')THEN                           URACSY   2300
C                                                                       URACSY   2301
C              Invalid print flag is assumed to be false.               URACSY   2302
C                                                                       URACSY   2303
               IF(TYPE(I) .NE. ' ')THEN                                 URACSY   2304
                  IF(CDATA(I).EQ.'1' .OR. CDATA(I).EQ.'T' .OR.          URACSY   2305
     1                CDATA(I).EQ.'P' .OR. CDATA(I).EQ.'Y')THEN         URACSY   2306
                     UDPRNT(IUDC) = .TRUE.                              URACSY   2307
                  ELSE                                                  URACSY   2308
                     UDPRNT(IUDC) = .FALSE.                             URACSY   2309
                  END IF                                                URACSY   2310
                  IF(CDATA(I)(1:1) .NE. CDATA(I))THEN                   URACSY   2311
         WRITE(MSG(1),9008) SUBNAM                                      URACSY   2312
         WRITE(MSG(2),9009) TNAME                                       URACSY   2313
         WRITE(MSG(3),9900) BNAME(1:LEN),CDATA(I)(1:32)                 URACSY   2314
         WRITE(MSG(4),9901)                                             URACSY   2315
         CALL PRTMSG(4)                                                 URACSY   2316
                  END IF                                                URACSY   2317
               ELSE                                                     URACSY   2318
                  CDATA(I) = STARS                                      URACSY   2319
                  UDPRNT(IUDC) = .FALSE.                                URACSY   2320
               END IF                                                   URACSY   2321
C                                                                       URACSY   2322
C                                                                       URACSY   2323
C           b)   Store block/parameter 1.                               URACSY   2324
C                                                                       URACSY   2325
            ELSEIF(SEARCH(I).EQ.'LOGIC1 INPUT1'.OR.                     URACSY   2326
     1         SEARCH(I).EQ.'LOGIC2 INPUT1')THEN                        URACSY   2327
C                                                                       URACSY   2328
C              Create a new link in the relational linked list.         URACSY   2329
C                                                                       URACSY   2330
               IADDR = IUDRFR                                           URACSY   2331
               IUDRFR = IUDRNX(IUDRFR)                                  URACSY   2332
               IF(IUDRPT(IUDC).EQ.0)THEN                                URACSY   2333
                  IUDRPT(IUDC) = IADDR                                  URACSY   2334
               ELSE                                                     URACSY   2335
                  IUDRNX(LASTR) = IADDR                                 URACSY   2336
               END IF                                                   URACSY   2337
               IUDRNX(IADDR) = 0                                        URACSY   2338
               LASTR = IADDR                                            URACSY   2339
C                                                                       URACSY   2340
C              Initialize the remainder of the linked list to zero or   URACSY   2341
C              blank.                                                   URACSY   2342
C                                                                       URACSY   2343
               UDRKW(IADDR) = ' '                                       URACSY   2344
               UDBLK1(IADDR) = ' '                                      URACSY   2345
               IUDBNM(IADDR) = 0                                        URACSY   2346
               UDPRM1(IADDR) = 0.0                                      URACSY   2347
               UDRELA(IADDR) = ' '                                      URACSY   2348
               UDBLK2(IADDR) = ' '                                      URACSY   2349
               JUDBNM(IADDR) = 0                                        URACSY   2350
               UDPRM2(IADDR) = 0.0                                      URACSY   2351
C                                                                       URACSY   2352
               IF(TYPE(I).EQ.'CHAR')THEN                                URACSY   2353
                  IF(CDATA(I)(1:1).EQ.'''')THEN                         URACSY   2354
C                                                                       URACSY   2355
C                    Convert a character string to the numeric          URACSY   2356
C                    equivalent.                                        URACSY   2357
C                                                                       URACSY   2358
                     CALL USTRNG(CDATA(I), RDATA(I), IUDC, 'IRB')       URACSY   2359
C                                                                       URACSY   2360
                     IF(RDATA(I).NE.0.0) TYPE(I) = 'CHRE'               URACSY   2361
                  ENDIF                                                 URACSY   2362
               ENDIF                                                    URACSY   2363
C                                                                       URACSY   2364
C              Store valid or undefined parameter value.                URACSY   2365
C                                                                       URACSY   2366
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   2367
                  UDBLK1(IADDR) = STARS                                 URACSY   2368
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   2369
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   2370
C                                                                       URACSY   2371
C                    Expand the block name if it begins with "."        URACSY   2372
C                                                                       URACSY   2373
                     UDBLK1(IADDR) = SRNAME(1:ISRLEN)                   URACSY   2374
                     UDBLK1(IADDR)(ISRLEN+1:17) = CDATA(I)              URACSY   2375
                     CDATA(I) = UDBLK1(IADDR)                           URACSY   2376
                  ELSE                                                  URACSY   2377
                     UDBLK1(IADDR) = CDATA(I)                           URACSY   2378
                     IF(UDBLK1(IADDR) .NE. CDATA(I))THEN                URACSY   2379
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2380
         WRITE(MSG(2),9001) TNAME                                       URACSY   2381
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2382
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2383
         WRITE(MSG(5),9004) UDBLK1(IADDR)                               URACSY   2384
         WRITE(MSG(6),9005)                                             URACSY   2385
         CALL PRTMSG(6)                                                 URACSY   2386
                        IERCNT = IERCNT + 1                             URACSY   2387
                     END IF                                             URACSY   2388
                  END IF                                                URACSY   2389
               ELSEIF(TYPE(I).EQ.'REAL' .OR.                            URACSY   2390
     1                  TYPE(I).EQ.'CHRE')THEN                          URACSY   2391
                  IUDBNM(IADDR) = -99                                   URACSY   2392
                  UDPRM1(IADDR) = RDATA(I)                              URACSY   2393
               END IF                                                   URACSY   2394
C                                                                       URACSY   2395
C                                                                       URACSY   2396
C           c)   Store block/parameter 2.                               URACSY   2397
C                                                                       URACSY   2398
            ELSEIF(SEARCH(I).EQ.'LOGIC1 INPUT2'.OR.                     URACSY   2399
     1         SEARCH(I).EQ.'LOGIC2 INPUT2')THEN                        URACSY   2400
C                                                                       URACSY   2401
               IF(TYPE(I).EQ.'CHAR')THEN                                URACSY   2402
                  IF(CDATA(I)(1:1).EQ.'''')THEN                         URACSY   2403
C                                                                       URACSY   2404
C                    Convert a character string to the numeric          URACSY   2405
C                    equivalent.                                        URACSY   2406
C                                                                       URACSY   2407
                     CALL USTRNG(CDATA(I), RDATA(I), IUDC, 'IRB')       URACSY   2408
C                                                                       URACSY   2409
                     IF(RDATA(I).NE.0.0) TYPE(I) = 'CHRE'               URACSY   2410
                  ENDIF                                                 URACSY   2411
               ENDIF                                                    URACSY   2412
C                                                                       URACSY   2413
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   2414
                  UDBLK2(IADDR) = STARS                                 URACSY   2415
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   2416
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   2417
C                                                                       URACSY   2418
C                    Expand the block name if it begins with "."        URACSY   2419
C                                                                       URACSY   2420
                     UDBLK2(IADDR) = SRNAME(1:ISRLEN)                   URACSY   2421
                     UDBLK2(IADDR)(ISRLEN+1:17) = CDATA(I)              URACSY   2422
                     CDATA(I) = UDBLK2(IADDR)                           URACSY   2423
                  ELSE                                                  URACSY   2424
                     UDBLK2(IADDR) = CDATA(I)                           URACSY   2425
                     IF(UDBLK2(IADDR) .NE. CDATA(I))THEN                URACSY   2426
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2427
         WRITE(MSG(2),9001) TNAME                                       URACSY   2428
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2429
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2430
         WRITE(MSG(5),9004) UDBLK2(IADDR)                               URACSY   2431
         WRITE(MSG(6),9005)                                             URACSY   2432
         CALL PRTMSG(6)                                                 URACSY   2433
                        IERCNT = IERCNT + 1                             URACSY   2434
                     END IF                                             URACSY   2435
                  END IF                                                URACSY   2436
               ELSEIF(TYPE(I).EQ.'REAL' .OR.                            URACSY   2437
     1                  TYPE(I).EQ.'CHRE')THEN                          URACSY   2438
                  JUDBNM(IADDR) = -99                                   URACSY   2439
                  UDPRM2(IADDR) = RDATA(I)                              URACSY   2440
               END IF                                                   URACSY   2441
C                                                                       URACSY   2442
C                                                                       URACSY   2443
C           d)   Store operator.                                        URACSY   2444
C                                                                       URACSY   2445
            ELSEIF(SEARCH(I).EQ.'OPERATOR 1'.OR.                        URACSY   2446
     1         SEARCH(I).EQ.'OPERATOR 2')THEN                           URACSY   2447
C                                                                       URACSY   2448
C              Determine if the operator is valid.                      URACSY   2449
C                                                                       URACSY   2450
               IF(CDATA(I).EQ.'EQ' .OR. CDATA(I).EQ.'NE' .OR.           URACSY   2451
     1             CDATA(I).EQ.'LE' .OR. CDATA(I).EQ.'LT' .OR.          URACSY   2452
     2             CDATA(I).EQ.'GE' .OR. CDATA(I).EQ.'GT')THEN          URACSY   2453
                  TYPE(I) = 'CHAR'                                      URACSY   2454
                  UDRELA(IADDR) = CDATA(I)(1:2)                         URACSY   2455
                  IF(UDRELA(IADDR) .NE. CDATA(I))THEN                   URACSY   2456
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2457
         WRITE(MSG(2),9001) TNAME                                       URACSY   2458
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2459
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2460
         WRITE(MSG(5),9004) UDRELA(IADDR)                               URACSY   2461
         WRITE(MSG(6),9005)                                             URACSY   2462
         CALL PRTMSG(6)                                                 URACSY   2463
                     IERCNT = IERCNT + 1                                URACSY   2464
                  END IF                                                URACSY   2465
               ELSE                                                     URACSY   2466
                  TYPE(I) = ' '                                         URACSY   2467
                  UDRELA(IADDR) = STARS                                 URACSY   2468
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2469
         WRITE(MSG(2),9001) TNAME                                       URACSY   2470
         WRITE(MSG(3),9312) BNAME(1:LEN)                                URACSY   2471
         WRITE(MSG(4),9313) CDATA(I)(1:32)                              URACSY   2472
         WRITE(MSG(5),9005)                                             URACSY   2473
         CALL PRTMSG(5)                                                 URACSY   2474
                  IERCNT = IERCNT + 1                                   URACSY   2475
               END IF                                                   URACSY   2476
C                                                                       URACSY   2477
C                                                                       URACSY   2478
C           e)   Collect dc line or dc converter information to         URACSY   2479
C                determine its internal value.  Store this internal     URACSY   2480
C                value.                                                 URACSY   2481
C                                                                       URACSY   2482
            ELSEIF(SEARCH(I).EQ.'DC NODE NAME 1')THEN                   URACSY   2483
               IF(TYPE(I).EQ.'CHAR')THEN                                URACSY   2484
                  NAME(1:8) = CDATA(I)                                  URACSY   2485
                  IF(NAME(1:8) .NE. CDATA(I))THEN                       URACSY   2486
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2487
         WRITE(MSG(2),9001) TNAME                                       URACSY   2488
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2489
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2490
         WRITE(MSG(5),9004) NAME(1:8)                                   URACSY   2491
         WRITE(MSG(6),9005)                                             URACSY   2492
         CALL PRTMSG(6)                                                 URACSY   2493
                     IERCNT = IERCNT + 1                                URACSY   2494
                  END IF                                                URACSY   2495
               ELSE                                                     URACSY   2496
                  NAME(1:8) = STARS                                     URACSY   2497
               END IF                                                   URACSY   2498
               IF(LOOK.EQ.'DC CONVERTER')THEN                           URACSY   2499
                  DCCONV(1:8) = NAME(1:8)                               URACSY   2500
               ELSE                                                     URACSY   2501
                  DCLINE(1:8) = NAME(1:8)                               URACSY   2502
               END IF                                                   URACSY   2503
C                                                                       URACSY   2504
            ELSEIF(SEARCH(I).EQ.'DC NODE NAME 2')THEN                   URACSY   2505
               IF(TYPE(I).EQ.'CHAR')THEN                                URACSY   2506
                  NAME(1:8) = CDATA(I)                                  URACSY   2507
                  IF(NAME(1:8) .NE. CDATA(I))THEN                       URACSY   2508
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2509
         WRITE(MSG(2),9001) TNAME                                       URACSY   2510
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2511
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2512
         WRITE(MSG(5),9004) NAME(1:8)                                   URACSY   2513
         WRITE(MSG(6),9005)                                             URACSY   2514
         CALL PRTMSG(6)                                                 URACSY   2515
                     IERCNT = IERCNT + 1                                URACSY   2516
                  END IF                                                URACSY   2517
               ELSE                                                     URACSY   2518
                  NAME(1:8) = STARS                                     URACSY   2519
               END IF                                                   URACSY   2520
               IF(LOOK.EQ.'DC CONVERTER')THEN                           URACSY   2521
                  DCCONV(9:16) = NAME(1:8)                              URACSY   2522
               ELSE                                                     URACSY   2523
                  DCLINE(9:16) = NAME(1:8)                              URACSY   2524
               END IF                                                   URACSY   2525
C                                                                       URACSY   2526
            ELSEIF(SEARCH(I).EQ.'AC BUS NAME')THEN                      URACSY   2527
               IF(TYPE(I).EQ.'CHAR')THEN                                URACSY   2528
                  NAME(1:8) = CDATA(I)                                  URACSY   2529
                  IF(NAME(1:8) .NE. CDATA(I))THEN                       URACSY   2530
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2531
         WRITE(MSG(2),9001) TNAME                                       URACSY   2532
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2533
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2534
         WRITE(MSG(5),9004) NAME(1:8)                                   URACSY   2535
         WRITE(MSG(6),9005)                                             URACSY   2536
         CALL PRTMSG(6)                                                 URACSY   2537
                     IERCNT = IERCNT + 1                                URACSY   2538
                  END IF                                                URACSY   2539
               ELSE                                                     URACSY   2540
                  NAME(1:8) = STARS                                     URACSY   2541
               END IF                                                   URACSY   2542
               DCCONV(17:24) = NAME(1:8)                                URACSY   2543
C                                                                       URACSY   2544
            ELSEIF(SEARCH(I).EQ.'KV')THEN                               URACSY   2545
               IF(TYPE(I).EQ.'CHAR')THEN                                URACSY   2546
                  NAME(1:4) = CDATA(I)                                  URACSY   2547
                  NAME(5:8) = ' '                                       URACSY   2548
                  IF(NAME(1:8) .NE. CDATA(I))THEN                       URACSY   2549
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2550
         WRITE(MSG(2),9001) TNAME                                       URACSY   2551
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2552
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2553
         WRITE(MSG(5),9004) NAME(1:8)                                   URACSY   2554
         WRITE(MSG(6),9005)                                             URACSY   2555
         CALL PRTMSG(6)                                                 URACSY   2556
                     IERCNT = IERCNT + 1                                URACSY   2557
                  END IF                                                URACSY   2558
               ELSE                                                     URACSY   2559
                  NAME(1:8) = STARS                                     URACSY   2560
               END IF                                                   URACSY   2561
               DCCONV(25:28) = NAME(1:8)                                URACSY   2562
C                                                                       URACSY   2563
            ELSEIF(SEARCH(I).EQ.'CIRCUIT NUMBER')THEN                   URACSY   2564
               IF(TYPE(I).EQ.'CHAR')THEN                                URACSY   2565
                  NAME(1:1) = CDATA(I)                                  URACSY   2566
                  NAME(2:8) = ' '                                       URACSY   2567
                  IF(NAME(1:8) .NE. CDATA(I))THEN                       URACSY   2568
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2569
         WRITE(MSG(2),9001) TNAME                                       URACSY   2570
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2571
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2572
         WRITE(MSG(5),9004) NAME(1:8)                                   URACSY   2573
         WRITE(MSG(6),9005)                                             URACSY   2574
         CALL PRTMSG(6)                                                 URACSY   2575
                     IERCNT = IERCNT + 1                                URACSY   2576
                  END IF                                                URACSY   2577
               ELSE                                                     URACSY   2578
                  NAME(1:8) = STARS                                     URACSY   2579
               END IF                                                   URACSY   2580
C                                                                       URACSY   2581
C              Determine the internal value.                            URACSY   2582
C                                                                       URACSY   2583
               IF(LOOK.EQ.'DC CONVERTER')THEN                           URACSY   2584
                  DCCONV(29:29) = NAME(1:8)                             URACSY   2585
                  JSTORE = 0                                            URACSY   2586
                  DO 340 J = 1, ICDC                                    URACSY   2587
                     IF(IDC(J) .NE. 0)THEN                              URACSY   2588
                        JPOSN = IDC(J)                                  URACSY   2589
                        IF(DCCNAM(JPOSN).EQ.DCCONV) JSTORE = JPOSN      URACSY   2590
                     END IF                                             URACSY   2591
340               CONTINUE                                              URACSY   2592
                  IF(JSTORE.EQ.0)THEN                                   URACSY   2593
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2594
         WRITE(MSG(2),9001) TNAME                                       URACSY   2595
         WRITE(MSG(3),9314) BNAME(1:LEN)                                URACSY   2596
         WRITE(MSG(4),9315) DCCONV                                      URACSY   2597
         WRITE(MSG(5),9707)                                             URACSY   2598
         WRITE(MSG(6),9005)                                             URACSY   2599
         CALL PRTMSG(6)                                                 URACSY   2600
                     IERCNT = IERCNT + 1                                URACSY   2601
                  END IF                                                URACSY   2602
               ELSE                                                     URACSY   2603
                  DCLINE(17:17) = NAME                                  URACSY   2604
                  JSTORE = 0                                            URACSY   2605
                  DO 360 J = 1, ILDC                                    URACSY   2606
                     IF(IDCL(J) .NE. 0)THEN                             URACSY   2607
                        JPOSN = IDCL(J)                                 URACSY   2608
                        IF(DCLNAM(JPOSN).EQ.DCLINE) JSTORE = JPOSN      URACSY   2609
                     END IF                                             URACSY   2610
360               CONTINUE                                              URACSY   2611
                  IF(JSTORE.EQ.0)THEN                                   URACSY   2612
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2613
         WRITE(MSG(2),9001) TNAME                                       URACSY   2614
         WRITE(MSG(3),9316) BNAME(1:LEN)                                URACSY   2615
         WRITE(MSG(4),9317) DCLINE                                      URACSY   2616
         WRITE(MSG(5),9708)                                             URACSY   2617
         WRITE(MSG(6),9005)                                             URACSY   2618
         CALL PRTMSG(6)                                                 URACSY   2619
                     IERCNT = IERCNT + 1                                URACSY   2620
                  END IF                                                URACSY   2621
               END IF                                                   URACSY   2622
C                                                                       URACSY   2623
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   2624
               IF(JSTORE.EQ.0)THEN                                      URACSY   2625
                  UIDENT(IADDI) = STARS                                 URACSY   2626
               ELSE                                                     URACSY   2627
                  IUDINT(IADDI) = JSTORE                                URACSY   2628
               END IF                                                   URACSY   2629
C                                                                       URACSY   2630
C                                                                       URACSY   2631
C              f)   Store input.                                        URACSY   2632
C                                                                       URACSY   2633
            ELSEIF(SEARCH(I).EQ.'INPUT'.OR.                             URACSY   2634
     1         SEARCH(I).EQ.'INPUT 1'.OR.                               URACSY   2635
     2         SEARCH(I).EQ.'INPUT 2'.OR.                               URACSY   2636
     3         SEARCH(I).EQ.'R1')THEN                                   URACSY   2637
C                                                                       URACSY   2638
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   2639
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   2640
C                                                                       URACSY   2641
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   2642
                  UIDENT(IADDI) = STARS                                 URACSY   2643
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   2644
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   2645
C                                                                       URACSY   2646
C                    Expand the block name if it begins with "."        URACSY   2647
C                                                                       URACSY   2648
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   2649
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   2650
                     CDATA(I) = UIDENT(IADDI)                           URACSY   2651
                  ELSE                                                  URACSY   2652
                     UIDENT(IADDI) = CDATA(I)                           URACSY   2653
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   2654
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2655
         WRITE(MSG(2),9001) TNAME                                       URACSY   2656
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2657
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2658
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   2659
         WRITE(MSG(6),9005)                                             URACSY   2660
         CALL PRTMSG(6)                                                 URACSY   2661
                        IERCNT = IERCNT + 1                             URACSY   2662
                     END IF                                             URACSY   2663
                  END IF                                                URACSY   2664
               ELSEIF(TYPE(I).EQ.'REAL')THEN                            URACSY   2665
                  UDPARM(IADDP) = RDATA(I)                              URACSY   2666
               END IF                                                   URACSY   2667
C                                                                       URACSY   2668
C           G)   Store retriggered ramp parameters.                     URACSY   2669
C                                                                       URACSY   2670
            ELSEIF(SEARCH(I).EQ.'LEVEL 0' .OR.                          URACSY   2671
     1         SEARCH(I).EQ.'LEVEL 1' .OR.                              URACSY   2672
     2         SEARCH(I).EQ.'LEVEL 2' .OR.                              URACSY   2673
     3         SEARCH(I).EQ.'LEVEL 3' .OR.                              URACSY   2674
     4         SEARCH(I).EQ.'LEVEL 4' .OR.                              URACSY   2675
     5         SEARCH(I).EQ.'LEVEL 5' .OR.                              URACSY   2676
     6         SEARCH(I).EQ.'TIMER1' .OR.                               URACSY   2677
     7         SEARCH(I).EQ.'TIMER2' .OR.                               URACSY   2678
     8         SEARCH(I).EQ.'TIMER4' .OR.                               URACSY   2679
     9         SEARCH(I).EQ.'TIMER5')THEN                               URACSY   2680
C                                                                       URACSY   2681
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   2682
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   2683
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   2684
                  UIDENT(IADDI) = STARS                                 URACSY   2685
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   2686
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   2687
C                                                                       URACSY   2688
C                    Expand the block name if it begins with "."        URACSY   2689
C                                                                       URACSY   2690
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   2691
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   2692
                     CDATA(I) = UIDENT(IADDI)                           URACSY   2693
                  ELSE                                                  URACSY   2694
                     UIDENT(IADDI) = CDATA(I)                           URACSY   2695
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   2696
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2697
         WRITE(MSG(2),9001) TNAME                                       URACSY   2698
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2699
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2700
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   2701
         WRITE(MSG(6),9005)                                             URACSY   2702
         CALL PRTMSG(6)                                                 URACSY   2703
                        IERCNT = IERCNT + 1                             URACSY   2704
                     END IF                                             URACSY   2705
                  END IF                                                URACSY   2706
               ELSEIF(TYPE(I).EQ.'REAL')THEN                            URACSY   2707
                  UDPARM(IADDP) = RDATA(I)                              URACSY   2708
               END IF                                                   URACSY   2709
C                                                                       URACSY   2710
C           H)   Store delay time.                                      URACSY   2711
C                                                                       URACSY   2712
            ELSEIF(SEARCH(I).EQ.'DELAY TIME')THEN                       URACSY   2713
C                                                                       URACSY   2714
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   2715
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   2716
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   2717
                  UIDENT(IADDI) = STARS                                 URACSY   2718
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   2719
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   2720
C                                                                       URACSY   2721
C                    Expand the block name if it begins with "."        URACSY   2722
C                                                                       URACSY   2723
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   2724
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   2725
                     CDATA(I) = UIDENT(IADDI)                           URACSY   2726
                  ELSE                                                  URACSY   2727
                     UIDENT(IADDI) = CDATA(I)                           URACSY   2728
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   2729
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2730
         WRITE(MSG(2),9001) TNAME                                       URACSY   2731
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2732
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   2733
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   2734
         WRITE(MSG(6),9005)                                             URACSY   2735
         CALL PRTMSG(6)                                                 URACSY   2736
                        IERCNT = IERCNT + 1                             URACSY   2737
                     END IF                                             URACSY   2738
                  END IF                                                URACSY   2739
               ELSEIF(TYPE(I).EQ.'REAL')THEN                            URACSY   2740
                  UDPARM(IADDP) = RDATA(I)                              URACSY   2741
               END IF                                                   URACSY   2742
C                                                                       URACSY   2743
C           I)   Store remaining values in the parameter list.          URACSY   2744
C                                                                       URACSY   2745
            ELSE                                                        URACSY   2746
C                                                                       URACSY   2747
C              Create new link for parameter linked list.               URACSY   2748
C                                                                       URACSY   2749
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   2750
               IF(TYPE(I).EQ.'REAL')THEN                                URACSY   2751
                  UDPARM(IADDP) = RDATA(I)                              URACSY   2752
               ELSEIF(TYPE(I) .NE. ' ')THEN                             URACSY   2753
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2754
         WRITE(MSG(2),9318) TNAME                                       URACSY   2755
         WRITE(MSG(3),9319) BNAME(1:LEN)                                URACSY   2756
         WRITE(MSG(4),9320) TYPE(I)                                     URACSY   2757
         CALL PRTMSG(4)                                                 URACSY   2758
                  IERCNT = IERCNT + 1                                   URACSY   2759
               END IF                                                   URACSY   2760
C                                                                       URACSY   2761
C                                                                       URACSY   2762
               IF(SEARCH(I).EQ.'START VALUE')THEN                       URACSY   2763
                  SRTVAL = RDATA(I)                                     URACSY   2764
               ELSEIF(SEARCH(I).EQ.'FINISH VALUE')THEN                  URACSY   2765
                  VALEND = RDATA(I)                                     URACSY   2766
               ELSEIF(SEARCH(I).EQ.'LEVEL A')THEN                       URACSY   2767
                  ALEVEL = RDATA(I)                                     URACSY   2768
               ELSEIF(SEARCH(I).EQ.'LEVEL B')THEN                       URACSY   2769
                  BLEVEL = RDATA(I)                                     URACSY   2770
               ELSEIF(SEARCH(I).EQ.'P1')THEN                            URACSY   2771
                  P1 = RDATA(I)                                         URACSY   2772
               ELSEIF(SEARCH(I).EQ.'P2')THEN                            URACSY   2773
                  P2 = RDATA(I)                                         URACSY   2774
               ELSEIF(SEARCH(I).EQ.'P3')THEN                            URACSY   2775
                  P3 = RDATA(I)                                         URACSY   2776
               ELSEIF(SEARCH(I).EQ.'P4')THEN                            URACSY   2777
                  P4 = RDATA(I)                                         URACSY   2778
               END IF                                                   URACSY   2779
C                                                                       URACSY   2780
            END IF                                                      URACSY   2781
C                                                                       URACSY   2782
380      CONTINUE                                                       URACSY   2783
      END IF                                                            URACSY   2784
C                                                                       URACSY   2785
C---------------------------------------------------------------------  URACSY   2786
C                                                                       URACSY   2787
C     For debugging purposes:  dump all valid data.  For invalid        URACSY   2788
C     data a not defined message will be printed.                       URACSY   2789
C                                                                       URACSY   2790
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   2791
         DO 400 I = 1, NUMSRC                                           URACSY   2792
            N = LENGTH(I) + 1                                           URACSY   2793
            SEARCH(I)(N:N) = ':'                                        URACSY   2794
            IF(TYPE(I).EQ.'CHAR' .OR. TYPE(I).EQ.'CHRE')THEN            URACSY   2795
               IF(LDEB) THEN                                            URACSY   2796
                  WRITE (IUD6,9016) SEARCH(I), CDATA(I)                 URACSY   2797
               ELSE                                                     URACSY   2798
                  WRITE (IU16,9016) SEARCH(I), CDATA(I)                 URACSY   2799
               ENDIF                                                    URACSY   2800
            ELSEIF(TYPE(I).EQ.'REAL')THEN                               URACSY   2801
               IF(LDEB) THEN                                            URACSY   2802
                  WRITE (IUD6,9018) SEARCH(I), RDATA(I)                 URACSY   2803
               ELSE                                                     URACSY   2804
                  WRITE (IU16,9018) SEARCH(I), RDATA(I)                 URACSY   2805
               ENDIF                                                    URACSY   2806
            ELSEIF(TYPE(I).EQ.'INTE')THEN                               URACSY   2807
               IF(LDEB) THEN                                            URACSY   2808
                  WRITE (IUD6,9116) SEARCH(I), IDATA(I)                 URACSY   2809
               ELSE                                                     URACSY   2810
                  WRITE (IU16,9116) SEARCH(I), IDATA(I)                 URACSY   2811
               ENDIF                                                    URACSY   2812
            ELSEIF(TYPE(I).EQ.' ')THEN                                  URACSY   2813
                  WRITE(MSG(1),9020) SEARCH(I)                          URACSY   2814
                  CALL PRTMSG(1)                                        URACSY   2815
            END IF                                                      URACSY   2816
400      CONTINUE                                                       URACSY   2817
      END IF                                                            URACSY   2818
C                                                                       URACSY   2819
C---------------------------------------------------------------------  URACSY   2820
C                                                                       URACSY   2821
C     Check that the start value and the end value for the LEVEL        URACSY   2822
C     subtype are not equal.                                            URACSY   2823
C                                                                       URACSY   2824
      IF(.NOT.DEFINE) THEN                                              URACSY   2825
      IF(IUDSUB(IUDC).EQ.LEVELS)THEN                                    URACSY   2826
         IF(SRTVAL.EQ.VALEND)THEN                                       URACSY   2827
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2828
         WRITE(MSG(2),9001) TNAME                                       URACSY   2829
         WRITE(MSG(3),9330) BNAME(1:LEN),SRTVAL                         URACSY   2830
         WRITE(MSG(4),9331) VALEND                                      URACSY   2831
         WRITE(MSG(5),9709)                                             URACSY   2832
         WRITE(MSG(6),9005)                                             URACSY   2833
         CALL PRTMSG(6)                                                 URACSY   2834
            IERCNT = IERCNT + 1                                         URACSY   2835
         END IF                                                         URACSY   2836
      ELSEIF(IUDSUB(IUDC).EQ.IHYSTR)THEN                                URACSY   2837
         IF(.NOT. (P1 .LE. P2.AND.P3 .LE. P4))THEN                      URACSY   2838
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2839
         WRITE(MSG(2),9332) TNAME                                       URACSY   2840
         WRITE(MSG(3),9333) BNAME(1:LEN)                                URACSY   2841
         WRITE(MSG(4),9710) P1,P2                                       URACSY   2842
         WRITE(MSG(5),9711) P3,P4                                       URACSY   2843
         WRITE(MSG(6),9005)                                             URACSY   2844
         CALL PRTMSG(6)                                                 URACSY   2845
            IERCNT = IERCNT + 1                                         URACSY   2846
         END IF                                                         URACSY   2847
         IF(BLEVEL .GE. ALEVEL)THEN                                     URACSY   2848
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2849
         WRITE(MSG(2),9332) TNAME                                       URACSY   2850
         WRITE(MSG(3),9334) BNAME(1:LEN)                                URACSY   2851
         WRITE(MSG(4),9335) ALEVEL,BLEVEL                               URACSY   2852
         WRITE(MSG(5),9005)                                             URACSY   2853
         CALL PRTMSG(5)                                                 URACSY   2854
         END IF                                                         URACSY   2855
      END IF                                                            URACSY   2856
      ENDIF                                                             URACSY   2857
C                                                                       URACSY   2858
      IF(DEFINE)THEN                                                    URACSY   2859
         IUDC = IUDC - 1                                                URACSY   2860
      END IF                                                            URACSY   2861
C                                                                       URACSY   2862
      RETURN                                                            URACSY   2863
C                                                                       URACSY   2864
C                                                                       URACSY   2865
C---------------------------------------------------------------------  URACSY   2866
C                                                                       URACSY   2867
      ENTRY URSETP                                                      URACSY   2868
CD -------------------------------------------------------------------  URACSY   2869
CD                                                                      URACSY   2870
CD              *****     URSETP  ROUTINE   *****                       URACSY   2871
CD                                                                      URACSY   2872
CD -------------------------------------------------------------------  URACSY   2873
CD                                                                      URACSY   2874
CD       PURPOSE:  Controls the reading of the udc type SETUP data      URACSY   2875
CD                 from the input file.  Does limited error checking    URACSY   2876
CD                 Stores valid data in the udc storage arrays.         URACSY   2877
CD                                                                      URACSY   2878
CD -------------------------------------------------------------------  URACSY   2879
C                                                                       URACSY   2880
C     Define subroutine name.                                           URACSY   2881
C                                                                       URACSY   2882
      LDEB=(JDEB(301).NE.0)                                             URACSY   2883
C                                                                       URACSY   2884
      IF(SDBG)THEN                                                      URACSY   2885
         SUBNAM = 'URSETP ROUTINE.'                                     URACSY   2886
      ELSE                                                              URACSY   2887
         SUBNAM = ' '                                                   URACSY   2888
      END IF                                                            URACSY   2889
      TNAME = TPNAME(IUDTYP(IUDC))                                      URACSY   2890
      BNAME = UDNAME(IUDC)                                              URACSY   2891
      LEN = IUDLEN(IUDC)                                                URACSY   2892
C                                                                       URACSY   2893
C     Forces an interrupted card image if an error is found.            URACSY   2894
C                                                                       URACSY   2895
      JDCOUN = IERCNT                                                   URACSY   2896
      DPRINT = .FALSE.                                                  URACSY   2897
C                                                                       URACSY   2898
      IF(EXPAND)THEN                                                    URACSY   2899
C                                                                       URACSY   2900
C        Obtain the subtype name from the saved information for this    URACSY   2901
C        structure.                                                     URACSY   2902
C                                                                       URACSY   2903
         SNAME = SBSETP(IUDSUB(IUDC))                                   URACSY   2904
C                                                                       URACSY   2905
      ELSE                                                              URACSY   2906
C                                                                       URACSY   2907
C        Read the subtype name.                                         URACSY   2908
C                                                                       URACSY   2909
         ENDBLK = .FALSE.                                               URACSY   2910
         CALL URGETC (CDATA(1), FOUND)                                  URACSY   2911
         IF(.NOT. FOUND)THEN                                            URACSY   2912
            SNAME = STARS                                               URACSY   2913
         ELSE                                                           URACSY   2914
            SNAME = CDATA(1)                                            URACSY   2915
            IF(SNAME .NE. CDATA(1))THEN                                 URACSY   2916
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2917
         WRITE(MSG(2),9001) TNAME                                       URACSY   2918
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   2919
         WRITE(MSG(4),9003) CDATA(1)(1:32)                              URACSY   2920
         WRITE(MSG(5),9004) SNAME                                       URACSY   2921
         WRITE(MSG(6),9005)                                             URACSY   2922
         CALL PRTMSG(6)                                                 URACSY   2923
               IERCNT = IERCNT + 1                                      URACSY   2924
            END IF                                                      URACSY   2925
         END IF                                                         URACSY   2926
      END IF                                                            URACSY   2927
C                                                                       URACSY   2928
C---------------------------------------------------------------------  URACSY   2929
C                                                                       URACSY   2930
C     Determine the required data names and the number of searches      URACSY   2931
C     required.                                                         URACSY   2932
C                                                                       URACSY   2933
C     Start subtype.                                                    URACSY   2934
C                                                                       URACSY   2935
      IF(SNAME.EQ.SBSETP(ISPSTR))THEN                                   URACSY   2936
         IUDSUB(IUDC) = ISPSTR                                          URACSY   2937
         NUMSRC = 3                                                     URACSY   2938
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2939
         SEARCH(2) = 'DESTINATION'                                      URACSY   2940
         SEARCH(3) = 'VALUE'                                            URACSY   2941
C                                                                       URACSY   2942
C                                                                       URACSY   2943
C     Value subtype.                                                    URACSY   2944
C                                                                       URACSY   2945
      ELSEIF(SNAME.EQ.SBSETP(ISPVAL))THEN                               URACSY   2946
         IUDSUB(IUDC) = ISPVAL                                          URACSY   2947
         NUMSRC = 2                                                     URACSY   2948
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2949
         SEARCH(2) = 'INITIAL'                                          URACSY   2950
C                                                                       URACSY   2951
C                                                                       URACSY   2952
C     Offset subtype.                                                   URACSY   2953
C                                                                       URACSY   2954
      ELSEIF(SNAME.EQ.SBSETP(ISPOFF))THEN                               URACSY   2955
         IUDSUB(IUDC) = ISPOFF                                          URACSY   2956
         NUMSRC = 3                                                     URACSY   2957
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2958
         SEARCH(2) = 'INITIAL'                                          URACSY   2959
         SEARCH(3) = 'INPUT'                                            URACSY   2960
C                                                                       URACSY   2961
C                                                                       URACSY   2962
C     Integrator subtype.                                               URACSY   2963
C                                                                       URACSY   2964
      ELSEIF(SNAME.EQ.SBSETP(ISPINT))THEN                               URACSY   2965
         IUDSUB(IUDC) = ISPINT                                          URACSY   2966
         NUMSRC = 4                                                     URACSY   2967
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2968
         SEARCH(2) = 'INITIAL'                                          URACSY   2969
         SEARCH(3) = 'INPUT'                                            URACSY   2970
         SEARCH(4) = 'GAIN'                                             URACSY   2971
C                                                                       URACSY   2972
C                                                                       URACSY   2973
C     Limited integrator subtype.                                       URACSY   2974
C                                                                       URACSY   2975
      ELSEIF(SNAME.EQ.SBSETP(ISPLIN))THEN                               URACSY   2976
         IUDSUB(IUDC) = ISPLIN                                          URACSY   2977
         NUMSRC = 6                                                     URACSY   2978
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   2979
         SEARCH(2) = 'INITIAL'                                          URACSY   2980
         SEARCH(3) = 'INPUT'                                            URACSY   2981
         SEARCH(4) = 'GAIN'                                             URACSY   2982
         SEARCH(5) = 'LOW LIMIT'                                        URACSY   2983
         SEARCH(6) = 'HIGH LIMIT'                                       URACSY   2984
C                                                                       URACSY   2985
C     Invalid subtype.                                                  URACSY   2986
C                                                                       URACSY   2987
      ELSE                                                              URACSY   2988
         IUDSUB(IUDC) = 0                                               URACSY   2989
         NUMSRC = 0                                                     URACSY   2990
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   2991
         WRITE(MSG(2),9001) TNAME                                       URACSY   2992
         WRITE(MSG(3),9703) BNAME(1:LEN),SNAME                          URACSY   2993
         WRITE(MSG(4),9104)                                             URACSY   2994
         WRITE(MSG(5),9005)                                             URACSY   2995
         CALL PRTMSG(5)                                                 URACSY   2996
         IERCNT = IERCNT + 1                                            URACSY   2997
      END IF                                                            URACSY   2998
C                                                                       URACSY   2999
C---------------------------------------------------------------------  URACSY   3000
C                                                                       URACSY   3001
C     Based on the data names required, determine the type of searches, URACSY   3002
C     and length of data names.                                         URACSY   3003
C                                                                       URACSY   3004
      DO 420 I = 1, NUMSRC                                              URACSY   3005
         IF(SEARCH(I).EQ.'PRINT FLAG')THEN                              URACSY   3006
            TYPE(I) = 'CHAR'                                            URACSY   3007
            LENGTH(I) = 10                                              URACSY   3008
         ELSEIF(SEARCH(I).EQ.'INITIAL')THEN                             URACSY   3009
            TYPE(I) = 'RECH'                                            URACSY   3010
            LENGTH(I) = 7                                               URACSY   3011
         ELSEIF(SEARCH(I).EQ.'VALUE')THEN                               URACSY   3012
            TYPE(I) = 'REAL'                                            URACSY   3013
            LENGTH(I) = 5                                               URACSY   3014
         ELSEIF(SEARCH(I).EQ.'INPUT')THEN                               URACSY   3015
            TYPE(I) = 'CHAR'                                            URACSY   3016
            LENGTH(I) = 5                                               URACSY   3017
         ELSEIF(SEARCH(I).EQ.'DESTINATION')THEN                         URACSY   3018
            TYPE(I) = 'CHAR'                                            URACSY   3019
            LENGTH(I) = 11                                              URACSY   3020
         ELSEIF(SEARCH(I).EQ.'LOW LIMIT')THEN                           URACSY   3021
            TYPE(I) = 'RECH'                                            URACSY   3022
            LENGTH(I) = 9                                               URACSY   3023
         ELSEIF(SEARCH(I).EQ.'HIGH LIMIT')THEN                          URACSY   3024
            TYPE(I) = 'RECH'                                            URACSY   3025
            LENGTH(I) = 10                                              URACSY   3026
         ELSEIF(SEARCH(I).EQ.'GAIN')THEN                                URACSY   3027
            TYPE(I) = 'REAL'                                            URACSY   3028
            LENGTH(I) = 4                                               URACSY   3029
         END IF                                                         URACSY   3030
420    CONTINUE                                                         URACSY   3031
C                                                                       URACSY   3032
C---------------------------------------------------------------------  URACSY   3033
C                                                                       URACSY   3034
C     Retrieve the necessary data from the input file.                  URACSY   3035
C                                                                       URACSY   3036
      JREPEA = 0                                                        URACSY   3037
      CALL URREAD (CDATA, RDATA, IDATA, JREPEA)                         URACSY   3038
C                                                                       URACSY   3039
C---------------------------------------------------------------------  URACSY   3040
C                                                                       URACSY   3041
C     For debugging purposes:  dump block name, type name and           URACSY   3042
C     number, and subtype name and number.                              URACSY   3043
C                                                                       URACSY   3044
      IF(JDCOUN .NE. IERCNT)THEN                                        URACSY   3045
         DPRINT = .TRUE.                                                URACSY   3046
      END IF                                                            URACSY   3047
C                                                                       URACSY   3048
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   3049
         IF(LDEB) THEN                                                  URACSY   3050
            WRITE (IUD6,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   3051
     1                      IUDSUB(IUDC)                                URACSY   3052
         ELSE                                                           URACSY   3053
            WRITE (IU16,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   3054
     1                      IUDSUB(IUDC)                                URACSY   3055
         END IF                                                         URACSY   3056
      END IF                                                            URACSY   3057
C                                                                       URACSY   3058
C---------------------------------------------------------------------  URACSY   3059
C                                                                       URACSY   3060
      IF(DEFINE)THEN                                                    URACSY   3061
C                                                                       URACSY   3062
C        Save information in the structure linked list.                 URACSY   3063
C                                                                       URACSY   3064
         CALL ADDSTR (CDATA, RDATA, IDATA)                              URACSY   3065
C                                                                       URACSY   3066
C                                                                       URACSY   3067
      ELSEIF(IUDSUB(IUDC).EQ.ISPSTR)THEN                                URACSY   3068
C                                                                       URACSY   3069
C        Store valid data for START, in the start list.                 URACSY   3070
C                                                                       URACSY   3071
         NEW = IFXFRE                                                   URACSY   3072
         IFXFRE = IFXNEX(IFXFRE)                                        URACSY   3073
         IF(IFXSTR.EQ.0)THEN                                            URACSY   3074
            IFXSTR = NEW                                                URACSY   3075
         ELSE                                                           URACSY   3076
            NEXT = IFXSTR                                               URACSY   3077
            LAST = NEXT                                                 URACSY   3078
440         IF(NEXT.EQ.0) GOTO 460                                      URACSY   3079
               LAST = NEXT                                              URACSY   3080
               NEXT = IFXNEX(NEXT)                                      URACSY   3081
               GOTO 440                                                 URACSY   3082
460         CONTINUE                                                    URACSY   3083
            IFXNEX(LAST) = NEW                                          URACSY   3084
         END IF                                                         URACSY   3085
         IFXNEX(NEW) = 0                                                URACSY   3086
C                                                                       URACSY   3087
         DO 480 I = 1, NUMSRC                                           URACSY   3088
C                                                                       URACSY   3089
            IF(SEARCH(I).EQ.'DESTINATION')THEN                          URACSY   3090
C                                                                       URACSY   3091
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3092
                  FXNAM1(NEW) = STARS                                   URACSY   3093
               ELSE                                                     URACSY   3094
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   3095
C                                                                       URACSY   3096
C                    Expand the block name if it begins with "."        URACSY   3097
C                                                                       URACSY   3098
                     FXNAM1(NEW) = SRNAME(1:ISRLEN)                     URACSY   3099
                     FXNAM1(NEW)(ISRLEN+1:17) = CDATA(I)                URACSY   3100
                     CDATA(I) = FXNAM1(NEW)                             URACSY   3101
                  ELSE                                                  URACSY   3102
                     FXNAM1(NEW) = CDATA(I)                             URACSY   3103
                     IF(FXNAM1(NEW) .NE. CDATA(I))THEN                  URACSY   3104
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3105
         WRITE(MSG(2),9001) TNAME                                       URACSY   3106
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   3107
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   3108
         WRITE(MSG(5),9004) FXNAM1(NEW)                                 URACSY   3109
         WRITE(MSG(6),9005)                                             URACSY   3110
         CALL PRTMSG(6)                                                 URACSY   3111
                        IERCNT = IERCNT + 1                             URACSY   3112
                     END IF                                             URACSY   3113
                  END IF                                                URACSY   3114
                  IFXNUM(NEW) = 0                                       URACSY   3115
               END IF                                                   URACSY   3116
C                                                                       URACSY   3117
            ELSEIF(SEARCH(I).EQ.'VALUE')THEN                            URACSY   3118
C                                                                       URACSY   3119
               FXVAL(NEW) = 0.0                                         URACSY   3120
C               FXNAM1(NEW) = ' '                                       URACSY   3121
               IFXNUM(NEW) = 0                                          URACSY   3122
               FXNAM2(NEW) = ' '                                        URACSY   3123
               JFXNUM(NEW) = 0                                          URACSY   3124
               IF(TYPE(I).EQ.'REAL')THEN                                URACSY   3125
                  FXVAL(NEW) = RDATA(I)                                 URACSY   3126
               ELSE                                                     URACSY   3127
                  FXNAM2(NEW) = STARS                                   URACSY   3128
               END IF                                                   URACSY   3129
               IFXNEX(NEW) = 0                                          URACSY   3130
            END IF                                                      URACSY   3131
480      CONTINUE                                                       URACSY   3132
C                                                                       URACSY   3133
C                                                                       URACSY   3134
      ELSEIF(IUDSUB(IUDC).EQ.ISPVAL .OR.                                URACSY   3135
     1         IUDSUB(IUDC).EQ.ISPOFF .OR.                              URACSY   3136
     2         IUDSUB(IUDC).EQ.ISPINT .OR.                              URACSY   3137
     3         IUDSUB(IUDC).EQ.ISPLIN)THEN                              URACSY   3138
C                                                                       URACSY   3139
C                                                                       URACSY   3140
C        Store valid data.                                              URACSY   3141
C                                                                       URACSY   3142
         IUNIPT(IUDC) = 0                                               URACSY   3143
         IUDPPT(IUDC) = 0                                               URACSY   3144
         IUDRPT(IUDC) = 0                                               URACSY   3145
         IUDSPT(IUDC) = 0                                               URACSY   3146
C                                                                       URACSY   3147
         DO 500 I = 1, NUMSRC                                           URACSY   3148
C                                                                       URACSY   3149
C                                                                       URACSY   3150
C           a)   Store print flag.                                      URACSY   3151
C                                                                       URACSY   3152
            IF(SEARCH(I).EQ.'PRINT FLAG')THEN                           URACSY   3153
C                                                                       URACSY   3154
C              Invalid print flag is assumed to be false.               URACSY   3155
C                                                                       URACSY   3156
               IF(TYPE(I) .NE. ' ')THEN                                 URACSY   3157
                  IF(CDATA(I).EQ.'1' .OR. CDATA(I).EQ.'T' .OR.          URACSY   3158
     1                CDATA(I).EQ.'P' .OR. CDATA(I).EQ.'Y')THEN         URACSY   3159
                     UDPRNT(IUDC) = .TRUE.                              URACSY   3160
                  ELSE                                                  URACSY   3161
                     UDPRNT(IUDC) = .FALSE.                             URACSY   3162
                  END IF                                                URACSY   3163
                  IF(CDATA(I)(1:1) .NE. CDATA(I))THEN                   URACSY   3164
         WRITE(MSG(1),9008) SUBNAM                                      URACSY   3165
         WRITE(MSG(2),9009) TNAME                                       URACSY   3166
         WRITE(MSG(3),9900) BNAME(1:LEN),CDATA(I)(1:32)                 URACSY   3167
         WRITE(MSG(4),9901)                                             URACSY   3168
         CALL PRTMSG(4)                                                 URACSY   3169
                  END IF                                                URACSY   3170
               ELSE                                                     URACSY   3171
                  CDATA(I) = STARS                                      URACSY   3172
                  UDPRNT(IUDC) = .FALSE.                                URACSY   3173
               END IF                                                   URACSY   3174
C                                                                       URACSY   3175
C                                                                       URACSY   3176
C                                                                       URACSY   3177
C           b)   Store initial value, low limit and high limit..        URACSY   3178
C                                                                       URACSY   3179
            ELSEIF(SEARCH(I).EQ.'INITIAL' .OR.                          URACSY   3180
     1               SEARCH(I).EQ.'LOW LIMIT' .OR.                      URACSY   3181
     2               SEARCH(I).EQ.'HIGH LIMIT')THEN                     URACSY   3182
C                                                                       URACSY   3183
C              Create new link for identification linked list, and      URACSY   3184
C              parameter linked list.                                   URACSY   3185
C                                                                       URACSY   3186
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   3187
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   3188
C                                                                       URACSY   3189
C              Store valid or undefined input 1 or input 2 values.      URACSY   3190
C                                                                       URACSY   3191
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3192
                  UIDENT(IADDI) = STARS                                 URACSY   3193
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   3194
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   3195
C                                                                       URACSY   3196
C                    Expand the block name if it begins with "."        URACSY   3197
C                                                                       URACSY   3198
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   3199
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   3200
                     CDATA(I) = UIDENT(IADDI)                           URACSY   3201
                  ELSE                                                  URACSY   3202
                     UIDENT(IADDI) = CDATA(I)                           URACSY   3203
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   3204
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3205
         WRITE(MSG(2),9001) TNAME                                       URACSY   3206
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   3207
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   3208
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   3209
         WRITE(MSG(6),9005)                                             URACSY   3210
         CALL PRTMSG(6)                                                 URACSY   3211
                        IERCNT = IERCNT + 1                             URACSY   3212
                     END IF                                             URACSY   3213
                  END IF                                                URACSY   3214
               ELSEIF(TYPE(I).EQ.'REAL')THEN                            URACSY   3215
                  UDPARM(IADDP) = RDATA(I)                              URACSY   3216
               END IF                                                   URACSY   3217
C                                                                       URACSY   3218
C           c)   Store input value or destination.                      URACSY   3219
C                                                                       URACSY   3220
            ELSEIF(SEARCH(I).EQ.'INPUT' .OR.                            URACSY   3221
     1               SEARCH(I).EQ.'DESTINATION')THEN                    URACSY   3222
C                                                                       URACSY   3223
C                                                                       URACSY   3224
C              Create new link for identification linked list.          URACSY   3225
C                                                                       URACSY   3226
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   3227
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3228
                  UIDENT(IADDI) = STARS                                 URACSY   3229
               ELSE                                                     URACSY   3230
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   3231
C                                                                       URACSY   3232
C                    Expand the block name if it begins with "."        URACSY   3233
C                                                                       URACSY   3234
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   3235
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   3236
                     CDATA(I) = UIDENT(IADDI)                           URACSY   3237
                  ELSE                                                  URACSY   3238
                     UIDENT(IADDI) = CDATA(I)                           URACSY   3239
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   3240
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3241
         WRITE(MSG(2),9001) TNAME                                       URACSY   3242
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   3243
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   3244
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   3245
         WRITE(MSG(6),9005)                                             URACSY   3246
         CALL PRTMSG(6)                                                 URACSY   3247
                        IERCNT = IERCNT + 1                             URACSY   3248
                     END IF                                             URACSY   3249
                  END IF                                                URACSY   3250
               END IF                                                   URACSY   3251
C                                                                       URACSY   3252
C                                                                       URACSY   3253
C           d)  Store gain value.                                       URACSY   3254
C                                                                       URACSY   3255
            ELSEIF(SEARCH(I).EQ.'GAIN')THEN                             URACSY   3256
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   3257
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3258
                  UDPARM(IADDP) = 0.0                                   URACSY   3259
               ELSE                                                     URACSY   3260
                  UDPARM(IADDP) = RDATA(I)                              URACSY   3261
               END IF                                                   URACSY   3262
C                                                                       URACSY   3263
C                                                                       URACSY   3264
            END IF                                                      URACSY   3265
500      CONTINUE                                                       URACSY   3266
      END IF                                                            URACSY   3267
C                                                                       URACSY   3268
C---------------------------------------------------------------------  URACSY   3269
C                                                                       URACSY   3270
C     For debugging purposes:  dump all valid data.  For invalid        URACSY   3271
C     data a not defined message will be printed.                       URACSY   3272
C                                                                       URACSY   3273
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   3274
         DO 520 I = 1, NUMSRC                                           URACSY   3275
            N = LENGTH(I) + 1                                           URACSY   3276
            SEARCH(I)(N:N) = ':'                                        URACSY   3277
            IF(TYPE(I).EQ.'CHAR')THEN                                   URACSY   3278
               IF(LDEB) THEN                                            URACSY   3279
                  WRITE (IUD6,9016) SEARCH(I), CDATA(I)                 URACSY   3280
               ELSE                                                     URACSY   3281
                  WRITE (IU16,9016) SEARCH(I), CDATA(I)                 URACSY   3282
               ENDIF                                                    URACSY   3283
            ELSEIF(TYPE(I).EQ.'REAL')THEN                               URACSY   3284
               IF(LDEB) THEN                                            URACSY   3285
                  WRITE (IUD6,9018) SEARCH(I), RDATA(I)                 URACSY   3286
               ELSE                                                     URACSY   3287
                  WRITE (IU16,9018) SEARCH(I), RDATA(I)                 URACSY   3288
               ENDIF                                                    URACSY   3289
            ELSEIF(TYPE(I).EQ.'INTE')THEN                               URACSY   3290
               IF(LDEB) THEN                                            URACSY   3291
                  WRITE (IUD6,9116) SEARCH(I), IDATA(I)                 URACSY   3292
               ELSE                                                     URACSY   3293
                  WRITE (IU16,9116) SEARCH(I), IDATA(I)                 URACSY   3294
               ENDIF                                                    URACSY   3295
            ELSEIF(TYPE(I).EQ.' ')THEN                                  URACSY   3296
                  WRITE(MSG(1),9020) SEARCH(I)                          URACSY   3297
                  CALL PRTMSG(1)                                        URACSY   3298
            END IF                                                      URACSY   3299
520      CONTINUE                                                       URACSY   3300
      END IF                                                            URACSY   3301
C                                                                       URACSY   3302
C---------------------------------------------------------------------  URACSY   3303
C                                                                       URACSY   3304
      IF(DEFINE .OR. IUDSUB(IUDC).EQ.ISPSTR)THEN                        URACSY   3305
C                                                                       URACSY   3306
C       Remove this information from the udc arrays.                    URACSY   3307
C                                                                       URACSY   3308
        IUDC = IUDC - 1                                                 URACSY   3309
      END IF                                                            URACSY   3310
C                                                                       URACSY   3311
C                                                                       URACSY   3312
C---------------------------------------------------------------------  URACSY   3313
C                                                                       URACSY   3314
      RETURN                                                            URACSY   3315
C                                                                       URACSY   3316
C---------------------------------------------------------------------  URACSY   3317
C                                                                       URACSY   3318
C                                                                       URACSY   3319
C---------------------------------------------------------------------  URACSY   3320
C                                                                       URACSY   3321
      ENTRY URSUBS                                                      URACSY   3322
CD -------------------------------------------------------------------  URACSY   3323
CD                                                                      URACSY   3324
CD              *****     URSUBS  ROUTINE   *****                       URACSY   3325
CD                                                                      URACSY   3326
CD -------------------------------------------------------------------  URACSY   3327
CD                                                                      URACSY   3328
CD       PURPOSE:  Controls the reading of the udc type SUBSYS data     URACSY   3329
CD                 from the input file.  Does limited error checking.   URACSY   3330
CD                 Stores valid datain the udc storage arrays.          URACSY   3331
CD                                                                      URACSY   3332
CD -------------------------------------------------------------------  URACSY   3333
C                                                                       URACSY   3334
C     Define the subroutine name.                                       URACSY   3335
C                                                                       URACSY   3336
      LDEB=(JDEB(301).NE.0)                                             URACSY   3337
C                                                                       URACSY   3338
      IF(SDBG)THEN                                                      URACSY   3339
         SUBNAM = 'URSUBS ROUTINE.'                                     URACSY   3340
      ELSE                                                              URACSY   3341
         SUBNAM = ' '                                                   URACSY   3342
      END IF                                                            URACSY   3343
      TNAME = TPNAME(IUDTYP(IUDC))                                      URACSY   3344
      BNAME = UDNAME(IUDC)                                              URACSY   3345
      LEN = IUDLEN(IUDC)                                                URACSY   3346
C                                                                       URACSY   3347
C     Forces an interrupted card image if an error is found.            URACSY   3348
C                                                                       URACSY   3349
      JDCOUN = IERCNT                                                   URACSY   3350
      DPRINT = .FALSE.                                                  URACSY   3351
C                                                                       URACSY   3352
      IF(EXPAND)THEN                                                    URACSY   3353
C                                                                       URACSY   3354
C        Obtain the subtype name from the saved information for this    URACSY   3355
C        structure.                                                     URACSY   3356
C                                                                       URACSY   3357
         SNAME = SBSUBS(IUDSUB(IUDC))                                   URACSY   3358
C                                                                       URACSY   3359
      ELSE                                                              URACSY   3360
C                                                                       URACSY   3361
C        Read the subtype name.                                         URACSY   3362
C                                                                       URACSY   3363
         ENDBLK = .FALSE.                                               URACSY   3364
         CALL URGETC (CDATA(1), FOUND)                                  URACSY   3365
         IF(.NOT. FOUND)THEN                                            URACSY   3366
            SNAME = STARS                                               URACSY   3367
         ELSE                                                           URACSY   3368
            SNAME = CDATA(1)                                            URACSY   3369
            IF(SNAME .NE. CDATA(1))THEN                                 URACSY   3370
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3371
         WRITE(MSG(2),9001) TNAME                                       URACSY   3372
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   3373
         WRITE(MSG(4),9003) CDATA(1)(1:32)                              URACSY   3374
         WRITE(MSG(5),9004) SNAME                                       URACSY   3375
         WRITE(MSG(6),9005)                                             URACSY   3376
         CALL PRTMSG(6)                                                 URACSY   3377
               IERCNT = IERCNT + 1                                      URACSY   3378
            END IF                                                      URACSY   3379
         END IF                                                         URACSY   3380
      END IF                                                            URACSY   3381
C                                                                       URACSY   3382
C---------------------------------------------------------------------  URACSY   3383
C                                                                       URACSY   3384
C     Determine the required data names and the number of searches      URACSY   3385
C     required.                                                         URACSY   3386
C                                                                       URACSY   3387
C                                                                       URACSY   3388
      IF(SNAME.EQ.SBSUBS(ISSVAL))THEN                                   URACSY   3389
         IUDSUB(IUDC) = ISSVAL                                          URACSY   3390
         NUMSRC = 8                                                     URACSY   3391
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3392
         SEARCH(2) = 'INITIAL'                                          URACSY   3393
         SEARCH(3) = 'INCREMENT'                                        URACSY   3394
         SEARCH(4) = 'TOLERANCE'                                        URACSY   3395
         SEARCH(5) = 'EBLOCK'                                           URACSY   3396
         SEARCH(6) = 'OUT NUMBER'                                       URACSY   3397
         SEARCH(7) = 'LOW LIMIT'                                        URACSY   3398
         SEARCH(8) = 'HIGH LIMIT'                                       URACSY   3399
C                                                                       URACSY   3400
      ELSEIF(SNAME.EQ.SBSUBS(ISSOFS))THEN                               URACSY   3401
         IUDSUB(IUDC) = ISSOFS                                          URACSY   3402
         NUMSRC = 9                                                     URACSY   3403
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3404
         SEARCH(2) = 'INITIAL'                                          URACSY   3405
         SEARCH(3) = 'INPUT'                                            URACSY   3406
         SEARCH(4) = 'INCREMENT'                                        URACSY   3407
         SEARCH(5) = 'TOLERANCE'                                        URACSY   3408
         SEARCH(6) = 'EBLOCK'                                           URACSY   3409
         SEARCH(7) = 'OUT NUMBER'                                       URACSY   3410
         SEARCH(8) = 'LOW LIMIT'                                        URACSY   3411
         SEARCH(9) = 'HIGH LIMIT'                                       URACSY   3412
C                                                                       URACSY   3413
      ELSEIF(SNAME.EQ.SBSUBS(ISBRKS))THEN                               URACSY   3414
         IUDSUB(IUDC) = ISBRKS                                          URACSY   3415
         NUMSRC = 3                                                     URACSY   3416
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3417
         SEARCH(2) = 'INPUT'                                            URACSY   3418
         SEARCH(3) = 'EXPECTED'                                         URACSY   3419
C                                                                       URACSY   3420
C     Subtype integrator.                                               URACSY   3421
C                                                                       URACSY   3422
      ELSEIF(SNAME.EQ.SBSUBS(ISINTS))THEN                               URACSY   3423
         IUDSUB(IUDC) = ISINTS                                          URACSY   3424
         NUMSRC = 10                                                    URACSY   3425
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3426
         SEARCH(2) = 'INITIAL'                                          URACSY   3427
         SEARCH(3) = 'INPUT'                                            URACSY   3428
         SEARCH(4) = 'GAIN'                                             URACSY   3429
         SEARCH(5) = 'INCREMENT'                                        URACSY   3430
         SEARCH(6) = 'TOLERANCE'                                        URACSY   3431
         SEARCH(7) = 'EBLOCK'                                           URACSY   3432
         SEARCH(8) = 'OUT NUMBER'                                       URACSY   3433
         SEARCH(9) = 'LOW LIMIT'                                        URACSY   3434
         SEARCH(10) = 'HIGH LIMIT'                                      URACSY   3435
C                                                                       URACSY   3436
C     Subtype limited integrator.                                       URACSY   3437
C                                                                       URACSY   3438
      ELSEIF(SNAME.EQ.SBSUBS(ISLINS))THEN                               URACSY   3439
         IUDSUB(IUDC) = ISLINS                                          URACSY   3440
         NUMSRC = 12                                                    URACSY   3441
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3442
         SEARCH(2) = 'INITIAL'                                          URACSY   3443
         SEARCH(3) = 'INPUT'                                            URACSY   3444
         SEARCH(4) = 'GAIN'                                             URACSY   3445
         SEARCH(5) = 'LIMITED LOW'                                      URACSY   3446
         SEARCH(6) = 'LIMITED HIGH'                                     URACSY   3447
         SEARCH(7) = 'INCREMENT'                                        URACSY   3448
         SEARCH(8) = 'TOLERANCE'                                        URACSY   3449
         SEARCH(9) = 'EBLOCK'                                           URACSY   3450
         SEARCH(10) = 'OUT NUMBER'                                      URACSY   3451
         SEARCH(11) = 'LOW LIMIT'                                       URACSY   3452
         SEARCH(12) = 'HIGH LIMIT'                                      URACSY   3453
C                                                                       URACSY   3454
C     Invalid subtype.                                                  URACSY   3455
C                                                                       URACSY   3456
      ELSE                                                              URACSY   3457
         IUDSUB(IUDC) = 0                                               URACSY   3458
         NUMSRC = 0                                                     URACSY   3459
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3460
         WRITE(MSG(2),9001) TNAME                                       URACSY   3461
         WRITE(MSG(3),9703) BNAME(1:LEN),SNAME                          URACSY   3462
         WRITE(MSG(4),9104)                                             URACSY   3463
         WRITE(MSG(5),9005)                                             URACSY   3464
         CALL PRTMSG(5)                                                 URACSY   3465
         IERCNT = IERCNT + 1                                            URACSY   3466
      END IF                                                            URACSY   3467
C                                                                       URACSY   3468
C---------------------------------------------------------------------  URACSY   3469
C                                                                       URACSY   3470
C     Based on the data names required, determine the type of searches, URACSY   3471
C     and length of data names.                                         URACSY   3472
C                                                                       URACSY   3473
      DO 620 I = 1, NUMSRC                                              URACSY   3474
         IF(SEARCH(I).EQ.'PRINT FLAG')THEN                              URACSY   3475
            TYPE(I) = 'CHAR'                                            URACSY   3476
            LENGTH(I) = 10                                              URACSY   3477
         ELSEIF(SEARCH(I).EQ.'INITIAL')THEN                             URACSY   3478
            TYPE(I) = 'RECH'                                            URACSY   3479
            LENGTH(I) = 7                                               URACSY   3480
         ELSEIF(SEARCH(I).EQ.'INPUT')THEN                               URACSY   3481
            TYPE(I) = 'CHAR'                                            URACSY   3482
            LENGTH(I) = 5                                               URACSY   3483
         ELSEIF(SEARCH(I).EQ.'EXPECTED')THEN                            URACSY   3484
            TYPE(I) = 'RECH'                                            URACSY   3485
            LENGTH(I) = 8                                               URACSY   3486
         ELSEIF(SEARCH(I).EQ.'INCREMENT')THEN                           URACSY   3487
            TYPE(I) = 'REAL'                                            URACSY   3488
            LENGTH(I) = 9                                               URACSY   3489
         ELSEIF(SEARCH(I).EQ.'TOLERANCE')THEN                           URACSY   3490
            TYPE(I) = 'REAL'                                            URACSY   3491
            LENGTH(I) = 9                                               URACSY   3492
         ELSEIF(SEARCH(I).EQ.'EBLOCK')THEN                              URACSY   3493
            TYPE(I) = 'CHAR'                                            URACSY   3494
            LENGTH(I) = 6                                               URACSY   3495
         ELSEIF(SEARCH(I).EQ.'OUT NUMBER')THEN                          URACSY   3496
            TYPE(I) = 'INTE'                                            URACSY   3497
            LENGTH(I) = 10                                              URACSY   3498
         ELSEIF(SEARCH(I).EQ.'LIMITED LOW')THEN                         URACSY   3499
            TYPE(I) = 'RECH'                                            URACSY   3500
            LENGTH(I) = 11                                              URACSY   3501
         ELSEIF(SEARCH(I).EQ.'LIMITED HIGH')THEN                        URACSY   3502
            TYPE(I) = 'RECH'                                            URACSY   3503
            LENGTH(I) = 12                                              URACSY   3504
         ELSEIF(SEARCH(I).EQ.'LOW LIMIT')THEN                           URACSY   3505
            TYPE(I) = 'REAL'                                            URACSY   3506
            LENGTH(I) = 9                                               URACSY   3507
         ELSEIF(SEARCH(I).EQ.'HIGH LIMIT')THEN                          URACSY   3508
            TYPE(I) = 'REAL'                                            URACSY   3509
            LENGTH(I) = 10                                              URACSY   3510
         ELSEIF(SEARCH(I).EQ.'GAIN')THEN                                URACSY   3511
            TYPE(I) = 'REAL'                                            URACSY   3512
            LENGTH(I) = 4                                               URACSY   3513
         END IF                                                         URACSY   3514
620   CONTINUE                                                          URACSY   3515
C                                                                       URACSY   3516
C---------------------------------------------------------------------  URACSY   3517
C                                                                       URACSY   3518
C     Retrieve the necessary data from the input file.                  URACSY   3519
C                                                                       URACSY   3520
      JREPEA = 0                                                        URACSY   3521
      CALL URREAD (CDATA, RDATA, IDATA, JREPEA)                         URACSY   3522
C                                                                       URACSY   3523
C---------------------------------------------------------------------  URACSY   3524
C                                                                       URACSY   3525
C     For debugging purposes:  dump block name, type name and           URACSY   3526
C     number, and subtype name and number.                              URACSY   3527
C                                                                       URACSY   3528
      IF(JDCOUN .NE. IERCNT)THEN                                        URACSY   3529
         DPRINT = .TRUE.                                                URACSY   3530
      END IF                                                            URACSY   3531
C                                                                       URACSY   3532
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   3533
         IF(LDEB) THEN                                                  URACSY   3534
            WRITE (IUD6,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   3535
     1                      IUDSUB(IUDC)                                URACSY   3536
         ELSE                                                           URACSY   3537
            WRITE (IU16,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   3538
     1                      IUDSUB(IUDC)                                URACSY   3539
         ENDIF                                                          URACSY   3540
      END IF                                                            URACSY   3541
C                                                                       URACSY   3542
C---------------------------------------------------------------------  URACSY   3543
C                                                                       URACSY   3544
      IF(DEFINE)THEN                                                    URACSY   3545
C                                                                       URACSY   3546
C        Save information in the structure linked list.                 URACSY   3547
C                                                                       URACSY   3548
         CALL ADDSTR (CDATA, RDATA, IDATA)                              URACSY   3549
C                                                                       URACSY   3550
C                                                                       URACSY   3551
      ELSE                                                              URACSY   3552
C                                                                       URACSY   3553
C        Store valid data.                                              URACSY   3554
C                                                                       URACSY   3555
         IUNIPT(IUDC) = 0                                               URACSY   3556
         IUDPPT(IUDC) = 0                                               URACSY   3557
         IUDRPT(IUDC) = 0                                               URACSY   3558
         IUDSPT(IUDC) = 0                                               URACSY   3559
C                                                                       URACSY   3560
         DO 640 I = 1, NUMSRC                                           URACSY   3561
C                                                                       URACSY   3562
C                                                                       URACSY   3563
C           a)   Store print flag.                                      URACSY   3564
C                                                                       URACSY   3565
            IF(SEARCH(I).EQ.'PRINT FLAG')THEN                           URACSY   3566
C                                                                       URACSY   3567
C              Invalid print flag is assumed to be false.               URACSY   3568
C                                                                       URACSY   3569
               IF(TYPE(I) .NE. ' ')THEN                                 URACSY   3570
                  IF(CDATA(I).EQ.'1' .OR. CDATA(I).EQ.'T' .OR.          URACSY   3571
     1                CDATA(I).EQ.'P' .OR. CDATA(I).EQ.'Y')THEN         URACSY   3572
                     UDPRNT(IUDC) = .TRUE.                              URACSY   3573
                  ELSE                                                  URACSY   3574
                     UDPRNT(IUDC) = .FALSE.                             URACSY   3575
                  END IF                                                URACSY   3576
                  IF(CDATA(I)(1:1) .NE. CDATA(I))THEN                   URACSY   3577
         WRITE(MSG(1),9008) SUBNAM                                      URACSY   3578
         WRITE(MSG(2),9009) TNAME                                       URACSY   3579
         WRITE(MSG(3),9900) BNAME(1:LEN),CDATA(I)(1:32)                 URACSY   3580
         WRITE(MSG(4),9901)                                             URACSY   3581
         CALL PRTMSG(4)                                                 URACSY   3582
                  END IF                                                URACSY   3583
               ELSE                                                     URACSY   3584
                  CDATA(I) = STARS                                      URACSY   3585
                  UDPRNT(IUDC) = .FALSE.                                URACSY   3586
               END IF                                                   URACSY   3587
C                                                                       URACSY   3588
C                                                                       URACSY   3589
C                                                                       URACSY   3590
C           b)   Store initial and expected values.                     URACSY   3591
C                                                                       URACSY   3592
            ELSEIF(SEARCH(I).EQ.'INITIAL' .OR.                          URACSY   3593
     1               SEARCH(I).EQ.'EXPECTED' .OR.                       URACSY   3594
     2               SEARCH(I).EQ.'LIMITED LOW' .OR.                    URACSY   3595
     3               SEARCH(I).EQ.'LIMITED HIGH')THEN                   URACSY   3596
C                                                                       URACSY   3597
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   3598
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   3599
C                                                                       URACSY   3600
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3601
                  UIDENT(IADDI) = STARS                                 URACSY   3602
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   3603
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   3604
C                                                                       URACSY   3605
C                    Expand the block name if it begins with "."        URACSY   3606
C                                                                       URACSY   3607
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   3608
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   3609
                     CDATA(I) = UIDENT(IADDI)                           URACSY   3610
                  ELSE                                                  URACSY   3611
                     UIDENT(IADDI) = CDATA(I)                           URACSY   3612
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   3613
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3614
         WRITE(MSG(2),9001) TNAME                                       URACSY   3615
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   3616
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   3617
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   3618
         WRITE(MSG(6),9005)                                             URACSY   3619
         CALL PRTMSG(6)                                                 URACSY   3620
                        IERCNT = IERCNT + 1                             URACSY   3621
                     END IF                                             URACSY   3622
                  END IF                                                URACSY   3623
               ELSEIF(TYPE(I).EQ.'REAL')THEN                            URACSY   3624
                  UDPARM(IADDP) = RDATA(I)                              URACSY   3625
               END IF                                                   URACSY   3626
C                                                                       URACSY   3627
C                                                                       URACSY   3628
C           c)  Store input value.                                      URACSY   3629
C                                                                       URACSY   3630
            ELSEIF(SEARCH(I).EQ.'INPUT')THEN                            URACSY   3631
C                                                                       URACSY   3632
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   3633
C                                                                       URACSY   3634
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3635
                  UIDENT(IADDI) = STARS                                 URACSY   3636
               ELSE                                                     URACSY   3637
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   3638
C                                                                       URACSY   3639
C                    Expand the block name if it begins with "."        URACSY   3640
C                                                                       URACSY   3641
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   3642
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   3643
                     CDATA(I) = UIDENT(IADDI)                           URACSY   3644
                  ELSE                                                  URACSY   3645
                     UIDENT(IADDI) = CDATA(I)                           URACSY   3646
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   3647
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3648
         WRITE(MSG(2),9001) TNAME                                       URACSY   3649
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   3650
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   3651
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   3652
         WRITE(MSG(6),9005)                                             URACSY   3653
         CALL PRTMSG(6)                                                 URACSY   3654
                        IERCNT = IERCNT + 1                             URACSY   3655
                     END IF                                             URACSY   3656
                  END IF                                                URACSY   3657
               END IF                                                   URACSY   3658
C                                                                       URACSY   3659
C                                                                       URACSY   3660
C           d)  Store gain value, low, and high limits.                 URACSY   3661
C                                                                       URACSY   3662
            ELSEIF(SEARCH(I).EQ.'GAIN')THEN                             URACSY   3663
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   3664
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3665
                  UDPARM(IADDP) = 0.0                                   URACSY   3666
               ELSE                                                     URACSY   3667
                  UDPARM(IADDP) = RDATA(I)                              URACSY   3668
               END IF                                                   URACSY   3669
            END IF                                                      URACSY   3670
C                                                                       URACSY   3671
C                                                                       URACSY   3672
640      CONTINUE                                                       URACSY   3673
      END IF                                                            URACSY   3674
C                                                                       URACSY   3675
C---------------------------------------------------------------------  URACSY   3676
C                                                                       URACSY   3677
C     Add this to the subsystem list if it is OFFSET or VALUE           URACSY   3678
C     or INTEG or LINTEG.                                               URACSY   3679
C                                                                       URACSY   3680
      IF(.NOT.DEFINE)THEN                                               URACSY   3681
      IF(IUDSUB(IUDC).EQ.ISSVAL .OR. IUDSUB(IUDC).EQ.ISSOFS .OR.        URACSY   3682
     1   IUDSUB(IUDC).EQ.ISINTS .OR. IUDSUB(IUDC).EQ.ISLINS)THEN        URACSY   3683
C                                                                       URACSY   3684
C        Add a new entry into the subsystem linked list.                URACSY   3685
C                                                                       URACSY   3686
         NEW = IFXFRE                                                   URACSY   3687
         IFXFRE = IFXNEX(IFXFRE)                                        URACSY   3688
         IF(IFXSUB.EQ.0)THEN                                            URACSY   3689
            IFXSUB = NEW                                                URACSY   3690
         ELSE                                                           URACSY   3691
            NEXT = IFXSUB                                               URACSY   3692
            LAST = NEXT                                                 URACSY   3693
660         IF(NEXT.EQ.0) GOTO 680                                      URACSY   3694
               LAST = NEXT                                              URACSY   3695
               NEXT = IFXNEX(NEXT)                                      URACSY   3696
               GOTO 660                                                 URACSY   3697
680         CONTINUE                                                    URACSY   3698
            IFXNEX(LAST) = NEW                                          URACSY   3699
         END IF                                                         URACSY   3700
C                                                                       URACSY   3701
         IFXNEX(NEW) = 0                                                URACSY   3702
C                                                                       URACSY   3703
         FXNAM1(NEW) = BNAME                                            URACSY   3704
         IFXNUM(NEW) = 0                                                URACSY   3705
         JFXNUM(NEW) = 0                                                URACSY   3706
C                                                                       URACSY   3707
         LIMITS = .FALSE.                                               URACSY   3708
         DO 700 I = 1, NUMSRC                                           URACSY   3709
            IF(SEARCH(I).EQ.'EBLOCK')THEN                               URACSY   3710
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3711
                  FXNAM2(NEW) = STARS                                   URACSY   3712
               ELSE                                                     URACSY   3713
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   3714
C                                                                       URACSY   3715
C                    Expand the block name if it begins with "."        URACSY   3716
C                                                                       URACSY   3717
                     FXNAM2(NEW) = SRNAME(1:ISRLEN)                     URACSY   3718
                     FXNAM2(NEW)(ISRLEN+1:17) = CDATA(I)                URACSY   3719
                     CDATA(I) = FXNAM2(NEW)                             URACSY   3720
                  ELSE                                                  URACSY   3721
                     FXNAM2(NEW) = CDATA(I)                             URACSY   3722
                     IF(FXNAM2(NEW) .NE. CDATA(I))THEN                  URACSY   3723
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3724
         WRITE(MSG(2),9001) TNAME                                       URACSY   3725
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   3726
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   3727
         WRITE(MSG(5),9004) FXNAM2(NEW)                                 URACSY   3728
         WRITE(MSG(6),9005)                                             URACSY   3729
         CALL PRTMSG(6)                                                 URACSY   3730
                        IERCNT = IERCNT + 1                             URACSY   3731
                     END IF                                             URACSY   3732
                  END IF                                                URACSY   3733
               END IF                                                   URACSY   3734
            ELSEIF(SEARCH(I).EQ.'OUT NUMBER')THEN                       URACSY   3735
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3736
                  IFXOUT(NEW) = 0                                       URACSY   3737
               ELSE                                                     URACSY   3738
                  IFXOUT(NEW) = IDATA(I)                                URACSY   3739
               END IF                                                   URACSY   3740
            ELSEIF(SEARCH(I).EQ.'INCREMENT')THEN                        URACSY   3741
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3742
                  FXINCR(NEW) = 0.0                                     URACSY   3743
               ELSE                                                     URACSY   3744
                  FXINCR(NEW) = RDATA(I)                                URACSY   3745
               END IF                                                   URACSY   3746
            ELSEIF(SEARCH(I).EQ.'TOLERANCE')THEN                        URACSY   3747
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3748
                  FXTOL(NEW) = 0.0                                      URACSY   3749
               ELSE                                                     URACSY   3750
                  FXTOL(NEW) = RDATA(I)                                 URACSY   3751
               END IF                                                   URACSY   3752
            ELSEIF(SEARCH(I).EQ.'INITIAL')THEN                          URACSY   3753
               FXINAM(NEW) = ' '                                        URACSY   3754
               IFINUM(NEW) = 0                                          URACSY   3755
               FXINIT(NEW) = 0.0                                        URACSY   3756
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3757
                  FXINAM(NEW) = STARS                                   URACSY   3758
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   3759
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   3760
C                                                                       URACSY   3761
C                    Expand the block name if it begins with "."        URACSY   3762
C                                                                       URACSY   3763
                     FXINAM(NEW) = SRNAME(1:ISRLEN)                     URACSY   3764
                     FXINAM(NEW)(ISRLEN+1:17) = CDATA(I)                URACSY   3765
                     CDATA(I) = FXINAM(NEW)                             URACSY   3766
                  ELSE                                                  URACSY   3767
                     FXINAM(NEW) = CDATA(I)                             URACSY   3768
                     IF(FXINAM(NEW) .NE. CDATA(I))THEN                  URACSY   3769
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3770
         WRITE(MSG(2),9001) TNAME                                       URACSY   3771
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   3772
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   3773
         WRITE(MSG(5),9004) FXINAM(NEW)                                 URACSY   3774
         WRITE(MSG(6),9005)                                             URACSY   3775
         CALL PRTMSG(6)                                                 URACSY   3776
                        IERCNT = IERCNT + 1                             URACSY   3777
                     END IF                                             URACSY   3778
                  END IF                                                URACSY   3779
               ELSE                                                     URACSY   3780
                  FXINIT(NEW) = RDATA(I)                                URACSY   3781
               END IF                                                   URACSY   3782
            ELSEIF(SEARCH(I).EQ.'LOW LIMIT')THEN                        URACSY   3783
               LIMITS = .TRUE.                                          URACSY   3784
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3785
                  FXLOW(NEW) = 0.0                                      URACSY   3786
               ELSE                                                     URACSY   3787
                  FXLOW(NEW) = RDATA(I)                                 URACSY   3788
               END IF                                                   URACSY   3789
            ELSEIF(SEARCH(I).EQ.'HIGH LIMIT')THEN                       URACSY   3790
               LIMITS = .TRUE.                                          URACSY   3791
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   3792
                  FXHIGH(NEW) = 0.0                                     URACSY   3793
               ELSE                                                     URACSY   3794
                  FXHIGH(NEW) = RDATA(I)                                URACSY   3795
               END IF                                                   URACSY   3796
             END IF                                                     URACSY   3797
700      CONTINUE                                                       URACSY   3798
         IF(FXHIGH(NEW) .LT. FXLOW(NEW))THEN                            URACSY   3799
            TEMP = FXHIGH(NEW)                                          URACSY   3800
            FXHIGH(NEW) = FXLOW(NEW)                                    URACSY   3801
            FXLOW(NEW) = TEMP                                           URACSY   3802
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3803
         WRITE(MSG(2),9001) TNAME                                       URACSY   3804
         WRITE(MSG(3),9510) BNAME(1:LEN)                                URACSY   3805
         WRITE(MSG(4),9511)                                             URACSY   3806
         WRITE(MSG(5),9512) FXLOW(NEW),FXHIGH(NEW)                      URACSY   3807
         WRITE(MSG(6),9005)                                             URACSY   3808
         CALL PRTMSG(6)                                                 URACSY   3809
         END IF                                                         URACSY   3810
      END IF                                                            URACSY   3811
      END IF                                                            URACSY   3812
C                                                                       URACSY   3813
C---------------------------------------------------------------------  URACSY   3814
C                                                                       URACSY   3815
C     For debugging purposes:  dump all valid data.  For invalid        URACSY   3816
C     data a not defined message will be printed.                       URACSY   3817
C                                                                       URACSY   3818
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   3819
         DO 720 I = 1, NUMSRC                                           URACSY   3820
            N = LENGTH(I) + 1                                           URACSY   3821
            SEARCH(I)(N:N) = ':'                                        URACSY   3822
            IF(TYPE(I).EQ.'CHAR')THEN                                   URACSY   3823
               IF(LDEB) THEN                                            URACSY   3824
                  WRITE (IUD6,9016) SEARCH(I), CDATA(I)                 URACSY   3825
               ELSE                                                     URACSY   3826
                  WRITE (IU16,9016) SEARCH(I), CDATA(I)                 URACSY   3827
               ENDIF                                                    URACSY   3828
            ELSEIF(TYPE(I).EQ.'REAL')THEN                               URACSY   3829
               IF(LDEB) THEN                                            URACSY   3830
                  WRITE (IUD6,9018) SEARCH(I), RDATA(I)                 URACSY   3831
               ELSE                                                     URACSY   3832
                  WRITE (IU16,9018) SEARCH(I), RDATA(I)                 URACSY   3833
               ENDIF                                                    URACSY   3834
            ELSEIF(TYPE(I).EQ.'INTE')THEN                               URACSY   3835
               IF(LDEB) THEN                                            URACSY   3836
                  WRITE (IUD6,9116) SEARCH(I), IDATA(I)                 URACSY   3837
               ELSE                                                     URACSY   3838
                  WRITE (IU16,9116) SEARCH(I), IDATA(I)                 URACSY   3839
               ENDIF                                                    URACSY   3840
            ELSEIF(TYPE(I).EQ.' ')THEN                                  URACSY   3841
                  WRITE(MSG(1),9020) SEARCH(I)                          URACSY   3842
                  CALL PRTMSG(1)                                        URACSY   3843
            END IF                                                      URACSY   3844
720       CONTINUE                                                      URACSY   3845
      END IF                                                            URACSY   3846
C                                                                       URACSY   3847
      IF(DEFINE)THEN                                                    URACSY   3848
         IUDC = IUDC - 1                                                URACSY   3849
      END IF                                                            URACSY   3850
C                                                                       URACSY   3851
      RETURN                                                            URACSY   3852
C                                                                       URACSY   3853
C                                                                       URACSY   3854
C---------------------------------------------------------------------  URACSY   3855
C                                                                       URACSY   3856
      ENTRY URUNA                                                       URACSY   3857
CD -------------------------------------------------------------------  URACSY   3858
CD                                                                      URACSY   3859
CD              *****     URUNA   ROUTINE   *****                       URACSY   3860
CD                                                                      URACSY   3861
CD -------------------------------------------------------------------  URACSY   3862
CD                                                                      URACSY   3863
CD       PURPOSE:  Controls the reading of the udc type UNARY data      URACSY   3864
CD                 from the input file.  Does limited error checking.   URACSY   3865
CD                 Stores valid data in the udc storage arrays.         URACSY   3866
CD                                                                      URACSY   3867
CD -------------------------------------------------------------------  URACSY   3868
C                                                                       URACSY   3869
C     Define the subroutine name.                                       URACSY   3870
C                                                                       URACSY   3871
      LDEB=(JDEB(301).NE.0)                                             URACSY   3872
C                                                                       URACSY   3873
      IF(SDBG)THEN                                                      URACSY   3874
         SUBNAM = 'URUNA ROUTINE.'                                      URACSY   3875
      ELSE                                                              URACSY   3876
         SUBNAM = ' '                                                   URACSY   3877
      END IF                                                            URACSY   3878
      TNAME = TPNAME(IUDTYP(IUDC))                                      URACSY   3879
      BNAME = UDNAME(IUDC)                                              URACSY   3880
      LEN = IUDLEN(IUDC)                                                URACSY   3881
C                                                                       URACSY   3882
C     Forces an interrupted card image if an error is found.            URACSY   3883
C                                                                       URACSY   3884
      JDCOUN = IERCNT                                                   URACSY   3885
      DPRINT = .FALSE.                                                  URACSY   3886
C                                                                       URACSY   3887
      IF(EXPAND)THEN                                                    URACSY   3888
C                                                                       URACSY   3889
C        Obtain the subtype name from the saved information for this    URACSY   3890
C        structure.                                                     URACSY   3891
C                                                                       URACSY   3892
         SNAME = SBUNA(IUDSUB(IUDC))                                    URACSY   3893
C                                                                       URACSY   3894
      ELSE                                                              URACSY   3895
C                                                                       URACSY   3896
C        Read the subtype name.                                         URACSY   3897
C                                                                       URACSY   3898
         ENDBLK = .FALSE.                                               URACSY   3899
         CALL URGETC (CDATA(1), FOUND)                                  URACSY   3900
         IF(.NOT. FOUND)THEN                                            URACSY   3901
            SNAME = STARS                                               URACSY   3902
         ELSE                                                           URACSY   3903
            SNAME = CDATA(1)                                            URACSY   3904
            IF(SNAME .NE. CDATA(1))THEN                                 URACSY   3905
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   3906
         WRITE(MSG(2),9001) TNAME                                       URACSY   3907
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   3908
         WRITE(MSG(4),9003) CDATA(1)(1:32)                              URACSY   3909
         WRITE(MSG(5),9004) SNAME                                       URACSY   3910
         WRITE(MSG(6),9005)                                             URACSY   3911
         CALL PRTMSG(6)                                                 URACSY   3912
               IERCNT = IERCNT + 1                                      URACSY   3913
            END IF                                                      URACSY   3914
         END IF                                                         URACSY   3915
      END IF                                                            URACSY   3916
C                                                                       URACSY   3917
C---------------------------------------------------------------------  URACSY   3918
C                                                                       URACSY   3919
C     Determine the required data names and the number of searches      URACSY   3920
C     required.                                                         URACSY   3921
C                                                                       URACSY   3922
      JREPEA = 0                                                        URACSY   3923
C                                                                       URACSY   3924
C     SIN unary function.                                               URACSY   3925
C                                                                       URACSY   3926
      IF(SNAME.EQ.SBUNA(ISINS))THEN                                     URACSY   3927
         IUDSUB(IUDC) = ISINS                                           URACSY   3928
         NUMSRC = 2                                                     URACSY   3929
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3930
         SEARCH(2) = 'INPUT 1'                                          URACSY   3931
C                                                                       URACSY   3932
C     COS unary function.                                               URACSY   3933
C                                                                       URACSY   3934
      ELSEIF(SNAME.EQ.SBUNA(ICOSS))THEN                                 URACSY   3935
         IUDSUB(IUDC) = ICOSS                                           URACSY   3936
         NUMSRC = 2                                                     URACSY   3937
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3938
         SEARCH(2) = 'INPUT 1'                                          URACSY   3939
C                                                                       URACSY   3940
C     TAN unary function.                                               URACSY   3941
C                                                                       URACSY   3942
      ELSEIF(SNAME.EQ.SBUNA(ITANS))THEN                                 URACSY   3943
         IUDSUB(IUDC) = ITANS                                           URACSY   3944
         NUMSRC = 2                                                     URACSY   3945
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3946
         SEARCH(2) = 'INPUT 1'                                          URACSY   3947
C                                                                       URACSY   3948
C     ASIN unary function.                                              URACSY   3949
C                                                                       URACSY   3950
      ELSEIF(SNAME.EQ.SBUNA(IASINS))THEN                                URACSY   3951
         IUDSUB(IUDC) = IASINS                                          URACSY   3952
         NUMSRC = 2                                                     URACSY   3953
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3954
         SEARCH(2) = 'INPUT 1'                                          URACSY   3955
C                                                                       URACSY   3956
C     ACOS unary function.                                              URACSY   3957
C                                                                       URACSY   3958
      ELSEIF(SNAME.EQ.SBUNA(IACOSS))THEN                                URACSY   3959
         IUDSUB(IUDC) = IACOSS                                          URACSY   3960
         NUMSRC = 2                                                     URACSY   3961
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3962
         SEARCH(2) = 'INPUT 1'                                          URACSY   3963
C                                                                       URACSY   3964
C     SINH unary function.                                              URACSY   3965
C                                                                       URACSY   3966
      ELSEIF(SNAME.EQ.SBUNA(ISINHS))THEN                                URACSY   3967
         IUDSUB(IUDC) = ISINHS                                          URACSY   3968
         NUMSRC = 2                                                     URACSY   3969
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3970
         SEARCH(2) = 'INPUT 1'                                          URACSY   3971
C                                                                       URACSY   3972
C     COSH unary function.                                              URACSY   3973
C                                                                       URACSY   3974
      ELSEIF(SNAME.EQ.SBUNA(ICOSHS))THEN                                URACSY   3975
         IUDSUB(IUDC) = ICOSHS                                          URACSY   3976
         NUMSRC = 2                                                     URACSY   3977
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3978
         SEARCH(2) = 'INPUT 1'                                          URACSY   3979
C                                                                       URACSY   3980
C     TANH unary function.                                              URACSY   3981
C                                                                       URACSY   3982
      ELSEIF(SNAME.EQ.SBUNA(ITANHS))THEN                                URACSY   3983
         IUDSUB(IUDC) = ITANHS                                          URACSY   3984
         NUMSRC = 2                                                     URACSY   3985
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3986
         SEARCH(2) = 'INPUT 1'                                          URACSY   3987
C                                                                       URACSY   3988
C     Absolute value unary function.                                    URACSY   3989
C                                                                       URACSY   3990
      ELSEIF(SNAME.EQ.SBUNA(IABSS))THEN                                 URACSY   3991
         IUDSUB(IUDC) = IABSS                                           URACSY   3992
         NUMSRC = 2                                                     URACSY   3993
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   3994
         SEARCH(2) = 'INPUT 1'                                          URACSY   3995
C                                                                       URACSY   3996
C     Exponential unary function.                                       URACSY   3997
C                                                                       URACSY   3998
      ELSEIF(SNAME.EQ.SBUNA(IEXPS))THEN                                 URACSY   3999
         IUDSUB(IUDC) = IEXPS                                           URACSY   4000
         NUMSRC = 2                                                     URACSY   4001
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   4002
         SEARCH(2) = 'INPUT 1'                                          URACSY   4003
C                                                                       URACSY   4004
C     LOG unary function.                                               URACSY   4005
C                                                                       URACSY   4006
      ELSEIF(SNAME.EQ.SBUNA(ILOGS))THEN                                 URACSY   4007
         IUDSUB(IUDC) = ILOGS                                           URACSY   4008
         NUMSRC = 2                                                     URACSY   4009
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   4010
         SEARCH(2) = 'INPUT 1'                                          URACSY   4011
C                                                                       URACSY   4012
C     Inverse unary function.                                           URACSY   4013
C                                                                       URACSY   4014
      ELSEIF(SNAME.EQ.SBUNA(INVS))THEN                                  URACSY   4015
         IUDSUB(IUDC) = INVS                                            URACSY   4016
         NUMSRC = 2                                                     URACSY   4017
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   4018
         SEARCH(2) = 'INPUT 1'                                          URACSY   4019
C                                                                       URACSY   4020
C     User defined nonlinearity unary function.                         URACSY   4021
C                                                                       URACSY   4022
      ELSEIF(SNAME.EQ.SBUNA(IUDNOL))THEN                                URACSY   4023
         IUDSUB(IUDC) = IUDNOL                                          URACSY   4024
         NUMSRC = 4                                                     URACSY   4025
         SEARCH(1) = 'PRINT FLAG'                                       URACSY   4026
         SEARCH(2) = 'INPUT BLOCK'                                      URACSY   4027
         SEARCH(3) = 'X'                                                URACSY   4028
         SEARCH(4) = 'Y'                                                URACSY   4029
         JREPEA = 2                                                     URACSY   4030
C                                                                       URACSY   4031
C     Invalid subtype.                                                  URACSY   4032
C                                                                       URACSY   4033
      ELSE                                                              URACSY   4034
         IUDSUB(IUDC) = 0                                               URACSY   4035
         NUMSRC = 0                                                     URACSY   4036
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   4037
         WRITE(MSG(2),9001) TNAME                                       URACSY   4038
         WRITE(MSG(3),9703) BNAME(1:LEN),SNAME                          URACSY   4039
         WRITE(MSG(4),9104)                                             URACSY   4040
         WRITE(MSG(5),9005)                                             URACSY   4041
         CALL PRTMSG(5)                                                 URACSY   4042
         IERCNT = IERCNT + 1                                            URACSY   4043
      END IF                                                            URACSY   4044
C                                                                       URACSY   4045
C---------------------------------------------------------------------  URACSY   4046
C                                                                       URACSY   4047
C     Based on the data names required, determine the type of searches, URACSY   4048
C     and length of data names.                                         URACSY   4049
C                                                                       URACSY   4050
      DO 820 I = 1, NUMSRC                                              URACSY   4051
         IF(SEARCH(I).EQ.'PRINT FLAG')THEN                              URACSY   4052
            TYPE(I) = 'CHAR'                                            URACSY   4053
            LENGTH(I) = 10                                              URACSY   4054
         ELSEIF(SEARCH(I).EQ.'INPUT 1')THEN                             URACSY   4055
            TYPE(I) = 'RECH'                                            URACSY   4056
            LENGTH(I) = 7                                               URACSY   4057
         ELSEIF(SEARCH(I).EQ.'INPUT BLOCK')THEN                         URACSY   4058
            TYPE(I) = 'CHAR'                                            URACSY   4059
            LENGTH(I) = 11                                              URACSY   4060
         ELSEIF(SEARCH(I).EQ.'X')THEN                                   URACSY   4061
            TYPE(I) = 'REAL'                                            URACSY   4062
            LENGTH(I) = 1                                               URACSY   4063
         ELSEIF(SEARCH(I).EQ.'Y')THEN                                   URACSY   4064
            TYPE(I) = 'REAL'                                            URACSY   4065
            LENGTH(I) = 1                                               URACSY   4066
         END IF                                                         URACSY   4067
820   CONTINUE                                                          URACSY   4068
C                                                                       URACSY   4069
C                                                                       URACSY   4070
C---------------------------------------------------------------------  URACSY   4071
C                                                                       URACSY   4072
C     Retrieve the necessary data from the input file.                  URACSY   4073
C                                                                       URACSY   4074
      CALL URREAD (CDATA, RDATA, IDATA, JREPEA)                         URACSY   4075
C                                                                       URACSY   4076
C---------------------------------------------------------------------  URACSY   4077
C                                                                       URACSY   4078
C     For debugging purposes:  dump block name, type name and           URACSY   4079
C     number, and subtype and number.                                   URACSY   4080
C                                                                       URACSY   4081
      IF(JDCOUN .NE. IERCNT)THEN                                        URACSY   4082
         DPRINT = .TRUE.                                                URACSY   4083
      END IF                                                            URACSY   4084
C                                                                       URACSY   4085
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   4086
         IF(LDEB) THEN                                                  URACSY   4087
            WRITE (IUD6,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   4088
     1                      IUDSUB(IUDC)                                URACSY   4089
         ELSE                                                           URACSY   4090
            WRITE (IU16,9006) BNAME(1:LEN), TNAME, IUDTYP(IUDC), SNAME, URACSY   4091
     1                      IUDSUB(IUDC)                                URACSY   4092
         END IF                                                         URACSY   4093
      END IF                                                            URACSY   4094
C                                                                       URACSY   4095
C---------------------------------------------------------------------  URACSY   4096
C                                                                       URACSY   4097
      IF(DEFINE)THEN                                                    URACSY   4098
C                                                                       URACSY   4099
C        Save information in the structure linked list.                 URACSY   4100
C                                                                       URACSY   4101
         CALL ADDSTR (CDATA, RDATA, IDATA)                              URACSY   4102
C                                                                       URACSY   4103
C                                                                       URACSY   4104
      ELSE                                                              URACSY   4105
C                                                                       URACSY   4106
C        Store valid data.                                              URACSY   4107
C                                                                       URACSY   4108
         IUNIPT(IUDC) = 0                                               URACSY   4109
         IUDPPT(IUDC) = 0                                               URACSY   4110
         IUDRPT(IUDC) = 0                                               URACSY   4111
C                                                                       URACSY   4112
         DO 840 I = 1, NUMSRC                                           URACSY   4113
C                                                                       URACSY   4114
C                                                                       URACSY   4115
C              a)   Store print flag.                                   URACSY   4116
C                                                                       URACSY   4117
            IF(SEARCH(I).EQ.'PRINT FLAG')THEN                           URACSY   4118
C                                                                       URACSY   4119
C              Invalid print flag is assumed to be false.               URACSY   4120
C                                                                       URACSY   4121
               IF(TYPE(I) .NE. ' ')THEN                                 URACSY   4122
                  IF(CDATA(I).EQ.'1' .OR. CDATA(I).EQ.'T' .OR.          URACSY   4123
     1                CDATA(I).EQ.'P' .OR. CDATA(I).EQ.'Y')THEN         URACSY   4124
                     UDPRNT(IUDC) = .TRUE.                              URACSY   4125
                  ELSE                                                  URACSY   4126
                     UDPRNT(IUDC) = .FALSE.                             URACSY   4127
                  END IF                                                URACSY   4128
                  IF(CDATA(I)(1:1) .NE. CDATA(I))THEN                   URACSY   4129
         WRITE(MSG(1),9008) SUBNAM                                      URACSY   4130
         WRITE(MSG(2),9009) TNAME                                       URACSY   4131
         WRITE(MSG(3),9900) BNAME(1:LEN),CDATA(I)(1:32)                 URACSY   4132
         WRITE(MSG(4),9901)                                             URACSY   4133
         CALL PRTMSG(4)                                                 URACSY   4134
                  END IF                                                URACSY   4135
               ELSE                                                     URACSY   4136
                  CDATA(I) = STARS                                      URACSY   4137
                  UDPRNT(IUDC) = .FALSE.                                URACSY   4138
               END IF                                                   URACSY   4139
C                                                                       URACSY   4140
C                                                                       URACSY   4141
C                                                                       URACSY   4142
C              b)   Store input blk/parm 1.                             URACSY   4143
C                                                                       URACSY   4144
            ELSEIF(SEARCH(I).EQ.'INPUT 1')THEN                          URACSY   4145
C                                                                       URACSY   4146
C              Create new link for identification linked list, and      URACSY   4147
C              parameter linked list.                                   URACSY   4148
C                                                                       URACSY   4149
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   4150
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   4151
C                                                                       URACSY   4152
C              Store valid or undefined input value.                    URACSY   4153
C                                                                       URACSY   4154
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   4155
                  UIDENT(IADDI) = STARS                                 URACSY   4156
               ELSEIF(TYPE(I).EQ.'CHAR')THEN                            URACSY   4157
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   4158
C                                                                       URACSY   4159
C                    Expand the block name if it begins with "."        URACSY   4160
C                                                                       URACSY   4161
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   4162
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   4163
                     CDATA(I) = UIDENT(IADDI)                           URACSY   4164
                  ELSE                                                  URACSY   4165
                     UIDENT(IADDI) = CDATA(I)                           URACSY   4166
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   4167
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   4168
         WRITE(MSG(2),9001) TNAME                                       URACSY   4169
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   4170
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   4171
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   4172
         WRITE(MSG(6),9005)                                             URACSY   4173
         CALL PRTMSG(6)                                                 URACSY   4174
                        IERCNT = IERCNT + 1                             URACSY   4175
                     END IF                                             URACSY   4176
                  END IF                                                URACSY   4177
               ELSEIF(TYPE(I).EQ.'REAL')THEN                            URACSY   4178
                  UDPARM(IADDP) = RDATA(I)                              URACSY   4179
               END IF                                                   URACSY   4180
C                                                                       URACSY   4181
C                                                                       URACSY   4182
C                                                                       URACSY   4183
            ELSEIF(SEARCH(I).EQ.'INPUT BLOCK')THEN                      URACSY   4184
C                                                                       URACSY   4185
C              Create new link for identification linked list.          URACSY   4186
C                                                                       URACSY   4187
               CALL ADDINT (IUDC, IADDI, LASTI)                         URACSY   4188
               IF(TYPE(I).EQ.' ')THEN                                   URACSY   4189
                  UIDENT(IADDI) = STARS                                 URACSY   4190
               ELSE                                                     URACSY   4191
                  IF(EXPAND.AND.CDATA(I)(1:1).EQ.'.')THEN               URACSY   4192
C                                                                       URACSY   4193
C                    Expand the block name if it begins with "."        URACSY   4194
C                                                                       URACSY   4195
                     UIDENT(IADDI) = SRNAME(1:ISRLEN)                   URACSY   4196
                     UIDENT(IADDI)(ISRLEN+1:17) = CDATA(I)              URACSY   4197
                     CDATA(I) = UIDENT(IADDI)                           URACSY   4198
                  ELSE                                                  URACSY   4199
                     UIDENT(IADDI) = CDATA(I)                           URACSY   4200
                     IF(UIDENT(IADDI) .NE. CDATA(I))THEN                URACSY   4201
         WRITE(MSG(1),9000) SUBNAM                                      URACSY   4202
         WRITE(MSG(2),9001) TNAME                                       URACSY   4203
         WRITE(MSG(3),9002) BNAME(1:LEN)                                URACSY   4204
         WRITE(MSG(4),9003) CDATA(I)(1:32)                              URACSY   4205
         WRITE(MSG(5),9004) UIDENT(IADDI)                               URACSY   4206
         WRITE(MSG(6),9005)                                             URACSY   4207
         CALL PRTMSG(6)                                                 URACSY   4208
                        IERCNT = IERCNT + 1                             URACSY   4209
                     END IF                                             URACSY   4210
                  END IF                                                URACSY   4211
               END IF                                                   URACSY   4212
C                                                                       URACSY   4213
C                                                                       URACSY   4214
C                                                                       URACSY   4215
C              c)   Store x or y.                                       URACSY   4216
C                                                                       URACSY   4217
            ELSEIF(SEARCH(I).EQ.'X' .OR.                                URACSY   4218
     1               SEARCH(I).EQ.'Y')THEN                              URACSY   4219
C                                                                       URACSY   4220
C             Create new link for parameter linked list.                URACSY   4221
C                                                                       URACSY   4222
               CALL ADDPRM (IUDC, IADDP, LASTP)                         URACSY   4223
               IF(TYPE(I) .NE. ' ')THEN                                 URACSY   4224
                  UDPARM(IADDP) = RDATA(I)                              URACSY   4225
               END IF                                                   URACSY   4226
C                                                                       URACSY   4227
            END IF                                                      URACSY   4228
C                                                                       URACSY   4229
840      CONTINUE                                                       URACSY   4230
      END IF                                                            URACSY   4231
C                                                                       URACSY   4232
C---------------------------------------------------------------------  URACSY   4233
C                                                                       URACSY   4234
      IF(LDEB .OR. DPRINT)THEN                                          URACSY   4235
C                                                                       URACSY   4236
C        For debugging purposes:  dump all valid data.  For             URACSY   4237
C        invalid data a not defined message will be printed.            URACSY   4238
C                                                                       URACSY   4239
         DO 860 I = 1, NUMSRC                                           URACSY   4240
            N = LENGTH(I) + 1                                           URACSY   4241
            SEARCH(I)(N:N) = ':'                                        URACSY   4242
            IF(TYPE(I).EQ.'CHAR')THEN                                   URACSY   4243
               IF(LDEB) THEN                                            URACSY   4244
                  WRITE (IUD6,9016) SEARCH(I), CDATA(I)                 URACSY   4245
               ELSE                                                     URACSY   4246
                  WRITE (IU16,9016) SEARCH(I), CDATA(I)                 URACSY   4247
               ENDIF                                                    URACSY   4248
            ELSEIF(TYPE(I).EQ.'REAL')THEN                               URACSY   4249
               IF(LDEB) THEN                                            URACSY   4250
                  WRITE (IUD6,9018) SEARCH(I), RDATA(I)                 URACSY   4251
               ELSE                                                     URACSY   4252
                  WRITE (IU16,9018) SEARCH(I), RDATA(I)                 URACSY   4253
               ENDIF                                                    URACSY   4254
            ELSEIF(TYPE(I).EQ.'INTE')THEN                               URACSY   4255
               IF(LDEB) THEN                                            URACSY   4256
                  WRITE (IUD6,9116) SEARCH(I), IDATA(I)                 URACSY   4257
               ELSE                                                     URACSY   4258
                  WRITE (IU16,9116) SEARCH(I), IDATA(I)                 URACSY   4259
               ENDIF                                                    URACSY   4260
            ELSEIF(TYPE(I).EQ.' ')THEN                                  URACSY   4261
                  WRITE(MSG(1),9020) SEARCH(I)                          URACSY   4262
                  CALL PRTMSG(1)                                        URACSY   4263
            END IF                                                      URACSY   4264
860      CONTINUE                                                       URACSY   4265
      END IF                                                            URACSY   4266
C                                                                       URACSY   4267
      IF(DEFINE)THEN                                                    URACSY   4268
         IUDC = IUDC - 1                                                URACSY   4269
      END IF                                                            URACSY   4270
C                                                                       URACSY   4271
      RETURN                                                            URACSY   4272
C                                                                       URACSY   4273
9700  FORMAT(' *** WARNING', 5X, A)                                     URACSY   4274
9701  FORMAT(14X,'DURING THE READING OF UDC BLOCKS, A BLOCK OF TYPE')   URACSY   4275
9702  FORMAT(14X,'"',A,'" WAS ENCOUNTERED.  THIS BLOCK "',A             URACSY   4276
     *,'" WILL BE IGNORED.')                                            URACSY   4277
9000  FORMAT(' *** ERROR', 5X, A)                                       URACSY   4278
9001  FORMAT(11X,'DURING THE READING OF UDC "', A, '" BLOCKS, BLOCK')   URACSY   4279
9002  FORMAT(11X,'"',A,'" DEFINITION CONTAINS A CHARACTER STRING OF')   URACSY   4280
9003  FORMAT(11X,'"',A,'", WHICH IS CHANGED TO')                        URACSY   4281
9004  FORMAT(11X,'"',A,'" WHEN USED BY THE PROGRAM.')                   URACSY   4282
9005  FORMAT(11X,'CHECK YOUR UDC INPUT FILE FOR ERRORS.')               URACSY   4283
9703  FORMAT(11X,'"',A,'" HAS AN INVALID SUBTYPE OF "',A,'".')          URACSY   4284
9704  FORMAT(11X,'DATA FOR THIS BLOCK IS IGNORED.')                     URACSY   4285
9006  FORMAT (/, 1X, 'UDC BLOCK:  ', A,                                 URACSY   4286
     1        /, 5X, 'TYPE:     ', A, 10X, 'TYPE NUMBER:     ', I2,     URACSY   4287
     2        /, 5X, 'SUBTYPE:  ', A, 10X, 'SUBTYPE NUMBER:  ', I2)     URACSY   4288
9008  FORMAT(' *** WARNING', 5X, A)                                     URACSY   4289
9009  FORMAT(14X,'DURING THE READING OF UDC "',A,'" BLOCKS, BLOCK')     URACSY   4290
9900  FORMAT(14X,'"',A,'" HAS A PRINT FLAG OF "',A,'"')                 URACSY   4291
9901  FORMAT(14X,'IS THIS AN ERROR IN THE UDC INPUT FILE?')             URACSY   4292
9010  FORMAT(11X,'"',A,'" REFERENCES A BREAKER "',A,'". THIS')          URACSY   4293
9011  FORMAT(11X,'BREAKER IS NOT DEFINED IN THE SYSTEM.')               URACSY   4294
9012  FORMAT(14X,'"',A,'" HAS A VOLTAGE RISE TIME OF',F10.5,'.')        URACSY   4295
9013  FORMAT(14X,'THIS VALUE HAS BEEN ADJUSTED TO 1 DC')                URACSY   4296
9705  FORMAT(14X,'TIME STEPS',F10.5,' (SECONDS).')                      URACSY   4297
9014  FORMAT(11X,'"',A,'" HAS AN INVALID VALUE OF ',F10.5)              URACSY   4298
9015  FORMAT(11X,'FOR THE "',A,'" PARAMETER.')                          URACSY   4299
9016  FORMAT (5X, A, 5X, A)                                             URACSY   4300
9018  FORMAT (5X, A, 5X, F15.6)                                         URACSY   4301
9020  FORMAT(' *** WARNING ',A,' NOT DEFINED')                          URACSY   4302
9104  FORMAT(11X                                                        URACSY   4303
     *,'ALL DATA IS IGNORED UNTIL NEXT UDC BLOCK DEFINITION.')          URACSY   4304
9110  FORMAT(11X,'"',A,'" HAS BEEN MISUSED.  THIS BLOCK TYPE')          URACSY   4305
9111  FORMAT(11X,'WAS NOT INTENDED TO REPRESENT AN INTEGRATOR.')        URACSY   4306
9112  FORMAT(11X,'CHANGE YOUR UDC INPUT FILE.')                         URACSY   4307
9116  FORMAT (5X, A, 5X, I10)                                           URACSY   4308
9312  FORMAT(11X,'"',A,'" CONTAINS AN INVALID OPERATOR OF:')            URACSY   4309
9313  FORMAT(11X,'"',A,'".')                                            URACSY   4310
9314  FORMAT(11X,'"',A,'" CONTAINS AN UNDEFINED DC CONVERTER')          URACSY   4311
9315  FORMAT(11X,'NAME OF "',A,'".  THIS CONVERTER')                    URACSY   4312
9707  FORMAT(11X,'IS NOT DEFINED IN THE DC SYSTEM.')                    URACSY   4313
9316  FORMAT(11X,'"',A,'" USES AN UNDEFINED DC LINE OF')                URACSY   4314
9317  FORMAT(11X,'"',A,'" THIS DC LINE IS NOT DEFINED IN')              URACSY   4315
9708  FORMAT(11X,'THIS DC SYSTEM.')                                     URACSY   4316
9318  FORMAT(11X,'DURING THE READING OF UDC "',A                        URACSY   4317
     *,'" BLOCKS, THE PROGRAM')                                         URACSY   4318
9319  FORMAT(11X,'ATTEMPTS TO STORE "',A,'" AS A REAL VALUE WHEN')      URACSY   4319
9320  FORMAT(11X,'IT IS A "',A4,'".')                                   URACSY   4320
9330  FORMAT(11X,'"',A,'" THE START VALUE IS ',F8.4,', AND')            URACSY   4321
9331  FORMAT(11X,'THE END VALUE IS ',F8.4                               URACSY   4322
     *,'.  THESE VALUES SHOULD NOT BE')                                 URACSY   4323
9709  FORMAT(11X,'THE SAME.')                                           URACSY   4324
9332  FORMAT(11X,'DURING THE READING OF UDC "',A                        URACSY   4325
     *,'" BLOCKS, FOR BLOCK')                                           URACSY   4326
9333  FORMAT(11X,'"',A,'" THE VALUES OF P1, P2, P3, P4 ARE NOT')        URACSY   4327
9710  FORMAT(11X,'IN ASCENDING ORDER.  P1: ',F8.4,'   P2: ',F8.4)       URACSY   4328
9711  FORMAT(11X,'P3: ',F8.4,'   P4: ',F8.4)                            URACSY   4329
9334  FORMAT(11X,'"',A,'" LEVEL A MUST BE GREATER THAN LEVEL B.')       URACSY   4330
9335  FORMAT(11X,'LEVEL A: ', F8.4, '   LEVEL B: ',F8.4)                URACSY   4331
9510  FORMAT(11X,'"',A,'" HAS THE INCORRECT INPUT ORDER.  THE LIMITS')  URACSY   4332
9511  FORMAT(11X                                                        URACSY   4333
     *,'ARE REVERSED.  THE PROGRAM ASSUMES THAT THE MINIMUM LIMIT')     URACSY   4334
9512  FORMAT(11X,'IS ',F15.6,', AND THE MAXIMUM LIMIT IS ',F15.6)       URACSY   4335
C                                                                       URACSY   4336
C---------------------------------------------------------------------  URACSY   4337
C                                                                       URACSY   4338
      END                                                               URACSY   4339
