anchor.diff:     REAL(DbKi),               INTENT(IN)            :: t_initial         !< the beginning time of the simulation
      INTEGER(IntKi),           INTENT(OUT)           :: ErrStat           !< Error status
      CHARACTER(*),             INTENT(OUT)           :: ErrMsg            !< Error message
  -   CHARACTER(*),             INTENT(IN), OPTIONAL  :: InFile            !< A CHARACTER string containing the name of the primary FAST input file (if not present, we'll get it from the command line)
  +   CHARACTER(*),             INTENT(IN)            :: InputFile         !< A CHARACTER string containing the name of the primary FAST input file (if not present, we'll get it from the command line)
      REAL(DbKi),               INTENT(IN), OPTIONAL  :: TMax              !< the length of the simulation (from Simulink)
      INTEGER(IntKi),           INTENT(IN), OPTIONAL  :: TurbID            !< an ID for naming the tubine output file
         ! Local variables
   
      INTEGER                      :: i                                    ! loop counter
      !CHARACTER(1024)              :: DirName                              ! A CHARACTER string containing the path of the current working directory
  -   CHARACTER(1024)              :: LastArg                              ! A second command-line argument that will allow DWM module to be used in AeroDyn
  -   CHARACTER(1024)              :: InputFile                            ! A CHARACTER string containing the name of the primary FAST input file
   
   
      CHARACTER(*), PARAMETER      :: RoutineName = "FAST_Init"
  
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:    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()
  