C LAST UPDATE: 
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C**************************
C**     LDM_DF_SPIN      **
C**************************
C
C
      SUBROUTINE LDM_DF_SPIN (IPACK, IERR, ERRSTR, MAXPK)
C
      INCLUDE 'implicit_none.finc'
C
C Purpose: Set default values for spindle parameter (special case)
C
C ***** 'LDM' SERVICE ROUTINE ONLY *****
C
C Author:  John W. Campbell, June 1993
C
C Arguments:
C
      INTEGER IPACK
      INTEGER IERR
      CHARACTER*(*) ERRSTR
      INTEGER MAXPK

C  IPACK     (R)   Pack number, 0=all packs
C  IERR      (W)   Error flag = 0 OK
C                             =-1 Invalid pack specification
C  ERRSTR    (W)   Error string
C  MAXPK     (R)   Packs array dimension
C
C====== GLOBALS:
C
      INCLUDE 'ldm_defaults.finc'
      INCLUDE 'ldm_data.finc'
      EXTERNAL LDM_BDAT
C
C====== LOCALS:
C
      INTEGER I
C
C-------------------------------------------------------------------------------
C
      CALL LDM_CHK_SPK (IPACK, IERR, ERRSTR)
      IF (IERR.NE.0) RETURN
      IF (IPACK.EQ.0) THEN
         DO 100 I = 1, MAXPK
            SPIN(I) = DF_SPIN + (I-1)*DF_DSPIN
            IS_SPIN(I) = DF_IS_SPIN
            CH_SPIN(I) = CH_MASK
            ND_SPIN(I) = DF_ND_SPIN
100      CONTINUE
      ELSE        
         SPIN(IPACK) = DF_SPIN + (IPACK-1)*DF_DSPIN
         IS_SPIN(IPACK) = DF_IS_SPIN
         CH_SPIN(IPACK) = CH_MASK
         ND_SPIN(IPACK) = DF_ND_SPIN
      END IF
      RETURN
      END
