anchor.diff:     !! Since the frequency range of the QTF has not yet been checked, we will do that now.
      !!
      !-------------------------------------------------------------------------------------------------------------------------------
  -   SUBROUTINE NewmanApp_InitCalc( InitInp, p, ThisBodyNum, NewmanAppData, NewmanAppForce, ErrMsg, ErrStat )
  +   SUBROUTINE NewmanApp_InitCalc( InitInp, p, NewmanAppData, NewmanAppForce, ErrMsg, ErrStat )
   
         IMPLICIT NONE
   
         TYPE(WAMIT2_InitInputType),         INTENT(IN   )  :: InitInp              !< Input data for initialization routine
         TYPE(WAMIT2_ParameterType),         INTENT(IN   )  :: p                    !< Parameters
  -      INTEGER(IntKi),                     INTENT(IN   )  :: ThisBodyNum          !< Which body are we on
         TYPE(W2_DiffData_Type),             INTENT(INOUT)  :: NewmanAppData        !< Data storage for the NewmanApp method.  Set to INOUT in case we need to convert 4D to 3D
         REAL(SiKi),  ALLOCATABLE,           INTENT(  OUT)  :: NewmanAppForce(:,:)  !< Force data.  Index 1 is the timestep, index 2 is the load component.
         CHARACTER(*),                       INTENT(  OUT)  :: ErrMsg
  
positive.code: 
           ! Before we continue, we will get the MnDriftForce results.
           !  --> Note that we can pass the DiffQTFData directly since we are using the same type for both
        CALL MnDrift_InitCalc( InitInp, p, ThisBodyNum, DiffQTFData, MnDriftForce, ErrMsgTmp, ErrStatTmp )
        CALL SetErrStat( ErrStatTmp, ErrMsgTmp, ErrStat, ErrMsg, RoutineName )
        IF ( ErrStat >= AbortErrLev ) THEN
           IF (ALLOCATED(TmpData4D))        DEALLOCATE(TmpData4D,STAT=ErrStatTmp)
  
negative.code:             ! Tell our nice users what is about to happen that may take a while:
           CALL WrScr ( " Calculating second order difference-frequency force using the Newman's approximation." )
  
           CALL NewmanApp_InitCalc( InitInp, p, NewmanAppData, NewmanAppForce, ErrMsgTmp, ErrStatTmp )
           CALL SetErrStat( ErrStatTmp, ErrMsgTmp, ErrStat, ErrMsg, RoutineName )
           IF ( ErrStat >= AbortErrLev ) THEN
              CALL CleanUp
  