anchor.diff:  END SUBROUTINE SDOut_MapOutputs
   
   !====================================================================================================
  -   SUBROUTINE CALC_NODE_FORCES(DIRCOS,Me,Ke,Udotdot,Y2 ,Fg, K2,FM_nod,FK_nod)
  -   !This function calculates for the given element the static and dynamic forces, given K and M of the element, and 
  -   !output quantities Udotdot and Y2 containing the 
  -   !and K2 indicating wheter the 1st (1) or 2nd (2) node is to be picked
  +!> Calculates static and dynamic forces for a given element, using K and M of the element, and 
  +!output quantities Udotdot and Y2 containing the 
  +!and K2 indicating wheter the 1st (1) or 2nd (2) node is to be picked
   !----------------------------------------------------------------------------------------------------
  -        Real(ReKi), DIMENSION (3,3),   INTENT(IN)  :: DIRCOS    !direction cosice matrix (global to local) (3x3)
  -        Real(ReKi), DIMENSION (12,12), INTENT(IN)  :: Me,Ke    !element M and K matrices (12x12) in GLOBAL REFERENCE (DIRCOS^T K DIRCOS)
  -        Real(ReKi), DIMENSION (12),    INTENT(IN)  :: Udotdot, Y2, Fg     !acceleration and velocities, gravity forces
  -        Integer(IntKi),                INTENT(IN)  :: K2   !1 or 2 depending on node of interest
  -        REAL(ReKi), DIMENSION (6),    INTENT(OUT)  :: FM_nod, FK_nod  !output static and dynamic forces and moments
  -        !Locals
  -        INTEGER(IntKi) :: L !counter
  -        REAL(DbKi), DIMENSION(12)                    :: FM_glb, FF_glb, FM_elm, FF_elm  ! temporary storage 
  -           
  -        FM_glb = matmul(Me,Udotdot)   ! GLOBAL REFERENCE
  -        FF_glb = matmul(Ke,Y2)        ! GLOBAL REFERENCE
  -        FF_glb = FF_glb - Fg          ! GLOBAL REFERENCE
  -        DO L=1,4 ! Transforming coordinates 3 at a time
  -            FM_elm((L-1)*3+1:L*3) =  matmul(DIRCOS, FM_glb( (L-1)*3+1:L*3 ) )
  -            FF_elm((L-1)*3+1:L*3) =  matmul(DIRCOS, FF_glb( (L-1)*3+1:L*3 ) ) 
  -        ENDDO
  -        FM_nod=FM_elm(6*(k2-1)+1:k2*6) ! k2=1, 1:6,  k2=2  7:12 
  -        FK_nod=FF_elm(6*(k2-1)+1:k2*6) 
  -   
  -   END SUBROUTINE CALC_NODE_FORCES 
  +SUBROUTINE CALC_NODE_FORCES(DIRCOS,Me,Ke,Udotdot,Y2 ,Fg, K2,FM_nod,FK_nod)
  +   Real(ReKi), DIMENSION (3,3),   INTENT(IN)  :: DIRCOS    !direction cosice matrix (global to local) (3x3)
  +   Real(ReKi), DIMENSION (12,12), INTENT(IN)  :: Me,Ke    !element M and K matrices (12x12) in GLOBAL REFERENCE (DIRCOS^T K DIRCOS)
  +   Real(ReKi), DIMENSION (12),    INTENT(IN)  :: Udotdot, Y2, Fg     !acceleration and velocities, gravity forces
  +   Integer(IntKi),                INTENT(IN)  :: K2   !1 or 2 depending on node of interest
  +   REAL(ReKi), DIMENSION (6),    INTENT(OUT)  :: FM_nod, FK_nod  !output static and dynamic forces and moments
  +   !Locals
  +   INTEGER(IntKi) :: L !counter
  +   REAL(DbKi), DIMENSION(12)                    :: FM_glb, FF_glb, FM_elm, FF_elm  ! temporary storage 
  +
  +   FM_glb = matmul(Me,Udotdot)   ! GLOBAL REFERENCE
  +   FF_glb = matmul(Ke,Y2)        ! GLOBAL REFERENCE
  +   FF_glb = FF_glb - Fg          ! GLOBAL REFERENCE
  +   DO L=1,4 ! Transforming coordinates 3 at a time
  +      FM_elm((L-1)*3+1:L*3) =  matmul(DIRCOS, FM_glb( (L-1)*3+1:L*3 ) )
  +      FF_elm((L-1)*3+1:L*3) =  matmul(DIRCOS, FF_glb( (L-1)*3+1:L*3 ) ) 
  +   ENDDO
  +   FM_nod=FM_elm(6*(k2-1)+1:k2*6) ! k2=1, 1:6,  k2=2  7:12 
  +   FK_nod=FF_elm(6*(k2-1)+1:k2*6) 
  +
  +END SUBROUTINE CALC_NODE_FORCES 
   
   !====================================================================================================
   SUBROUTINE SDOut_CloseSum( UnSum, ErrStat, ErrMsg )
  
positive.code:          ENDDO
        ENDDO
        !Store the matrix that will let me calculate single point reaction at the base of structure
        CALL ReactMatx(Init, p, WtrDpth, ErrStat, ErrMsg)
     ENDIF
   
     ! These variables are to help follow the framework template, but the data in them is simply a copy of data
  
negative.code:    
     !Create a variable that lists Y2 and adds removed constrained nodes' dofs; we will be using it to carry out other calculations with a special indexing array
     yout =0 !Initialize and populate with Y2 data  
     yout(1:         p%UrbarL        ) = m%UR_bar ! TODO TODO TODO Look at U_full/U_red
     yout(p%URbarL+1:p%URbarL+p%nDOFL) = m%UL
    
     !Same for a variable that deals with Udotdot
     uddout =0 !Initialize and populate with Udotdot data
     uddout(1          : p%URbarL          ) = m%UR_bar_dotdot ! TODO TODO TODO look at U_full_dotdot U_red_dotdot
     uddout(p%URbarL+1 : p%URbarL+p%nDOFL  ) = m%UL_dotdot
  
     ! TODO TODO TODO, there is a lot of similarity between the three outputs sections with some code redundency
  