Skip to content

Commit 9ce8453

Browse files
committed
EXPLORE: Better error output for list/select
1 parent 954c64a commit 9ce8453

File tree

3 files changed

+22
-18
lines changed

3 files changed

+22
-18
lines changed

packages/seacas/applications/explore/exp_comand.f

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ SUBROUTINE COMAND (A, IA, EXODUS, DBNAME, QAREC, INFO,
375375
if (FFMATC (IFLD, INTYP, CFIELD, 'NSET', 4) .OR.
376376
* FFMATC (IFLD, INTYP, CFIELD, 'NODESET', 7)) THEN
377377
CALL RIXID (DUMLIN, IFLD, INTYP, CFIELD, IFIELD,
378-
& 'nodal point set ID',
378+
& 'nodal point set',
379379
& NUMNPS, IDNPS, LISNPS(0), LISNPS(1), NSNAME, *270)
380380
if (lisnps(0) .gt. 0) then
381381
call selset(lisnp(0), lisnp(1),
@@ -386,7 +386,7 @@ SUBROUTINE COMAND (A, IA, EXODUS, DBNAME, QAREC, INFO,
386386
else if (FFMATC (IFLD, INTYP, CFIELD, 'SSET', 4) .OR.
387387
* FFMATC (IFLD, INTYP, CFIELD, 'SIDESET', 7)) THEN
388388
CALL RIXID (DUMLIN, IFLD, INTYP, CFIELD, IFIELD,
389-
& 'side set ID',
389+
& 'side set',
390390
& NUMESS, IDESS, LISESS(0), LISESS(1), SSNAME, *270)
391391
if (lisess(0) .gt. 0) then
392392
CALL MDRSRV ('SCR', KSCR, NUMNP)
@@ -403,7 +403,7 @@ SUBROUTINE COMAND (A, IA, EXODUS, DBNAME, QAREC, INFO,
403403
IF (NERR .GT. 0) GOTO 280
404404

405405
CALL RIXID (DUMLIN, IFLD, INTYP, CFIELD, IFIELD,
406-
& 'element block ID',
406+
& 'element block',
407407
& NELBLK, IDELB, IA(KLELB), IA(KLELB+1), EBNAME, *205)
408408
205 continue
409409
if (IA(KLELB) .gt. 0) then
@@ -441,7 +441,7 @@ SUBROUTINE COMAND (A, IA, EXODUS, DBNAME, QAREC, INFO,
441441
if (FFMATC (IFLD, INTYP, CFIELD, 'SSET', 4) .OR.
442442
* FFMATC (IFLD, INTYP, CFIELD, 'SIDESET', 7)) THEN
443443
CALL RIXID (DUMLIN, IFLD, INTYP, CFIELD, IFIELD,
444-
& 'side set ID',
444+
& 'side set',
445445
& NUMESS, IDESS, LISESS(0), LISESS(1), SSNAME, *270)
446446
if (lisess(0) .gt. 0) then
447447
call selset(IA(KLEL), IA(KLEL+1),
@@ -476,7 +476,7 @@ SUBROUTINE COMAND (A, IA, EXODUS, DBNAME, QAREC, INFO,
476476
IF (NERR .GT. 0) GOTO 280
477477

478478
CALL RIXID (DUMLIN, IFLD, INTYP, CFIELD, IFIELD,
479-
& 'element block ID',
479+
& 'element block',
480480
& NELBLK, IDELB, IA(KLELB), IA(KLELB+1), EBNAME, *220)
481481
220 CONTINUE
482482
CALL DBSELB (NELBLK, NUMEL, LENE, IA(KLELB),
@@ -490,7 +490,7 @@ SUBROUTINE COMAND (A, IA, EXODUS, DBNAME, QAREC, INFO,
490490
CALL CKNONE (NUMNPS, .FALSE., 'nodal point sets', *270)
491491

492492
CALL RIXID (DUMLIN, IFLD, INTYP, CFIELD, IFIELD,
493-
& 'nodal point set ID',
493+
& 'nodal point set',
494494
& NUMNPS, IDNPS, LISNPS(0), LISNPS(1), NSNAME, *270)
495495

496496
ELSE IF (LISTYP .EQ. 'SSETS') THEN
@@ -499,7 +499,7 @@ SUBROUTINE COMAND (A, IA, EXODUS, DBNAME, QAREC, INFO,
499499
CALL CKNONE (NUMESS, .FALSE., 'element side sets', *270)
500500

501501
CALL RIXID (DUMLIN, IFLD, INTYP, CFIELD, IFIELD,
502-
& 'element side set ID',
502+
& 'element side set',
503503
& NUMESS, IDESS, LISESS(0), LISESS(1), SSNAME, *270)
504504

505505
C *** EXODUS Movement Commands ***

packages/seacas/applications/explore/exp_rixid.f

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,17 @@ SUBROUTINE RIXID (INLINE, IFLD, INTYP, CFIELD, IFIELD,
8383
goto 208
8484
end if
8585
end do
86-
call prterr('CMDERR',
87-
$ 'Could not find ' // SELMSG // ' ' // WORD)
86+
ERRMSG = SELMSG // ' "' // WORD //
87+
$ '" does not exist, ignored'
88+
call sqzstr(errmsg, lstr)
89+
call prterr('CMDERR', errmsg(:lstr))
8890
goto 110
8991
208 continue
92+
IF (NUMSEL .GE. MAXSEL) THEN
93+
ERRMSG = 'Too many ' // SELMSG // 's selected'
94+
CALL PRTERR ('CMDERR', ERRMSG(:LENSTR(ERRMSG)))
95+
GOTO 120
96+
END IF
9097
numsel = numsel + 1
9198
ixsel(numsel) = i
9299
ELSE
@@ -101,10 +108,9 @@ SUBROUTINE RIXID (INLINE, IFLD, INTYP, CFIELD, IFIELD,
101108

102109
IF (IX .LE. 0) THEN
103110
CALL INTSTR (1, 0, ID, WORD, LSTR)
104-
ERRMSG = SELMSG // ' ' //
105-
& WORD(:LSTR) // ' does not exist, ignored'
106-
CALL PRTERR ('CMDERR', word(:lstr))
107-
111+
write (*,*) 'WORD: ', WORD(:LSTR), ID
112+
CALL PRTERR ('CMDERR', SELMSG // ' ' //
113+
& WORD(:LSTR) // ' does not exist, ignored')
108114
ELSE IF (LOCINT (IX, NUMSEL, IXSEL) .LE. 0) THEN
109115
CALL FFADDI (ID, INLINE)
110116
IF (NUMSEL .GE. MAXSEL) THEN

packages/seacas/libraries/suplib/intstr.f

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,15 @@ SUBROUTINE INTSTR (NNUM, LNGSTR, INUM, ISTR, LSTR)
2929
INTEGER LSTR
3030

3131
CHARACTER*20 SCISTR
32-
CHARACTER*5 FFMT
32+
CHARACTER*8 FFMT
3333

3434
IF ((NNUM .EQ. 1) .AND. (LNGSTR .LE. 0)) THEN
3535

3636
C --Handle special case of single number, smallest length
3737

38-
WRITE (FFMT, 10000, IOSTAT=IDUM) LEN (ISTR(1))
39-
38+
WRITE (FFMT, 10000, IOSTAT=IDUM) LEN(ISTR(1))
4039
WRITE (ISTR(1), FFMT, IOSTAT=IDUM) INUM(1)
4140
CALL SQZSTR (ISTR(1), LSTR)
42-
4341
ELSE
4442

4543
C --Determine smallest length of largest number string
@@ -66,7 +64,7 @@ SUBROUTINE INTSTR (NNUM, LNGSTR, INUM, ISTR, LSTR)
6664
C --Convert all integers to string of given length
6765

6866
WRITE (FFMT, 10000, IOSTAT=IDUM) LSTR
69-
10000 FORMAT ('(I', I2.2, ')')
67+
10000 FORMAT ('(I', I3.3, ')')
7068

7169
DO 110 I = 1, NNUM
7270
WRITE (ISTR(I), FFMT, IOSTAT=IDUM) INUM(I)

0 commit comments

Comments
 (0)