anchor.diff:     
         ! none for AeroDyn14 
      
  -   DO i=1,y_FAST%numOuts(Module_AD) !AeroDyn
  -      y_FAST%ChannelNames(indxNext) = InitOutData_AD%WriteOutputHdr(i)
  -      y_FAST%ChannelUnits(indxNext) = InitOutData_AD%WriteOutputUnt(i)
  -      indxNext = indxNext + 1
  -   END DO   
  -   
  -   DO i=1,y_FAST%numOuts(Module_SrvD) !ServoDyn
  -      y_FAST%ChannelNames(indxNext) = InitOutData_SrvD%WriteOutputHdr(i)
  -      y_FAST%ChannelUnits(indxNext) = InitOutData_SrvD%WriteOutputUnt(i)
  -      indxNext = indxNext + 1
  -   END DO   
  -
  -   DO i=1,y_FAST%numOuts(Module_HD) !HydroDyn
  -      y_FAST%ChannelNames(indxNext) = InitOutData_HD%WriteOutputHdr(i)
  -      y_FAST%ChannelUnits(indxNext) = InitOutData_HD%WriteOutputUnt(i)
  -      indxNext = indxNext + 1
  -   END DO      
  -
  -   DO i=1,y_FAST%numOuts(Module_SD) !SubDyn
  -      y_FAST%ChannelNames(indxNext) = InitOutData_SD%WriteOutputHdr(i)
  -      y_FAST%ChannelUnits(indxNext) = InitOutData_SD%WriteOutputUnt(i)
  -      indxNext = indxNext + 1
  -   END DO      
  -   
  -   DO i=1,y_FAST%numOuts(Module_MAP) !MAP
  -      y_FAST%ChannelNames(indxNext) = InitOutData_MAP%WriteOutputHdr(i)
  -      y_FAST%ChannelUnits(indxNext) = InitOutData_MAP%WriteOutputUnt(i)
  -      indxNext = indxNext + 1
  -   END DO      
  -   
  -   DO i=1,y_FAST%numOuts(Module_MD) !MoorDyn
  -      y_FAST%ChannelNames(indxNext) = InitOutData_MD%WriteOutputHdr(i)
  -      y_FAST%ChannelUnits(indxNext) = InitOutData_MD%WriteOutputUnt(i)
  -      indxNext = indxNext + 1
  -   END DO      
  -
  -   DO i=1,y_FAST%numOuts(Module_FEAM) !FEAMooring
  -      y_FAST%ChannelNames(indxNext) = InitOutData_FEAM%WriteOutputHdr(i)
  -      y_FAST%ChannelUnits(indxNext) = InitOutData_FEAM%WriteOutputUnt(i)
  -      indxNext = indxNext + 1
  -   END DO      
  -
  -   DO i=1,y_FAST%numOuts(Module_Orca) !OrcaFlex
  -      y_FAST%ChannelNames(indxNext) = InitOutData_Orca%WriteOutputHdr(i)
  -      y_FAST%ChannelUnits(indxNext) = InitOutData_Orca%WriteOutputUnt(i)
  -      indxNext = indxNext + 1
  -   END DO         
  -   
  -   DO i=1,y_FAST%numOuts(Module_IceF) !IceFloe
  -      y_FAST%ChannelNames(indxNext) = InitOutData_IceF%WriteOutputHdr(i)
  -      y_FAST%ChannelUnits(indxNext) = InitOutData_IceF%WriteOutputUnt(i)
  -      indxNext = indxNext + 1
  -   END DO         
  -   
  -   IF ( y_FAST%numOuts(Module_IceD) > 0_IntKi ) THEN !IceDyn
  +   IF ( y_FAST%numOuts(Module_AD) > 0_IntKi ) THEN !AeroDyn
  +      indxLast = indxNext + y_FAST%numOuts(Module_AD) - 1
  +      y_FAST%ChannelNames(indxNext:indxLast) = InitOutData_AD%WriteOutputHdr
  +      y_FAST%ChannelUnits(indxNext:indxLast) = InitOutData_AD%WriteOutputUnt
  +      indxNext = indxLast + 1
  +   END IF
  +
  +   
  +   IF ( y_FAST%numOuts(Module_SrvD) > 0_IntKi ) THEN !ServoDyn
  +      indxLast = indxNext + y_FAST%numOuts(Module_SrvD) - 1
  +      y_FAST%ChannelNames(indxNext:indxLast) = InitOutData_SrvD%WriteOutputHdr
  +      y_FAST%ChannelUnits(indxNext:indxLast) = InitOutData_SrvD%WriteOutputUnt
  +      indxNext = indxLast + 1
  +   END IF
  +
  +   IF ( y_FAST%numOuts(Module_HD) > 0_IntKi ) THEN !HydroDyn
  +      indxLast = indxNext + y_FAST%numOuts(Module_HD) - 1
  +      y_FAST%ChannelNames(indxNext:indxLast) = InitOutData_HD%WriteOutputHdr
  +      y_FAST%ChannelUnits(indxNext:indxLast) = InitOutData_HD%WriteOutputUnt
  +      indxNext = indxLast + 1
  +   END IF
  +
  +   
  +   IF ( y_FAST%numOuts(Module_SD) > 0_IntKi ) THEN !SubDyn
  +      indxLast = indxNext + y_FAST%numOuts(Module_SD) - 1
  +      y_FAST%ChannelNames(indxNext:indxLast) = InitOutData_SD%WriteOutputHdr
  +      y_FAST%ChannelUnits(indxNext:indxLast) = InitOutData_SD%WriteOutputUnt
  +      indxNext = indxLast + 1
  +   ELSEIF ( y_FAST%numOuts(Module_ExtPtfm) > 0_IntKi ) THEN !ExtPtfm_MCKF
  +      indxLast = indxNext + y_FAST%numOuts(Module_ExtPtfm) - 1
  +      y_FAST%ChannelNames(indxNext:indxLast) = InitOutData_ExtPtfm%WriteOutputHdr
  +      y_FAST%ChannelUnits(indxNext:indxLast) = InitOutData_ExtPtfm%WriteOutputUnt
  +      indxNext = indxLast + 1
  +   END IF
  +
  +   
  +   IF ( y_FAST%numOuts(Module_MAP) > 0_IntKi ) THEN !MAP
  +      indxLast = indxNext + y_FAST%numOuts(Module_MAP) - 1
  +      y_FAST%ChannelNames(indxNext:indxLast) = InitOutData_MAP%WriteOutputHdr
  +      y_FAST%ChannelUnits(indxNext:indxLast) = InitOutData_MAP%WriteOutputUnt
  +      indxNext = indxLast + 1
  +   ELSEIF ( y_FAST%numOuts(Module_MD) > 0_IntKi ) THEN !MoorDyn
  +      indxLast = indxNext + y_FAST%numOuts(Module_MD) - 1
  +      y_FAST%ChannelNames(indxNext:indxLast) = InitOutData_MD%WriteOutputHdr
  +      y_FAST%ChannelUnits(indxNext:indxLast) = InitOutData_MD%WriteOutputUnt
  +      indxNext = indxLast + 1
  +   ELSEIF ( y_FAST%numOuts(Module_FEAM) > 0_IntKi ) THEN !FEAMooring
  +      indxLast = indxNext + y_FAST%numOuts(Module_FEAM) - 1
  +      y_FAST%ChannelNames(indxNext:indxLast) = InitOutData_FEAM%WriteOutputHdr
  +      y_FAST%ChannelUnits(indxNext:indxLast) = InitOutData_FEAM%WriteOutputUnt
  +      indxNext = indxLast + 1
  +   ELSEIF ( y_FAST%numOuts(Module_Orca) > 0_IntKi ) THEN !OrcaFlex
  +      indxLast = indxNext + y_FAST%numOuts(Module_Orca) - 1
  +      y_FAST%ChannelNames(indxNext:indxLast) = InitOutData_Orca%WriteOutputHdr
  +      y_FAST%ChannelUnits(indxNext:indxLast) = InitOutData_Orca%WriteOutputUnt
  +      indxNext = indxLast + 1
  +   END IF
  +   
  +   
  +   IF ( y_FAST%numOuts(Module_IceF) > 0_IntKi ) THEN !IceFloe
  +      indxLast = indxNext + y_FAST%numOuts(Module_IceF) - 1
  +      y_FAST%ChannelNames(indxNext:indxLast) = InitOutData_IceF%WriteOutputHdr
  +      y_FAST%ChannelUnits(indxNext:indxLast) = InitOutData_IceF%WriteOutputUnt
  +      indxNext = indxLast + 1
  +   ELSEIF ( y_FAST%numOuts(Module_IceD) > 0_IntKi ) THEN !IceDyn
         DO I=1,p_FAST%numIceLegs         
            DO J=1,SIZE(InitOutData_IceD%WriteOutputHdr) 
               y_FAST%ChannelNames(indxNext) =TRIM(InitOutData_IceD%WriteOutputHdr(J))//'L'//TRIM(Num2Lstr(I))  !bjj: do we want this "Lx" at the end?
  
positive.code:    RETURN
  END FUNCTION GetVersion
  !----------------------------------------------------------------------------------------------------------------------------------
  !> This subroutine checks for command-line arguments, gets the root name of the input files
  !! (including full path name), and creates the names of the output files.
  SUBROUTINE FAST_Init( p, y_FAST, t_initial, ErrStat, ErrMsg, InFile, TMax, TurbID  )
  
        IMPLICIT                        NONE
  
  
negative.code:       ! lidar        
        InitInData_IfW%lidar%Tmax                   = p_FAST%TMax
        InitInData_IfW%lidar%HubPosition            = ED%Output(1)%HubPtMotion%Position(:,1) 
        IF ( PRESENT(ExternInitData) ) THEN
           InitInData_IfW%Use4Dext = ExternInitData%FarmIntegration
  
           if (InitInData_IfW%Use4Dext) then
              InitInData_IfW%FDext%n      = ExternInitData%windGrid_n
              InitInData_IfW%FDext%delta  = ExternInitData%windGrid_delta
              InitInData_IfW%FDext%pZero  = ExternInitData%windGrid_pZero
           end if
           
           ! bjj: these lidar inputs should come from an InflowWind input file; I'm hard coding them here for now
           InitInData_IfW%lidar%SensorType          = ExternInitData%SensorType   
           InitInData_IfW%lidar%LidRadialVel        = ExternInitData%LidRadialVel   
           InitInData_IfW%lidar%RotorApexOffsetPos  = 0.0         
           InitInData_IfW%lidar%NumPulseGate        = 0
        ELSE
           InitInData_IfW%lidar%SensorType          = SensorType_None
           InitInData_IfW%Use4Dext                  = .false.
        END IF
                                       
        CALL InflowWind_Init( InitInData_IfW, IfW%Input(1), IfW%p, IfW%x(STATE_CURR), IfW%xd(STATE_CURR), IfW%z(STATE_CURR),  &
  