anchor.diff:           NewmanTerm1C(0) = CMPLX(0.0_SiKi, 0.0_SiKi)
            NewmanTerm2C(0) = CMPLX(0.0_SiKi, 0.0_SiKi)
   
  -            ! Only on the dimensions we requested
  -         IF ( p%NewmanAppDims(I) ) THEN
  +         IF (NewmanAppData%DataIs3D) THEN
  +            TmpFlag = NewmanAppData%Data3D%LoadComponents(I)
  +         ELSE
  +            TmpFlag = NewmanAppData%Data4D%LoadComponents(I)
  +         END IF
  +
  +            ! Only on the dimensions we requested, and if it is present in the data
  +         IF ( p%NewmanAppDims(I) .AND. TmpFlag ) THEN
   
                  ! Set an initial search index for the 3D and 4D array interpolation
               LastIndex3 = (/0,0,0/)
  
positive.code:          ! Now loop through all the dimensions and perform the calculation
        DO I=1,6
  
              ! Only on the dimensions we requested
           IF ( p%DiffQTFDims(I) ) THEN
  
  
                 ! Set an initial search index for the 4D array interpolation
  
negative.code:          IF ( NewmanAppData%DataIs3D ) THEN
                 ! Check the dimensions used.  The LoadComponents(I) flag will be set to .TRUE. if data was found in the file
              DO I=1,6
                 IF ( p%NewmanAppDims(I) .AND. ( .NOT. NewmanAppData%Data3D%LoadComponents(I) ) ) &
                    CALL SetErrStat( ErrID_Warn, ' '//TRIM(NewmanAppData%Filename)//' does not contain information for the '// &
                          TRIM(Num2LStr(I))//' force component for the NewmanApp method.  Setting this component to zero.',    &
                          ErrStat,ErrMsg,'WAMIT2_Init')
              ENDDO
           ELSE IF ( NewmanAppData%DataIs4D ) THEN
                 ! Check the dimensions used.  The LoadComponents(I) flag will be set to .TRUE. if data was found in the file
              DO I=1,6
                 IF ( p%NewmanAppDims(I) .AND. ( .NOT. NewmanAppData%Data4D%LoadComponents(I) ) ) &
                    CALL SetErrStat( ErrID_Warn, ' '//TRIM(NewmanAppData%Filename)//' does not contain information for the '// &
                          TRIM(Num2LStr(I))//' force component for the NewmanApp method.  Setting this component to zero.',    &
                          ErrStat,ErrMsg,'WAMIT2_Init')
              ENDDO
           ELSE
              CALL SetErrStat( ErrID_Fatal, ' Programming error.  NewmanApp flag is set, but no data has been read in.',ErrStat,ErrMsg, 'WAMIT2_Init')
  