aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/checkindex.F77
blob: 026d9c2bd83d007de6b5c22207050d62247efbbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
c     -*-Fortran-*-
c     $Header:$
      
#include "cctk.h"



      subroutine checkindex (i,j,k, di,dj,dk, imax,jmax,kmax, where)
      implicit none
      integer i,j,k
      integer di,dj,dk
      integer imax,jmax,kmax
      character*(*) where
      character*1000 msg
      
      if (      i.lt.1 .or. i+di-1.gt.imax
     $     .or. j.lt.1 .or. j+dj-1.gt.jmax
     $     .or. k.lt.1 .or. k+dk-1.gt.kmax) then
         write (msg, '(a, " array index out of bounds: shape is (",i4,",",i4,",",i4,"), index is (",i4,",",i4,",",i4,"), extent is (",i4,",",i4,",",i4,")")')
     $        where, imax,jmax,kmax, i,j,k, di,dj,dk
         call CCTK_WARN (0, msg(1:len_trim(msg)))
      end if
      end