anchor.diff:     INTEGER(IntKi)                            :: L              !< Generic counter
      INTEGER(IntKi)                            :: ErrStatTmp     !< Temporary error status for calls
      CHARACTER(2048)                           :: ErrMsgTmp      !< Temporary error message for calls
  +   CHARACTER(*), PARAMETER                   :: RoutineName = 'Copy_InitData4Dto3D'
   
   
         ! Initialize the error handling
  
positive.code:    IF (ALLOCATED(Data3D%WvDir1))    ErrStatTmp = ErrID_Fatal
     IF (ALLOCATED(Data3D%WvDir2))    ErrStatTmp = ErrID_Fatal
     IF ( ErrStatTmp >= ErrID_Fatal ) THEN
        CALL SetErrStat( ErrID_Fatal, ' Attempted to copy 4D data into a populated 3D dataset.', ErrStat, ErrMsg,'Copy_InitData4Dto3D')
     ENDIF
  
  
  
negative.code:    Data3D%WvFreq1    = Data4D%WvFreq1
     Data3D%WvDir1     = Data4D%WvDir1
     Data3D%WvDir2     = Data4D%WvDir2
     Data3D%LoadComponents   =  Data4D%LoadComponents
  
     DO I=1,Data3D%NumWvFreq1
        Data3D%DataSet(I,:,:,:)    = Data4D%DataSet(I,I,:,:,:)
  