You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.2 KiB
67 lines
2.2 KiB
2 years ago
|
C Copyright(C) 1999-2020 National Technology & Engineering Solutions
|
||
|
C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
|
||
|
C NTESS, the U.S. Government retains certain rights in this software.
|
||
|
C
|
||
|
C See packages/seacas/LICENSE for details
|
||
|
|
||
|
C=======================================================================
|
||
|
subroutine chkerr (routine, caller, ierr)
|
||
|
C=======================================================================
|
||
|
character*(*) routine, caller
|
||
|
include 'exodusII.inc'
|
||
|
character*80 string, path
|
||
|
character*40 errors(19)
|
||
|
integer ierr
|
||
|
integer idebug
|
||
|
data errors /
|
||
|
* 'Not a netcdf id',
|
||
|
* 'Too many netcdfs open',
|
||
|
* 'netcdf file exists && NCNOCLOB',
|
||
|
* 'Invalid Argument',
|
||
|
* 'Write to read only',
|
||
|
* 'Operation not allowed in data mode',
|
||
|
* 'Operation not allowed in define mode',
|
||
|
* 'Coordinates out of Domain',
|
||
|
* 'MAXNCDIMS exceeded',
|
||
|
* 'String match to name in use',
|
||
|
* 'Attribute not found',
|
||
|
* 'MAXNCATTRS exceeded',
|
||
|
* 'Not a netcdf data type',
|
||
|
* 'Invalid dimension id',
|
||
|
* 'NCUNLIMITED in the wrong index',
|
||
|
* 'MAXNCVARS exceeded',
|
||
|
* 'Variable not found',
|
||
|
* 'Action prohibited on NCGLOBAL varid',
|
||
|
* 'Not a netcdf file'/
|
||
|
|
||
|
idebug = 1
|
||
|
write (path, '(A,A2,A)') CALLER, '->', ROUTINE
|
||
|
lp = lenstr(path)
|
||
|
if (idebug .gt. 0 .and. ierr .gt. 0)
|
||
|
* call prterr ('CMDSPEC', PATH(:LP))
|
||
|
|
||
|
if (ierr .eq. 0) then
|
||
|
continue
|
||
|
else if (ierr .eq. EXBFID) then
|
||
|
write (string, '(A,A)')
|
||
|
$ 'The EXODUS file ID is incorrect in ', path(:lp)
|
||
|
call prterr ('FATAL', string)
|
||
|
stop 'EXBFID'
|
||
|
else if (ierr .eq. EXWARN) then
|
||
|
write (string, '(A,A)')
|
||
|
$ 'A non-fatal error occurred in ', path(:lp)
|
||
|
call prterr ('WARNING', string)
|
||
|
else
|
||
|
if (ierr .le. 19) then
|
||
|
l = lenstr(errors(ierr))
|
||
|
write (string, '(A,A,A)') errors(ierr)(:l), ' ', path(:lp)
|
||
|
else
|
||
|
write (string, '(A,A)')
|
||
|
* 'Unknown Error ', path(:lp)
|
||
|
end if
|
||
|
call prterr ('WARNING', string)
|
||
|
end if
|
||
|
|
||
|
return
|
||
|
end
|