anchor.diff:  !----------------------------------------------------------------------------------------------------------------------------------
   !> This routine forms the dU^{HD}/dy^{ED} block of dUdy. (i.e., how do changes in the ED outputs affect 
   !! the HD inputs?)
  -SUBROUTINE Linear_HD_InputSolve_dy( p_FAST, y_FAST, u_HD, y_ED, MeshMapData, dUdy, ErrStat, ErrMsg )
  +SUBROUTINE Linear_HD_InputSolve_dy( p_FAST, y_FAST, u_HD, y_ED, y_SD, MeshMapData, dUdy, ErrStat, ErrMsg )
   
         ! Passed variables
      TYPE(FAST_ParameterType),    INTENT(IN   )   :: p_FAST      !< FAST parameter data    
      TYPE(FAST_OutputFileType),   INTENT(IN   )   :: y_FAST      !< FAST output file data (for linearization)
      TYPE(HydroDyn_InputType),    INTENT(INOUT)   :: u_HD        !< The inputs to HydroDyn
  -   TYPE(ED_OutputType),         INTENT(IN)      :: y_ED        !< The outputs from the structural dynamics module
  +   TYPE(ED_OutputType),         INTENT(IN)      :: y_ED        !< The outputs from the ElastoDyn structural dynamics module
  +   TYPE(SD_OutputType),         INTENT(IN)      :: y_SD        !< The outputs from the SubDyn structural dynamics module
      TYPE(FAST_ModuleMapType),    INTENT(INOUT)   :: MeshMapData !< Data for mapping between modules
      REAL(R8Ki),                  INTENT(INOUT)   :: dUdy(:,:)   !< Jacobian matrix of which we are computing the dU^{HD}/dy^{ED} block
      
  
positive.code:       end if
     END IF
              
              
     !!!! SubDyn: copy final predictions to actual states
     !!!IF ( p_FAST%CompSub == Module_SD ) THEN
     !!!ELSE IF ( p_FAST%CompSub == Module_ExtPtfm ) THEN
  
negative.code:    TYPE(AD_InputType),             INTENT(INOUT)  :: u_AD           !< AD inputs (for AD-ED load linerization)
     TYPE(BeamDyn_Data),             INTENT(INOUT)  :: BD             !< BD data at t
     TYPE(HydroDyn_Data),            INTENT(INOUT)  :: HD             !< HD data at t
     TYPE(SubDyn_Data),              INTENT(INOUT)  :: SD             !< SD data at t
     TYPE(MAP_Data),                 INTENT(INOUT)  :: MAPp           !< MAP data at t
     TYPE(FAST_ModuleMapType),       INTENT(INOUT)  :: MeshMapData    !< Data for mapping between modules
     REAL(R8Ki),                     INTENT(INOUT)  :: dUdu(:,:)      !< Jacobian matrix of which we are computing the dU^(ED)/du^(AD) block
  