anchor.diff:  REAL(DbKi),         ALLOCATABLE       :: ED_InputTimes(:)                        ! Array of times associated with ED_Input
   TYPE(ED_OutputType),ALLOCATABLE       :: ED_Output(:)                            ! Array of outputs associated with ED_OutputTimes = ED_InputTimes
   
  -TYPE(MeshType)                        :: u_ED_Without_SD_HD                      ! For the ED coupling to SD, we save the inputs on the PlatformPtMesh that aren't contributed by SubDyn or HydroDyn
  -
      ! Data for the ServoDyn module:
   TYPE(SrvD_InitInputType)              :: InitInData_SrvD                         ! Initialization input data
   TYPE(SrvD_InitOutputType)             :: InitOutData_SrvD                        ! Initialization output data
  
positive.code:       ELSE         
           calcJacobian = .FALSE.
        END IF
        
        !IF ( p_FAST%CompHydro == Module_HD ) THEN
        !
        !   IF ( p_FAST%CompSub /= Module_SD ) THEN
        !   
        !      CALL ED_HD_InputOutputSolve(  this_time, p_FAST, calcJacobian &
        !                                    , ED_Input(1), p_ED, x_ED_this, xd_ED_this, z_ED_this, OtherSt_ED, ED_Output(1) &
        !                                    , HD_Input(1), p_HD, x_HD_this, xd_HD_this, z_HD_this, OtherSt_HD, y_HD & 
        !                                    , u_ED_Without_SD_HD, MeshMapData , ErrStat, ErrMsg )         
        !         CALL CheckError( ErrStat, ErrMsg  )
        !      
        !   ELSE ! Both enabled
        !      
        !      CALL ED_SD_HD_InputOutputSolve(  this_time, p_FAST, calcJacobian &
        !                                    , ED_Input(1), p_ED, x_ED_this, xd_ED_this, z_ED_this, OtherSt_ED, ED_Output(1) &
        !                                    , SD_Input(1), p_SD, x_SD_this, xd_SD_this, z_SD_this, OtherSt_SD, y_SD & 
        !                                    , HD_Input(1), p_HD, x_HD_this, xd_HD_this, z_HD_this, OtherSt_HD, y_HD & 
        !                                    , u_ED_Without_SD_HD, MeshMapData , ErrStat, ErrMsg )         
        !         CALL CheckError( ErrStat, ErrMsg  )
        !      
        !      
        !   END IF      
        !   
        !ELSEIF ( p_FAST%CompSub == Module_SD ) THEN
        !   
        !   CALL ED_SD_InputOutputSolve(  this_time, p_FAST, calcJacobian &
        !                              , ED_Input(1), p_ED, x_ED_this, xd_ED_this, z_ED_this, OtherSt_ED, ED_Output(1) &
        !                              , SD_Input(1), p_SD, x_SD_this, xd_SD_this, z_SD_this, OtherSt_SD, y_SD & 
        !                              , u_ED_Without_SD_HD, MeshMapData , ErrStat, ErrMsg )         
        !      CALL CheckError( ErrStat, ErrMsg  )
        !
        !ELSE ! no HD or SD coupled to ED
           
           CALL ED_CalcOutput( this_time, ED_Input(1), p_ED, x_ED_this, xd_ED_this, z_ED_this, OtherSt_ED, ED_Output(1), ErrStat, ErrMsg )
              CALL CheckError( ErrStat, 'Message from ED_CalcOutput: '//NewLine//ErrMsg  )    
              
        !END IF
                    
           
        !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  
negative.code:          CALL ED_SD_InputOutputSolve(  this_time, p_FAST, calcJacobian &
                                      , ED_Input(1), p_ED, x_ED_this, xd_ED_this, z_ED_this, OtherSt_ED, ED_Output(1) &
                                      , SD_Input(1), p_SD, x_SD_this, xd_SD_this, z_SD_this, OtherSt_SD, y_SD & 
                                      , MeshMapData , ErrStat, ErrMsg )         
              CALL CheckError( ErrStat, ErrMsg  )
                    
        END IF ! HD and/or SD coupled to ElastoDyn
  