anchor.diff:     CHARACTER(*),            INTENT(  OUT)  :: ErrMsg    ! Error message if ErrStat /= ErrID_None
   ! local variable for input and output
   CHARACTER(1024)              :: PriPath                                         ! The path to the primary input file
  -CHARACTER(  12)              :: JunkStrg                                        !Temp variable to store a short string  -RRD
   CHARACTER(1024)              :: Line                                            ! String to temporarially hold value of read line
   INTEGER                      :: Sttus
   
  
positive.code:    
              
     IF(Init%CBMod) THEN ! C-B reduction         
           ! check number of internal modes
        IF(p%Nmodes > p%DOFL) THEN
           CALL SetErrStat(ErrID_Fatal,'Number of internal modes is larger than maximum. ',ErrStat,ErrMsg,'Craig_Bampton')
           CALL CleanupCB()
  
negative.code: !!   Thus x_n+1 = x_n - J^-1 *dt/2 * (2*A*x_n + B *(u_n + u_n+1) +2*Fx)
  !!  or    J*( x_n - x_n+1 ) = dt * ( A*x_n +  B *(u_n + u_n+1)/2 + Fx)
  SUBROUTINE SD_AM2( t, n, u, utimes, p, x, xd, z, OtherState, m, ErrStat, ErrMsg )
     REAL(DbKi),                     INTENT(IN   )   :: t              !< Current simulation time in seconds
     INTEGER(IntKi),                 INTENT(IN   )   :: n              !< time step number
     TYPE(SD_InputType),             INTENT(INOUT)   :: u(:)           !< Inputs at t
  