anchor.diff:     !..........
      
      IF ( p_FAST%CompElast == Module_BD ) THEN ! see routine U_ED_SD_HD_BD_Orca_Residual() in SolveOption1
  -
  -         ED_Start_mt = y_FAST%Lin%Modules(MODULE_ED)%Instance(1)%LinStartIndx(LIN_INPUT_COL)
  -         ! u_ED%BladePtLoads(i)%NNodes = 0 here
  -         ED_Start_mt = ED_Start_mt + u_ED%PlatformPtMesh%NNodes * 6      &      ! 3 forces + 3 moments at each node
  -                                   + u_ED%TowerPtLoads%NNodes   * 6      &      ! 3 forces + 3 moments at each node
  -                                   + u_ED%HubPtLoad%NNodes      * 3             ! 3 forces at the hub (so we start at the moments)
  +         ED_Start_mt = Indx_u_ED_Hub_Start(u_ED, y_FAST) &
  +                       + u_ED%HubPtLoad%NNodes      * 3             ! 3 forces at the hub (so we start at the moments)
      
            ! Transfer BD loads to ED hub input:
            ! we're mapping loads, so we also need the sibling meshes' displacements:
  
positive.code:          ! ED inputs on blade from AeroDyn
        IF (p_FAST%CompElast == Module_ED) THEN
           
              ! blades:
           AD_Start_Bl = y_FAST%Lin%Modules(MODULE_AD)%Instance(1)%LinStartIndx(LIN_INPUT_COL) &
                       + u_AD%TowerMotion%NNodes * 9  & ! 3 fields (MASKID_TRANSLATIONDISP,MASKID_Orientation,MASKID_TRANSLATIONVel) with 3 components
                       + u_AD%HubMotion%NNodes   * 9    ! 3 fields (MASKID_TRANSLATIONDISP,MASKID_Orientation,MASKID_RotationVel) with 3 components
     
           do k = 1,size(u_AD%BladeRootMotion)         
              AD_Start_Bl = AD_Start_Bl + u_AD%BladeRootMotion(k)%NNodes * 3 ! 1 field (MASKID_Orientation) with 3 components
           end do
           ! next is u_AD%BladeMotion(k); note that it has 3 fields and we only need 1
        
           ED_Start_mt = y_FAST%Lin%Modules(MODULE_ED)%Instance(1)%LinStartIndx(LIN_INPUT_COL)
           DO K = 1,SIZE(u_ED%BladePtLoads,1) ! Loop through all blades (p_ED%NumBl)
              ED_Start_mt = ED_Start_mt + u_ED%BladePtLoads(k)%NNodes*3 ! skip the forces on this blade
              
              CALL Linearize_Line2_to_Point( y_AD%BladeLoad(k), u_ED%BladePtLoads(k), MeshMapData%AD_L_2_BDED_B(k), ErrStat2, ErrMsg2, u_AD%BladeMotion(k), y_ED%BladeLn2Mesh(k) )
                 CALL SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName)
  
negative.code:             ! we're just going to assume u_ED%PlatformPtMesh is committed
                 
           if ( HD%y%AllHdroOrigin%Committed  ) then ! meshes for floating
              ED_Start_mt = Indx_u_ED_Platform_Start(u_ED, y_FAST) &
                            + u_ED%PlatformPtMesh%NNodes * 3         ! 3 forces at each node (we're going to start at the moments)
              
                 ! Transfer HD load outputs to ED PlatformPtMesh input:
                 ! we're mapping loads, so we also need the sibling meshes' displacements:
              HD_Start = Indx_u_HD_PlatformRef_Start(HD%Input(1), y_FAST)
              
              call Linearize_Point_to_Point( HD%y%AllHdroOrigin, u_ED%PlatformPtMesh, MeshMapData%HD_W_P_2_ED_P, ErrStat2, ErrMsg2, HD%Input(1)%Mesh, y_ED%PlatformPtMesh) !HD%Input(1)%Mesh and y_ED%PlatformPtMesh contain the displaced positions for load calculations
                 call SetErrStat(ErrStat2,ErrMsg2, ErrStat, ErrMsg, RoutineName)
  