CFPRIME UDREAD                                                          UDREAD      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  UDREAD(IUX)                                           UDREAD      3
CD -------------------------------------------------------------------  UDREAD      4
CD                                                                      UDREAD      5
CD              *****     UDREAD  ROUTINE   *****                       UDREAD      6
CD                                                                      UDREAD      7
CD -------------------------------------------------------------------  UDREAD      8
CD                                                                      UDREAD      9
CD       PURPOSE:  Controls the reading of UDC information from         UDREAD     10
CD                 the input file.  The linked lists used for           UDREAD     11
CD                 storing this information is initialized.             UDREAD     12
CD                                                                      UDREAD     13
CD                                                                      UDREAD     14
CD       DEFINITION OF LOCAL VARIABLES:                                 UDREAD     15
CD                 CDATA  -  character input data.                      UDREAD     16
CD                 DONE   -  indicates end of UDC data.                 UDREAD     17
CD                 FOUND  -  indicates if data was found.               UDREAD     18
CD                 I      - 'do' loop index.                            UDREAD     19
CD                 LABEL  -  title for printing.                        UDREAD     20
CD                 NAME   -  name of the udc block.                     UDREAD     21
CD                 SUBNAM -  subroutine name.                           UDREAD     22
CD                 TNAME  -  type name for this udc block.              UDREAD     23
CD                                                                      UDREAD     24
CD -------------------------------------------------------------------  UDREAD     25
      INCLUDE 'PARX.INS'                                                UDREAD     26
      INCLUDE 'CNUNIT.INS'                                              UDREAD     27
      INCLUDE 'CNMSG.INS'                                               UDREAD     28
      INCLUDE 'UDCA.INS'                                                UDREAD     29
      INCLUDE 'UDCD.INS'                                                UDREAD     30
      INCLUDE 'UDCE.INS'                                                UDREAD     31
      INCLUDE 'UDCF.INS'                                                UDREAD     32
      INCLUDE 'UDCG.INS'                                                UDREAD     33
      INCLUDE 'UDCH.INS'                                                UDREAD     34
      INCLUDE 'UDCI.INS'                                                UDREAD     35
      INCLUDE 'CNFLAG.INS'                                              UDREAD     36
      INCLUDE 'GRDC01.INS'                                              UDREAD     37
C                                                                       UDREAD     38
      LOGICAL       DONE, FOUND, VALID                                  UDREAD     39
C                                                                       UDREAD     40
      CHARACTER*50  LABEL                                               UDREAD     41
      CHARACTER*72  CDATA(10), NAME                                     UDREAD     42
      CHARACTER*20  SUBNAM                                              UDREAD     43
      CHARACTER*10  TNAME                                               UDREAD     44
C                                                                       UDREAD     45
C---------------------------------------------------------------------  UDREAD     46
C                                                                       UDREAD     47
      LDEB=(JDEB(301).NE.0)                                             UDREAD     48
C                                                                       UDREAD     49
      IF (SDBG) THEN                                                    UDREAD     50
         SUBNAM = 'UDREAD ROUTINE.'                                     UDREAD     51
      ELSE                                                              UDREAD     52
         SUBNAM = ' '                                                   UDREAD     53
      ENDIF                                                             UDREAD     54
C                                                                       UDREAD     55
      IDELFR=1                                                          UDREAD     56
      DO 10 I=1,LEND                                                    UDREAD     57
      DELAY(I)=0.0                                                      UDREAD     58
   10 CONTINUE                                                          UDREAD     59
C                                                                       UDREAD     60
C     Initialize udc arrays, structure arrays and fixed arrays.         UDREAD     61
C                                                                       UDREAD     62
C                                                                       UDREAD     63
      DO 20 I = 1, NUDC5                                                UDREAD     64
         IUDONX(I) = I + 1                                              UDREAD     65
         IUDPNX(I) = I + 1                                              UDREAD     66
         IUDINX(I) = I + 1                                              UDREAD     67
         IUDRNX(I) = I + 1                                              UDREAD     68
         IUDSNX(I) = I + 1                                              UDREAD     69
         IDTNEX(I) = I + 1                                              UDREAD     70
20    CONTINUE                                                          UDREAD     71
      DO 40 I = 1, NUDC                                                 UDREAD     72
         IFXNEX(I) = I + 1                                              UDREAD     73
         IBKNEX(I) = I + 1                                              UDREAD     74
40    CONTINUE                                                          UDREAD     75
      DO 50 I = 1, NUDCC                                                UDREAD     76
         IUDCNX(I) = I + 1                                              UDREAD     77
50    CONTINUE                                                          UDREAD     78
      IUDCNX(NUDCC) = 0                                                 UDREAD     79
      IUDONX(NUDC5) = 0                                                 UDREAD     80
      IUDPNX(NUDC5) = 0                                                 UDREAD     81
      IUDINX(NUDC5) = 0                                                 UDREAD     82
      IUDRNX(NUDC5) = 0                                                 UDREAD     83
      IUDSNX(NUDC5) = 0                                                 UDREAD     84
      IDTNEX(NUDC5) = 0                                                 UDREAD     85
      IFXNEX(NUDC) = 0                                                  UDREAD     86
      IBKNEX(NUDC) = 0                                                  UDREAD     87
      IUDCFR = 1                                                        UDREAD     88
      IUDOFR = 1                                                        UDREAD     89
      IUDPFR = 1                                                        UDREAD     90
      IUDIFR = 1                                                        UDREAD     91
      IUDRFR = 1                                                        UDREAD     92
      IUDSFR = 1                                                        UDREAD     93
      IBKFRE = 1                                                        UDREAD     94
      IFXFRE = 1                                                        UDREAD     95
      IDTFRE = 1                                                        UDREAD     96
      IFXINT = 0                                                        UDREAD     97
      IFXRMO = 0                                                        UDREAD     98
      IFXSTR = 0                                                        UDREAD     99
      IFXSUB = 0                                                        UDREAD    100
C                                                                       UDREAD    101
      NMFORT = 0                                                        UDREAD    102
      IDUMNX = 1                                                        UDREAD    103
      NMSTRC = 0                                                        UDREAD    104
      IFRTMX = 30                                                       UDREAD    105
      IFRTBK = 0                                                        UDREAD    106
      IDUMAX = 300                                                      UDREAD    107
      DEFINE = .FALSE.                                                  UDREAD    108
      EXPAND = .FALSE.                                                  UDREAD    109
      TRACE = .FALSE.                                                   UDREAD    110
      HIST = .TRUE.                                                     UDREAD    111
      SOLDC = .TRUE.                                                    UDREAD    112
C                                                                       UDREAD    113
C     Set variables in INCLUDE UDCH to read the udc input file.         UDREAD    114
C                                                                       UDREAD    115
      INFILE = IUX                                                      UDREAD    116
      IPOSN = 81                                                        UDREAD    117
      EOF = .FALSE.                                                     UDREAD    118
      IERCNT = 0                                                        UDREAD    119
C                                                                       UDREAD    120
      IF (LDEB) THEN                                                    UDREAD    121
         LABEL = '***  UDC INTERPRETED CARD IMAGE  ***'                 UDREAD    122
         WRITE (IUD6,9002) LABEL                                        UDREAD    123
      ENDIF                                                             UDREAD    124
C                                                                       UDREAD    125
C                                                                       UDREAD    126
      IUDC = 0                                                          UDREAD    127
      DONE = .FALSE.                                                    UDREAD    128
      VALID = .FALSE.                                                   UDREAD    129
C                                                                       UDREAD    130
60    IF (DONE .OR. EOF) GO TO 120                                      UDREAD    131
C                                                                       UDREAD    132
         CALL URGETC (NAME, FOUND)                                      UDREAD    133
C                                                                       UDREAD    134
         IF (FOUND) THEN                                                UDREAD    135
            IF (NAME .EQ. 'ENDUDC') THEN                                UDREAD    136
               DONE = .TRUE.                                            UDREAD    137
C                                                                       UDREAD    138
C                                                                       UDREAD    139
            ELSE IF (NAME .EQ. 'DEFINE STRUCTURE' .OR.                  UDREAD    140
     1               NAME .EQ. 'DEFINE STRUCT') THEN                    UDREAD    141
C                                                                       UDREAD    142
               CALL URGETC (NAME, FOUND)                                UDREAD    143
               CALL VALNAM (NAME, LEN, 'STRUC ', VALID, DONE)           UDREAD    144
C                                                                       UDREAD    145
               IF (VALID) THEN                                          UDREAD    146
                  IF (DEFINE) THEN                                      UDREAD    147
C                                                                       UDREAD    148
                     WRITE (MSG(1),9000) SUBNAM                         UDREAD    149
                     WRITE(MSG(2),9001)                                 UDREAD    150
                     WRITE(MSG(3),9003) SBSTRC(NMSTRC)                  UDREAD    151
                     WRITE(MSG(4),9004)                                 UDREAD    152
                     WRITE(MSG(5),9005)                                 UDREAD    153
                     CALL PRTMSG(5)                                     UDREAD    154
                     IERCNT = IERCNT + 1                                UDREAD    155
                  ENDIF                                                 UDREAD    156
                  DEFINE = .TRUE.                                       UDREAD    157
                  NMSTRC = NMSTRC + 1                                   UDREAD    158
                  SBSTRC(NMSTRC) = NAME(1:LEN)                          UDREAD    159
                  ISRTOP(NMSTRC) = 0                                    UDREAD    160
               ENDIF                                                    UDREAD    161
C                                                                       UDREAD    162
            ELSE IF (NAME .EQ. 'END STRUCTURE') THEN                    UDREAD    163
               IF (.NOT. DEFINE) THEN                                   UDREAD    164
C                                                                       UDREAD    165
                  WRITE (MSG(1),9000) SUBNAM                            UDREAD    166
                  WRITE(MSG(2),9006)                                    UDREAD    167
                  WRITE(MSG(3),9007)                                    UDREAD    168
                  CALL PRTMSG(3)                                        UDREAD    169
                  IERCNT = IERCNT + 1                                   UDREAD    170
               ENDIF                                                    UDREAD    171
               DEFINE = .FALSE.                                         UDREAD    172
C                                                                       UDREAD    173
            ELSE                                                        UDREAD    174
C                                                                       UDREAD    175
C              Check if block name is unique.                           UDREAD    176
C                                                                       UDREAD    177
               CALL VALNAM (NAME, LEN, 'BLOCK ', VALID, DONE)           UDREAD    178
C                                                                       UDREAD    179
               IF (VALID) THEN                                          UDREAD    180
C                                                                       UDREAD    181
C                 Read data for this block.                             UDREAD    182
C                                                                       UDREAD    183
                  IUDC = IUDC + 1                                       UDREAD    184
                  IF (IUDC .GT. NUDC) THEN                              UDREAD    185
                  WRITE (MSG(1),9000) SUBNAM                            UDREAD    186
                  WRITE(MSG(2),9008) NUDC                               UDREAD    187
                  WRITE(MSG(3),9009)                                    UDREAD    188
                  CALL PRTMSG(3)                                        UDREAD    189
                    MSG(1)='UDREAD: TERMINATED DUE UDC ARRAY DIMENSIONS'UDREAD    190
                    CALL ASTOP(MSG(1),43)                               UDREAD    191
                  ENDIF                                                 UDREAD    192
C                                                                       UDREAD    193
                  IUDLEN(IUDC) = LEN                                    UDREAD    194
                  UDNAME(IUDC) = NAME(1:LEN)                            UDREAD    195
                  IF (.NOT .EOF) THEN                                   UDREAD    196
C                                                                       UDREAD    197
C                    Read the block type of this block.                 UDREAD    198
C                                                                       UDREAD    199
                     CALL URGETC (CDATA(1), FOUND)                      UDREAD    200
                     IF (FOUND) THEN                                    UDREAD    201
                        TNAME = CDATA(1)                                UDREAD    202
                        IF (TNAME .NE. CDATA(1)) THEN                   UDREAD    203
                           WRITE (MSG(1),9000) SUBNAM                   UDREAD    204
                           WRITE(MSG(2),9010)                           UDREAD    205
                           WRITE(MSG(3),9011) CDATA(1)                  UDREAD    206
                           WRITE(MSG(4),9020) TNAME                     UDREAD    207
                           WRITE(MSG(5),9021)                           UDREAD    208
                           CALL PRTMSG(5)                               UDREAD    209
                           IERCNT = IERCNT + 1                          UDREAD    210
                        ENDIF                                           UDREAD    211
C                                                                       UDREAD    212
                        IF (TNAME .EQ. 'ACSYSTEM' .OR.                  UDREAD    213
     1                      TNAME .EQ. 'ACSYST') THEN                   UDREAD    214
                           IUDTYP(IUDC) = IACSYS                        UDREAD    215
                           CALL URACSY                                  UDREAD    216
C                                                                       UDREAD    217
                        ELSE IF (TNAME .EQ. 'BINARY') THEN              UDREAD    218
                           IUDTYP(IUDC) = IBINAR                        UDREAD    219
                           CALL URBIN                                   UDREAD    220
C                                                                       UDREAD    221
                        ELSE IF (TNAME .EQ. 'BREAKER' .OR.              UDREAD    222
     1                           TNAME .EQ. 'BREAKR') THEN              UDREAD    223
                           IUDTYP(IUDC) = IBREAK                        UDREAD    224
                           CALL URBRKR                                  UDREAD    225
C                                                                       UDREAD    226
                        ELSE IF (TNAME .EQ. 'FORTRAN' .OR.              UDREAD    227
     1                           TNAME .EQ. 'FORTRN') THEN              UDREAD    228
                           IUDTYP(IUDC) = IFRTRA                        UDREAD    229
                           CALL URFORT                                  UDREAD    230
C                                                                       UDREAD    231
                        ELSE IF (TNAME .EQ. 'FROMAC') THEN              UDREAD    232
                           IUDTYP(IUDC) = IFRMAC                        UDREAD    233
                           CALL URFRAC                                  UDREAD    234
C                                                                       UDREAD    235
                        ELSE IF (TNAME .EQ. 'FROMDC') THEN              UDREAD    236
                           IUDTYP(IUDC) = IFRMDC                        UDREAD    237
                           CALL URFRDC                                  UDREAD    238
C                                                                       UDREAD    239
                        ELSE IF (TNAME .EQ. 'INTERFACE' .OR.            UDREAD    240
     1                           TNAME .EQ. 'INTERF') THEN              UDREAD    241
                           IUDTYP(IUDC) = INTERF                        UDREAD    242
                           NINTF=NINTF+1                                UDREAD    243
                           CALL URINTF                                  UDREAD    244
C                                                                       UDREAD    245
                        ELSE IF (TNAME .EQ. 'LIMIT') THEN               UDREAD    246
                           IUDTYP(IUDC) = LIMITR                        UDREAD    247
                           CALL URLIMT                                  UDREAD    248
C                                                                       UDREAD    249
                        ELSE IF (TNAME .EQ. 'LOGIC') THEN               UDREAD    250
                           IUDTYP(IUDC) = LOGIC                         UDREAD    251
                           CALL URLOGC                                  UDREAD    252
C                                                                       UDREAD    253
                        ELSE IF (TNAME .EQ. 'MULTIPLE' .OR.             UDREAD    254
     1                           TNAME .EQ. 'MULTIP') THEN              UDREAD    255
                           IUDTYP(IUDC) = MULTI                         UDREAD    256
                           CALL URMLTP                                  UDREAD    257
C                                                                       UDREAD    258
                        ELSE IF (TNAME .EQ. 'PRINT') THEN               UDREAD    259
                           IUDTYP(IUDC) = IPRTR                         UDREAD    260
                           CALL URPRT                                   UDREAD    261
C                                                                       UDREAD    262
                        ELSE IF (TNAME .EQ. 'OTHER') THEN               UDREAD    263
                           IUDTYP(IUDC) = IOTHER                        UDREAD    264
                           CALL UROTHR                                  UDREAD    265
C                                                                       UDREAD    266
                        ELSE IF (TNAME .EQ. 'SBLOCK') THEN              UDREAD    267
                           IUDTYP(IUDC) = ISBLCK                        UDREAD    268
                           CALL URSBLK                                  UDREAD    269
C                                                                       UDREAD    270
                        ELSE IF (TNAME .EQ. 'SETUP') THEN               UDREAD    271
                           IUDTYP(IUDC) = ISETUP                        UDREAD    272
                           CALL URSETP                                  UDREAD    273
C                                                                       UDREAD    274
                        ELSE IF (TNAME .EQ. 'SOURCE') THEN              UDREAD    275
                           IUDTYP(IUDC) = ISOURC                        UDREAD    276
                           CALL URSRCE                                  UDREAD    277
C                                                                       UDREAD    278
                        ELSE IF (TNAME .EQ. 'STRUCTURE' .OR.            UDREAD    279
     1                           TNAME .EQ. 'STRUCT') THEN              UDREAD    280
                           IUDTYP(IUDC) = ISTRUC                        UDREAD    281
                           CALL URSTRC                                  UDREAD    282
C                                                                       UDREAD    283
                        ELSE IF (TNAME .EQ. 'SUBSYSTEM' .OR.            UDREAD    284
     1                           TNAME .EQ. 'SUBSYS') THEN              UDREAD    285
                           IUDTYP(IUDC) = ISUBSY                        UDREAD    286
                           CALL URSUBS                                  UDREAD    287
C                                                                       UDREAD    288
                        ELSE IF (TNAME .EQ. 'UNARY') THEN               UDREAD    289
                           IUDTYP(IUDC) = IUNARY                        UDREAD    290
                           CALL URUNA                                   UDREAD    291
C                                                                       UDREAD    292
                        ELSE IF (TNAME .EQ. 'ENDUDC') THEN              UDREAD    293
                           LEN1 = IUDLEN(IUDC)                          UDREAD    294
                           WRITE (MSG(1),9000) SUBNAM                   UDREAD    295
                           WRITE(MSG(2),9012)                           UDREAD    296
                           WRITE(MSG(3),9022) UDNAME(IUDC)(1:LEN1)      UDREAD    297
                           WRITE(MSG(4),9023)                           UDREAD    298
                           WRITE(MSG(5),9024)                           UDREAD    299
                           CALL PRTMSG(5)                               UDREAD    300
                           IUDC = IUDC - 1                              UDREAD    301
                           IERCNT = IERCNT + 1                          UDREAD    302
                           DONE = .TRUE.                                UDREAD    303
C                                                                       UDREAD    304
                        ELSE                                            UDREAD    305
                           LEN1 = IUDLEN(IUDC)                          UDREAD    306
                           WRITE (MSG(1),9000) SUBNAM                   UDREAD    307
                           WRITE(MSG(2),9014)                           UDREAD    308
                           WRITE(MSG(3),9026)UDNAME(IUDC)(1:LEN1),TNAME UDREAD    309
                           WRITE(MSG(4),9027)                           UDREAD    310
                           WRITE(MSG(5),9028)                           UDREAD    311
                           CALL PRTMSG(5)                               UDREAD    312
                           IUDC = IUDC - 1                              UDREAD    313
                           IERCNT = IERCNT + 1                          UDREAD    314
80                         IF (ENDBLK .OR. EOF) GO TO 100               UDREAD    315
                              CALL URGETC (CDATA(1), FOUND)             UDREAD    316
                              GO TO 80                                  UDREAD    317
100                        CONTINUE                                     UDREAD    318
                        ENDIF                                           UDREAD    319
                     ENDIF                                              UDREAD    320
                  ENDIF                                                 UDREAD    321
               ENDIF                                                    UDREAD    322
C                                                                       UDREAD    323
            ENDIF                                                       UDREAD    324
         ENDIF                                                          UDREAD    325
         GO TO 60                                                       UDREAD    326
C                                                                       UDREAD    327
120    CONTINUE                                                         UDREAD    328
C                                                                       UDREAD    329
C                                                                       UDREAD    330
      IF (EOF .AND. .NOT. DONE) THEN                                    UDREAD    331
         IERCNT = IERCNT + 1                                            UDREAD    332
         WRITE (MSG(1),9000) SUBNAM                                     UDREAD    333
         WRITE(MSG(2),9016)                                             UDREAD    334
         WRITE(MSG(3),9029)                                             UDREAD    335
         WRITE(MSG(4),9030)                                             UDREAD    336
         WRITE(MSG(5),9031)                                             UDREAD    337
         CALL PRTMSG(5)                                                 UDREAD    338
         DONE = .TRUE.                                                  UDREAD    339
      ENDIF                                                             UDREAD    340
C                                                                       UDREAD    341
C                                                                       UDREAD    342
C---------------------------------------------------------------------  UDREAD    343
C                                                                       UDREAD    344
      RETURN                                                            UDREAD    345
C                                                                       UDREAD    346
C---------------------------------------------------------------------  UDREAD    347
C                                                                       UDREAD    348
9002  FORMAT (///, '1', 20X, A, /)                                      UDREAD    349
9000  FORMAT (' *** ERROR', 5X, A)                                      UDREAD    350
9001  FORMAT(11X,'DURING THE READING OF THE UDC BLOCKS, THE STRUCTURE') UDREAD    351
9003  FORMAT(11X,'DEFINITION FOR "',A,'" WAS NOT TERMINATED BY AN')     UDREAD    352
9004  FORMAT(11X                                                        UDREAD    353
     *,'"END STRUCTURE" STATEMENT.  CHECK YOUR UDC INPUT FILE')         UDREAD    354
9005  FORMAT(11X,'FOR ERRORS.')                                         UDREAD    355
9006  FORMAT(11X,'DURING THE READING OF THE UDC BLOCKS,'                UDREAD    356
     *,' AN EXTRA "END STRUCTURE"')                                     UDREAD    357
9007  FORMAT(11X,/, 18X, 'STATEMENT WAS FOUND.  CHECK ',                UDREAD    358
     3        'YOUR UDC INPUT FILE FOR ERRORS.')                        UDREAD    359
9008  FORMAT(11X,'THE MAXIMUM NUMBER OF UDC BLOCKS ', I4, ' HAS BEEN ', UDREAD    360
     2        'EXCEEDED.')                                              UDREAD    361
9009  FORMAT(11X,'CHANGE THE VALUE OF PARAMETER, ',                     UDREAD    362
     3        'NUDC, FOUND IN INCLUDE PARX.')                           UDREAD    363
9010  FORMAT(11X,'DURING THE READING OF THE UDC BLOCKS, THE CHARACTER') UDREAD    364
9011  FORMAT(11X,'STRING THAT WAS READ FROM THE UDC INPUT FILE WAS: '   UDREAD    365
     *,'"', A, '", BUT WAS CHANGED')                                    UDREAD    366
9020  FORMAT(11X,'TO "',A,'" WHEN USED BY THE PROGRAM.  CHECK YOUR')    UDREAD    367
9021  FORMAT(11X,'UDC INPUT FILE FOR ERRORS.')                          UDREAD    368
9012  FORMAT(11X,'DURING THE READING OF THE UDC BLOCKS, BLOCK ')        UDREAD    369
9022  FORMAT(11X,'"', A, '" IS FOLLOWED BY THE KEYWORD "ENDUDC",')      UDREAD    370
9023  FORMAT(11X,'INSTEAD OF ITS TYPE, SUBTYPE, AND DATA.  THE ',       UDREAD    371
     4        'READING OF')                                             UDREAD    372
9024  FORMAT(11X,'UDC BLOCKS IS TERMINATED.  CHECK ',                   UDREAD    373
     5        'YOUR UDC INPUT FILE FOR ERRORS.')                        UDREAD    374
9014  FORMAT(11X,'DURING THE READING OF THE UDC BLOCKS, BLOCK ')        UDREAD    375
9026  FORMAT(11X,'"',A,'" HAS AN INVALID TYPE OF "', A, '".')           UDREAD    376
9027  FORMAT(11X,'ALL SUBSEQUENT DATA IS IGNORED UNTIL NEXT ":". ',     UDREAD    377
     4        ' CHECK')                                                 UDREAD    378
9028  FORMAT(11X,'YOUR UDC INPUT FILE FOR ERRORS.')                     UDREAD    379
9016  FORMAT(11X                                                        UDREAD    380
     *,'DURING THE READING OF THE UDC BLOCKS, END OF FILE IN THE')      UDREAD    381
9029  FORMAT(11X,'UDC INPUT FILE WAS FOUND.  THE UDC ',                 UDREAD    382
     3        'BLOCK INFORMATION MUST')                                 UDREAD    383
9030  FORMAT(11X,'BE FOLLOWED BY THE ',                                 UDREAD    384
     4        'KEYWORD "ENDUDC".  CHECK YOUR UDC INPUT')                UDREAD    385
9031  FORMAT(11X,'FILE FOR ERRORS.')                                    UDREAD    386
C                                                                       UDREAD    387
C---------------------------------------------------------------------  UDREAD    388
C                                                                       UDREAD    389
      END                                                               UDREAD    390
