anchor.diff:     ErrStat = ErrID_None
      ErrMsg = ''
   
  -      ! Display the copyright notice
  -   CALL DispCopyrightLicense( FAST_Ver )
  -
  -
  -      ! Tell our users what they're running
  -   CALL WrScr( ' Running '//GetVersion()//NewLine//' linked with '//TRIM( GetNVD( NWTC_Ver ))//NewLine )
  -
  +   
      !...............................................................................................................................
  -   ! Get the name of the input file from the command line if it isn't an input to this routine
  -   ! and set the root name of the output files based on the input file name
  +   ! Set the root name of the output files based on the input file name
      !...............................................................................................................................
  -
  -   p%UseDWM = .FALSE.  ! by default, we're not going to use the DWM module
  -   
  -   IF ( PRESENT(InFile) ) THEN
  -      InputFile = InFile
  -      p%UseDWM  = .FALSE.
  -   ELSE ! get it from the command line
  -      InputFile = ""  ! initialize to empty string to make sure it's input from the command line
  -      CALL CheckArgs( InputFile, ErrStat2, LastArg )  ! if ErrStat2 /= ErrID_None, we'll ignore and deal with the problem when we try to read the input file
  -      
  -      IF (LEN_TRIM(InputFile) == 0) THEN ! no input file was specified
  -         CALL SetErrStat( ErrID_Fatal, 'The required input file was not specified on the command line.', ErrStat, ErrMsg, RoutineName )
  -
  -            !bjj:  if people have compiled themselves, they should be able to figure out the file name, right?         
  -         IF (BITS_IN_ADDR==32) THEN
  -            CALL NWTC_DisplaySyntax( InputFile, 'FAST_Win32.exe' )
  -         ELSEIF( BITS_IN_ADDR == 64) THEN
  -            CALL NWTC_DisplaySyntax( InputFile, 'FAST_x64.exe' )
  -         ELSE
  -            CALL NWTC_DisplaySyntax( InputFile, 'FAST.exe' )
  -         END IF
  -         
  -         RETURN
  -      END IF            
  -      
  -      IF (LEN_TRIM(LastArg) > 0) THEN ! see if DWM was specified as the second option
  -         CALL Conv2UC( LastArg )
  -         IF ( TRIM(LastArg) == "DWM" ) THEN
  -            p%UseDWM    = .TRUE.
  -         END IF
  -      END IF
  -            
  -   END IF
  -      
  -
  +         
         ! Determine the root name of the primary file (will be used for output files)
      CALL GetRoot( InputFile, p%OutFileRoot )
      IF ( Cmpl4SFun )  p%OutFileRoot = TRIM( p%OutFileRoot )//'.SFunc'
  
positive.code:    !......................................................
     ! Set the description lines to be printed in the output file
     !......................................................
     y_FAST%FileDescLines(1)  = 'Predictions were generated on '//CurDate()//' at '//CurTime()//' using '//TRIM(GetVersion())
     y_FAST%FileDescLines(2)  = 'linked with ' //' '//TRIM(GetNVD(NWTC_Ver            ))  ! we'll get the rest of the linked modules in the section below
     y_FAST%FileDescLines(3)  = 'Description from the FAST input file: '//TRIM(p_FAST%FTitle)
     
  
negative.code:    m_FAST%NextJacCalcTime = m_FAST%t_global                             ! We want to calculate the Jacobian on the first step
     
     
        ! Init NWTC_Library, display copyright and version information:
     CALL FAST_ProgStart( FAST_Ver )
     !call DispNVD( FAST_Ver )
  
     
     IF (PRESENT(InFile)) THEN
        p_FAST%UseDWM = .FALSE.
        InputFile = InFile
     ELSE
        CALL GetInputFileName(InputFile,p_FAST%UseDWM,ErrStat2,ErrMsg2)            
           CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
           IF (ErrStat >= AbortErrLev) THEN
              CALL Cleanup()
              RETURN
           END IF
     END IF
     
     ! ... Open and read input files ...
     ! also, set turbine reference position for graphics output
     if (PRESENT(ExternInitData)) then
        p_FAST%TurbinePos = ExternInitData%TurbinePos
        CALL FAST_Init( p_FAST, y_FAST, t_initial, InputFile, ErrStat2, ErrMsg2, ExternInitData%TMax, ExternInitData%TurbineID )  ! We have the name of the input file and the simulation length from somewhere else (e.g. Simulink)         
     else
        p_FAST%TurbinePos = 0.0_ReKi
        CALL FAST_Init( p_FAST, y_FAST, t_initial, InputFile, ErrStat2, ErrMsg2 )                       ! We have the name of the input file from somewhere else (e.g. Simulink)
     end if
           
     CALL SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
     IF (ErrStat >= AbortErrLev) THEN
        CALL Cleanup()
  