anchor.diff:      Int_BufSz   = Int_BufSz   + 2*1  ! TTpBrFl upper/lower bounds for each dimension
         Db_BufSz   = Db_BufSz   + SIZE(InData%TTpBrFl)  ! TTpBrFl
     END IF
  -  Int_BufSz   = Int_BufSz   + 1     ! TPitManE allocated yes/no
  -  IF ( ALLOCATED(InData%TPitManE) ) THEN
  -    Int_BufSz   = Int_BufSz   + 2*1  ! TPitManE upper/lower bounds for each dimension
  -      Db_BufSz   = Db_BufSz   + SIZE(InData%TPitManE)  ! TPitManE
  -  END IF
  -  Int_BufSz   = Int_BufSz   + 1     ! PitManRat allocated yes/no
  -  IF ( ALLOCATED(InData%PitManRat) ) THEN
  -    Int_BufSz   = Int_BufSz   + 2*1  ! PitManRat upper/lower bounds for each dimension
  -      Re_BufSz   = Re_BufSz   + SIZE(InData%PitManRat)  ! PitManRat
  -  END IF
  -      Db_BufSz   = Db_BufSz   + 1  ! TOff4Good
  -      Db_BufSz   = Db_BufSz   + 1  ! TGenOnLine
  +      Int_BufSz  = Int_BufSz  + 1  ! Off4Good
  +      Int_BufSz  = Int_BufSz  + 1  ! GenOnLine
      ! Allocate buffers for subtypes, if any (we'll get sizes from these) 
  -      Int_BufSz   = Int_BufSz + 3  ! dll_data: size of buffers for each call to pack subtype
  -      CALL SrvD_Packbladeddlltype( Re_Buf, Db_Buf, Int_Buf, InData%dll_data, ErrStat2, ErrMsg2, .TRUE. ) ! dll_data 
  -        CALL SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName)
  -        IF (ErrStat >= AbortErrLev) RETURN
  -
  -      IF(ALLOCATED(Re_Buf)) THEN ! dll_data
  -         Re_BufSz  = Re_BufSz  + SIZE( Re_Buf  )
  -         DEALLOCATE(Re_Buf)
  -      END IF
  -      IF(ALLOCATED(Db_Buf)) THEN ! dll_data
  -         Db_BufSz  = Db_BufSz  + SIZE( Db_Buf  )
  -         DEALLOCATE(Db_Buf)
  -      END IF
  -      IF(ALLOCATED(Int_Buf)) THEN ! dll_data
  -         Int_BufSz = Int_BufSz + SIZE( Int_Buf )
  -         DEALLOCATE(Int_Buf)
  -      END IF
  -      Db_BufSz   = Db_BufSz   + 1  ! LastTimeCalled
  -      Int_BufSz  = Int_BufSz  + 1  ! FirstWarn
         Int_BufSz   = Int_BufSz + 3  ! NTMD: size of buffers for each call to pack subtype
         CALL TMD_PackOtherState( Re_Buf, Db_Buf, Int_Buf, InData%NTMD, ErrStat2, ErrMsg2, .TRUE. ) ! NTMD 
           CALL SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName)
  
positive.code:     Int_BufSz   = Int_BufSz   + 2*1  ! BlPitchF upper/lower bounds for each dimension
        Re_BufSz   = Re_BufSz   + SIZE(InData%BlPitchF)  ! BlPitchF
    END IF
        Re_BufSz   = Re_BufSz   + 1  ! BlAlpha
        Re_BufSz   = Re_BufSz   + 1  ! NacYawF
        Re_BufSz   = Re_BufSz   + 1  ! SpdGenOn
        Db_BufSz   = Db_BufSz   + 1  ! THSSBrDp
  
negative.code:   Db_Xferred  = 1
    Int_Xferred = 1
  
    IF ( .NOT. ALLOCATED(InData%BegPitMan) ) THEN
      IntKiBuf( Int_Xferred ) = 0
      Int_Xferred = Int_Xferred + 1
    ELSE
      IntKiBuf( Int_Xferred ) = 1
      Int_Xferred = Int_Xferred + 1
      IntKiBuf( Int_Xferred    ) = LBOUND(InData%BegPitMan,1)
      IntKiBuf( Int_Xferred + 1) = UBOUND(InData%BegPitMan,1)
      Int_Xferred = Int_Xferred + 2
  
        IF (SIZE(InData%BegPitMan)>0) IntKiBuf ( Int_Xferred:Int_Xferred+SIZE(InData%BegPitMan)-1 ) = TRANSFER(PACK( InData%BegPitMan ,.TRUE.), IntKiBuf(1), SIZE(InData%BegPitMan))
        Int_Xferred   = Int_Xferred   + SIZE(InData%BegPitMan)
    END IF
    IF ( .NOT. ALLOCATED(InData%BlPitchI) ) THEN
      IntKiBuf( Int_Xferred ) = 0
      Int_Xferred = Int_Xferred + 1
  