      SUBROUTINE gm_cart_shift ( ldim,  nbdims,  jdims,  coords,  periods,  iav,  iap )
      IMPLICIT NONE
      INTEGER,                        INTENT(IN)   ::  ldim
      INTEGER,                        INTENT(IN)   ::  nbdims
      INTEGER,  DIMENSION(1:nbdims),  INTENT(IN)   ::  jdims
      INTEGER,  DIMENSION(1:nbdims),  INTENT(IN)   ::  coords
      LOGICAL,  DIMENSION(1:nbdims),  INTENT(IN)   ::  periods
      INTEGER,                        INTENT(OUT)  ::  iav
      INTEGER,                        INTENT(OUT)  ::  iap
      END SUBROUTINE gm_cart_shift

