Instructions for Compiling FAST

FAST v8 is significantly different from FAST v7, so the compiling instructions for FAST v7 do not exactly apply (the basic idea is there, but there are significant changes–particularly to the Visual Studio project). I did write a little about compiling at the end of the Guide to Changes in FAST v8, and I’d recommend you read that. I will eventually write some new compiling instructions for v8.

FAST v8’s archive contains all the source files you need to compile it, so you shouldn’t have to change much (if anything) to get it to compile with Intel Fortran for Windows.

Hello
I am a beginner for FAST code.
I’m using:

  1. Adams 2008 32-bits
  2. Intel Visual Fortran 2011
  3. Microsoft Visual Studio 2008
  4. Fast 7.0200d、NWTC_Lib_v1.07.00、AD_v13.00.02a、InflowWind v1.01.00b、A2AD_v13.0100b

I’m triying to create adams2008.dll with de CompileLinkA2AD.bat, my script is:

[code]@ECHO OFF

REM ----------------------------------------------------------------------------
REM set compiler internal variables
REM ----------------------------------------------------------------------------
REM You can run this bat file from the IVF compiler’s command prompt (and not
REM do anything in this section). If you choose not to run from the IVF command
REM prompt, you must call the compiler’s script to set internal variables.
REM TIP: Right click on the IVF Compiler’s Command Prompt shortcut, click
REM properties, and copy the target (without cmd.exe and/or its switches) here:
REM …
REM See this forum topic for instructions and help with setting the compiler
REM internal variables in this script:
REM Instructions for Compiling FAST
REM …

IF “%INTEL_SHARED%”==“” CALL “C:\Program Files (x86)\Intel\ComposerXE-2011\bin\ipsxe-comp-vars.bat” ia32 vs2008

REM ----------------------------------------------------------------------------
REM -------------------- LOCAL VARIABLES ---------------------------------------
REM ----------------------------------------------------------------------------

SET ROOT_NAME=ADAMS

REM ----------------------------------------------------------------------------
REM -------------------- LOCAL PATHS ------------------------------------------
REM ----------------------------------------------------------------------------
REM USERS WILL NEED TO EDIT THESE PATHS TO POINT TO FOLDERS ON THEIR LOCAL MACHINES:
REM A2AD_Loc is the location of the ADAMS-to-AeroDyn source files.
REM AeroDyn_Loc is the location of the AeroDyn source files.
REM Wind_Loc is the location of the InflowWind souce files.
REM FAST_LOC is the location of the FAST source files: FFTMod.f90, HydroCalc.f90, fftpack.f, UserSubs.f90, and possibly PitchCntrl_ACH.f90, UserVSCont_KP.f90, and/or BladedDLLInterface.f90.
REM NWTC_Lib_Loc is the location of the NWTC subroutine library files.
REM ----------------------------------------------------------------------------

REM NOTE: DO NOT USE QUOTATION MARKS HERE (AROUND THE PATH NAMES)
REM OR THE FILE CONCATENATION BELOW WILL NOT WORK

SET NWTC_Lib_Loc=D:\CompileLinkA2AD\NWTC_Lib_v1.07.00
SET AeroDyn_Loc=D:\CompileLinkA2AD\AD_v13.00.02a
SET Wind_Loc=D:\CompileLinkA2AD\InflowWind v1.01.00b
SET FAST_Loc=D:\CompileLinkA2AD\FAST_v7.0200d
SET A2AD_Loc=D:\CompileLinkA2AD\A2AD_v13.0100b

REM ----------------------------------------------------------------------------
REM -------------------- LIST OF ALL SOURCE FILES ------------------------------
REM -------- please note that all source files must have a blank line ----------
REM -------- at the end so that they can be concatenated properly ----------
REM ----------------------------------------------------------------------------

SET NWTC_Files=
SET NWTC_Files=%NWTC_Files% “%NWTC_Lib_Loc%\SingPrec.f90”
SET NWTC_Files=%NWTC_Files% + “%A2AD_Loc%\SysIVF_ADAMS.f90”
SET NWTC_Files=%NWTC_Files% + “%NWTC_Lib_Loc%\NWTC_IO.f90”
SET NWTC_Files=%NWTC_Files% + “%NWTC_Lib_Loc%\NWTC_Num.f90”
SET NWTC_Files=%NWTC_Files% + “%NWTC_Lib_Loc%\NWTC_Aero.f90”
SET NWTC_Files=%NWTC_Files% + “%NWTC_Lib_Loc%\ModMesh.f90”
SET NWTC_Files=%NWTC_Files% + “%NWTC_Lib_Loc%\NWTC_Library.f90”

SET Wind_Files=
SET Wind_Files=%Wind_Files% “%Wind_Loc%\SharedInflowDefs.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\HHWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\FFWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\HAWCWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\FDWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\CTWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\UserWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\InflowWindMod.f90”

SET AeroDyn_Files=
SET AeroDyn_Files=%AeroDyn_Files% “%AeroDyn_Loc%\SharedTypes.f90”
SET AeroDyn_Files=%AeroDyn_Files% + “%AeroDyn_Loc%\AeroMods.f90”
SET AeroDyn_Files=%AeroDyn_Files% + “%AeroDyn_Loc%\GenSubs.f90”
SET AeroDyn_Files=%AeroDyn_Files% + “%AeroDyn_Loc%\AeroSubs.f90”
SET AeroDyn_Files=%AeroDyn_Files% + “%AeroDyn_Loc%\AeroDyn.f90”

SET Fixed_Files =
SET Fixed_Files=%Fixed_Files% “%FAST_Loc%\fftpack.f”

SET FAST_Files=
SET FAST_Files=%FAST_Files% “%FAST_Loc%\FFTMod.f90”
SET FAST_Files=%FAST_Files% + “%FAST_Loc%\HydroCalc.f90”
SET FAST_Files=%FAST_Files% + “%A2AD_Loc%\FAST_Params.f90”

IF /I “%1”==“DLL” GOTO dllFiles

SET FAST_Files=%FAST_Files% + “%FAST_Loc%\UserSubs.f90”
SET FAST_Files=%FAST_Files% + “%FAST_Loc%\UserVSCont_KP.f90”
SET FAST_Files=%FAST_Files% + “%FAST_Loc%\PitchCntrl_ACH.f90”

GOTO endFASTfiles

:dllFiles
SET FAST_Files=%FAST_Files% + “%FAST_LOC%\UserSubs_forBladedDLL.f90”
SET FAST_Files=%FAST_Files% + “%FAST_LOC%\UserVSCont_KP_forBladedDLL.f90”
SET FAST_Files=%FAST_Files% + “%FAST_LOC%\BladedDLLInterface.f90”

REM NOTE: UserSubs_forBladedDLL.f90 is a copy of UserSubs.f90 with SUBROUTINES UserHSSBr() and UserYawCont() commented out
REM UserVSCont_KP_forBladedDLL.f90 is a copy of UserVSCont_KP.f90 with SUBROUTINE UserVSCont() commented out

:endFASTfiles

SET A2AD_Files=
SET A2AD_Files=%A2AD_Files% “%A2AD_Loc%\A2AD_Mod.f90”
SET A2AD_Files=%A2AD_Files% + “%A2AD_Loc%\Adams_Subs.f90”

REM echo File list

REM ----------------------------------------------------------------------------
REM ----------- Concatenate them into one file for free-format -----------------
REM ----------- Fortran and one file for fixed-format Fortran -----------------
REM ----------------------------------------------------------------------------

COPY %NWTC_Files% + %Wind_Files% + %AeroDyn_Files% + %FAST_Files% + %A2AD_Files% %ROOT_NAME%.f90
COPY %Fixed_Files% %ROOT_NAME%.f

REM ----------------------------------------------------------------------------
REM ------- SET CREATE OBJECT FILE BASED ON SPECIFIED COMPILER -----------------
REM ----------------------------------------------------------------------------

REM ----------------------------------------------------------------------------
REM --------------------- INTEL VISUAL FORTRAN ---------------------------------
REM --------------------- with Adams 2008 ---------------------------------
REM ----------------------------------------------------------------------------

REM …
REM … set compiler options …
REM …
REM SET COPTS= /c /automatic /architecture:pn4 /Ob2 /MD /Gm /O1 /traceback /real_size:32 /assume:byterecl /stand:f95 /check:bounds
REM SET COPTS= /c /automatic /architecture:pn4 /Ob2 /MD /Gm /Ot /O3 /traceback /real_size:32 /assume:byterecl /stand:f95 /Qdiag-disable:5268

SET COPTS= /c /automatic /Ob2 /MD /Gm /traceback /Qzero /Qsave /real_size:32 /assume:byterecl /Qdiag-disable:5268

REM …
REM … compile …
REM …

ECHO.
ECHO Compiling ADAMS2AD and AeroDyn routines to create ADAMS.obj:
ifort %COPTS% /object:%ROOT_NAME%.obj %ROOT_NAME%.f90
ifort %COPTS% /object:%ROOT_NAME%f.obj %ROOT_NAME%.f

REM …
REM … link with Adams …
REM …

ECHO Linking ADAMS2AD and AeroDyn routines with ADAMS 2008:
SET DLLName=%ROOT_NAME%08r1
IF /I “%1”==“DLL” SET DLLName=%DLLName%_forBladedDLL

CALL ADAMS08r1 cr-user n %ROOT_NAME%.obj %ROOT_NAME%f.obj -n %DLLName%.dll exit < NewLine.txt

GOTO end

:end
REM ----------------------------------------------------------------------------
REM ------------------------- CLEAR MEMORY -------------------------------------
REM ------------- and delete all .mod and .obj files ---------------------------
REM ----------------------------------------------------------------------------
REM ECHO a

DEL *.mod
DEL *.obj

SET MyCompiler=
SET DF_LOC=
SET IVF_LOC=CALL “C:\Program Files (x86)\Intel\ComposerXE-2011\bin\ipsxe-comp-vars.bat” ia32 vs2008
SET ROOT_NAME=
SET COPTS=

SET NWTC_Files=
SET Wind_Files=
SET AeroDyn_Files=
SET FAST_Files=
SET A2AD_Files=
SET Fixed_Files=

SET NWTC_Lib_Loc=
SET Wind_Loc=
SET AeroDyn_Loc=
SET A2AD_Loc=
SET FAST_Loc=

SET DLLName=[/code]
When I execute it in the cmd, I find this errors:

[code]D:\CompileLinkA2AD>CompileLinkA2AD
Intel(R) Parallel Studio XE 2011
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.
Intel(R) Composer XE 2011 Update 5 (package 221)
Setting environment for using Microsoft Visual Studio 2008 x86 tools.

D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\SingPrec.f90
D:\CompileLinkA2AD\A2AD_v13.0100b\SysIVF_ADAMS.f90
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\NWTC_IO.f90
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\NWTC_Num.f90
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\NWTC_Aero.f90
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\ModMesh.f90
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\NWTC_Library.f90
D:\CompileLinkA2AD\InflowWind\SharedInflowDefs.f90
D:\CompileLinkA2AD\InflowWind\HHWind.f90
D:\CompileLinkA2AD\InflowWind\FFWind.f90
D:\CompileLinkA2AD\InflowWind\HAWCWind.f90
D:\CompileLinkA2AD\InflowWind\FDWind.f90
D:\CompileLinkA2AD\InflowWind\CTWind.f90
D:\CompileLinkA2AD\InflowWind\UserWind.f90
D:\CompileLinkA2AD\InflowWind\InflowWindMod.f90
D:\CompileLinkA2AD\AD_v13.00.02a\SharedTypes.f90
D:\CompileLinkA2AD\AD_v13.00.02a\AeroMods.f90
D:\CompileLinkA2AD\AD_v13.00.02a\GenSubs.f90
D:\CompileLinkA2AD\AD_v13.00.02a\AeroSubs.f90
D:\CompileLinkA2AD\AD_v13.00.02a\AeroDyn.f90
D:\CompileLinkA2AD\FAST_v7.0200d\FFTMod.f90
D:\CompileLinkA2AD\FAST_v7.0200d\HydroCalc.f90
D:\CompileLinkA2AD\A2AD_v13.0100b\FAST_Params.f90
D:\CompileLinkA2AD\FAST_v7.0200d\UserSubs.f90
D:\CompileLinkA2AD\FAST_v7.0200d\UserVSCont_KP.f90
D:\CompileLinkA2AD\FAST_v7.0200d\PitchCntrl_ACH.f90
D:\CompileLinkA2AD\A2AD_v13.0100b\A2AD_Mod.f90
D:\CompileLinkA2AD\A2AD_v13.0100b\Adams_Subs.f90
1 archivos copiados.
1 archivos copiados.

Compiling ADAMS2AD and AeroDyn routines to create ADAMS.obj:
Intel(R) Visual Fortran Compiler XE for applications running on IA-32, Version 1
2.0.5.221 Build 20110719
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.
ifort: command line remark #10010: option ‘/automatic’ is deprecated and will be
removed in a future release. See ‘/help deprecated’
ifort: command line warning #10121: overriding ‘/automatic’ with ‘/Qsave’

Intel(R) Visual Fortran Compiler XE for applications running on IA-32, Version 1
2.0.5.221 Build 20110719
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.
ifort: command line remark #10010: option ‘/automatic’ is deprecated and will be
removed in a future release. See ‘/help deprecated’
ifort: command line warning #10121: overriding ‘/automatic’ with ‘/Qsave’

Linking ADAMS2AD and AeroDyn routines with ADAMS 2008:

Linking Adams/Solver (User) DLL…
Microsoft (R) Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.

“ADAMS.obj”
“ADAMSf.obj”
“-out:ADAMS2008.dll”
-def:mysolver.def
-debug:none
-nodefaultlib
-dll
“-libpath:C:\MSC~1.SOF\Adams\2008\win32”
msvcrt.lib msvcprt.lib
ws2_32.lib
kernel32.lib
libifcoremd.lib libmmd.lib libifportmd.lib
libirc.lib svml_dispmd.lib
asutility_imp.lib mdiloader_imp.lib
abgtire_imp.lib vpgutility_imp.lib
tire_imp.lib amd_imp.lib
Creating library ADAMS08r1.lib and object ADAMS08r1.exp
ADAMS.obj : error LNK2019: unresolved external symbol ___svml_round2 referenced
in function _A2AD_MOD_mp_PSEUDO_HANDLER.@12
ADAMS.obj : error LNK2019: unresolved external symbol ___svml_tanhf4 referenced
in function _FLOATINGPLATFORM_mp_INITFLTNGPTFMLD.@96
ADAMS.obj : error LNK2019: unresolved external symbol ___svml_cosf4 referenced i
n function _AERODYN_mp_AD_INIT.@16
ADAMS.obj : error LNK2019: unresolved external symbol ___svml_sinf4 referenced i
n function _AERODYN_mp_AD_INIT.@16
ADAMSf.obj : error LNK2001: unresolved external symbol ___svml_sinf4
ADAMS08r1.dll : fatal error LNK1120: 4 unresolved externals
Adams/Solver (User) has been linked…

Microsoft (R) Manifest Tool version 5.2.3790.2075
Copyright (c) Microsoft Corporation 2005.
All rights reserved.

0H : general error c10100b1: Failed to load file “ADAMS08r1.dll”. {q~

D:\CompileLinkA2AD>[/code]

I don’t know how to debug the error and it confuses me for a long time.
Could help me, please? tks

                                                                                                                  Jason.Lai

Jason,

Adams has some incompatibilities with certain compilers and/or compiling options. Usually when you get errors about unresolved math functions (cos, tanh, etc), you can fix it by reducing the optimization level. Try adding /O1 in this line of CompileLinkA2AD.bat:

SET COPTS= /c /automatic /Ob2 /MD /Gm /traceback /Qzero /Qsave /real_size:32 /assume:byterecl /Qdiag-disable:5268 /O1

Hello,

I’ve search forums to find a solution to my problem, but nothing.

I’m not able to extract or run any .exe files that are needed like “FAST_v7.02.00d-bjj.exe” or “AD_v13.00.02a-bjj.exe” or “NWTC_Lib_v2.03.00b-bjj.exe” or “Crunch_v3.02.00c-mlb.exe”.
"The windows gives me the error that “The version of this file is not compatible with the version of Windows you’re running…”
A snapshot of the error message is attached.
As far as I understand, I have to run these files in order to unzip necessary files for using FAST.

Thanks in advance for any suggestions.
Capture.JPG

Hi, Ismail.

If you just want to run FAST v7.02.00, you need only the FAST_v7.02.00d-bjj.exe file. You’d need the AeroDyn and NWTC Library archives to compile the code. The Crunch archive may be useful for examing results from FAST or running the CertTest.

Another user once showed me the same error message you are getting. We decided it was probably caused by something with how his computer was set up. I’ve sent him an email to see if he ever resolved the issue. I’ll let you know if I hear back…

Meanwhile, you could try opening FAST_v7.02.00d-bjj.exe using WinZip instead of double-clicking on it and see if that works.

Hi,

Thank you for the quick response.
I want to use FAST in conjuction with Simulink. I think I will need all of these files. The point is I need FAST INPUT DATA for the MATLAB/Simulink to work. I have installed WinZip I cannot open FAST_v7.02.00d-bjj.exe using WinZip. There is no such an option for opening an .exe file via WinZip (I cannot see any option).
I also forgot to mention that I used the compatibility mode with no success.

I used the software 7-Zip File Manager that allows to extract .exe files, but this also does NOT work. It simply gives me the error that cannot open it.

I think if someone sends me those files (the folders and files created after running .exe files) as a zip file, it should work, unless the .exe files (e.g. FAST_v7.02.00d-bjj.exe) does something especial rather than extracting those files.

thanks

Hi again,

I fixed the issue. The problem is that I used to right-click on .exe files and select Save-as. I also had to disable my download manager. The right way is to click on the .exe file, then fill the form and then download the file. If you do NOT fill the form, you will be able to download the file, but it will be corrupted and you won’t be able to run it.

Hi.

I’m facing a new problem. I followed the instructions given in the pdf file in the beginning of the forum. I’m getting the following error. This is the beginning part of the problem.

E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Lin.f90(1235): er
ror #6404: This name does not have a type, and must have an explicit type.   [OU
TDATA]
      Yop(I,L) = OutData(I)
-----------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Lin.f90(2015): er
ror #6404: This name does not have a type, and must have an explicit type.   [TA
BDELIM]
      IF ( TabDelim )  THEN            ! Tab delimited output
-----------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Lin.f90(2015): er
ror #6341: A logical data type is required in this context.   [TABDELIM]
      IF ( TabDelim )  THEN            ! Tab delimited output
-----------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Lin.f90(2025): er
ror #6404: This name does not have a type, and must have an explicit type.   [OU
TFMT]
               Frmt1 = '(2('//TRIM( OutFmt )//',  A),'//TRIM(Int2LStr(2*NActvDOF
))//'(A ,'//TRIM( OutFmt )//'),A,'// &
------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Lin.f90(2025): er
ror #6362: The data types of the argument(s) are invalid.   [TRIM]
               Frmt1 = '(2('//TRIM( OutFmt )//',  A),'//TRIM(Int2LStr(2*NActvDOF
))//'(A ,'//TRIM( OutFmt )//'),A,'// &
------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Lin.f90(2025): er
ror #6362: The data types of the argument(s) are invalid.   [TRIM]
               Frmt1 = '(2('//TRIM( OutFmt )//',  A),'//TRIM(Int2LStr(2*NActvDOF
))//'(A ,'//TRIM( OutFmt )//'),A,'// &
--------------------------------------------------------------------------------
------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Lin.f90(2026): er
ror #6362: The data types of the argument(s) are invalid.   [TRIM]
                       TRIM(Int2LStr(NInputs))//'(A ,'//TRIM( OutFmt )//'),A,'//
                                     &
--------------------------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Lin.f90(2943): ca
tastrophic error: Too many errors, exiting
compilation aborted for E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Sourc
e\FAST_Lin.f90 (code 1)
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(81): er
ror #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [O
UTPUT]
USE                             Output
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(255): e
rror #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [
OUTPUT]
USE                             Output
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(463): e
rror #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [
AERODYN]
USE                             AeroDyn  !to get the unit number for AeroDyn...
can we fix this????
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(481): e
rror #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [
OUTPUT]
USE                             Output
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(493): e
rror #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [
FASTSUBS]
USE                             FASTSubs    !SetCoordSy
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(129): e
rror #6404: This name does not have a type, and must have an explicit type.   [D
ECFACT]
WRITE (UnAC,FmtTRTR  )  'SIMULATE/DYNAMICS, END = ', DT, ', DTOUT = ', DT*DecFac
t
--------------------------------------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(668): e
rror #6404: This name does not have a type, and must have an explicit type.   [T
ABDELIM]
IF ( TabDelim  )  THEN
-----^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(668): e
rror #6341: A logical data type is required in this context.   [TABDELIM]
IF ( TabDelim  )  THEN
-----^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(674): e
rror #6404: This name does not have a type, and must have an explicit type.   [W
RBINOUTFILE]
IF ( WrBinOutFile ) THEN
-----^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(674): e
rror #6341: A logical data type is required in this context.   [WRBINOUTFILE]
IF ( WrBinOutFile ) THEN
-----^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(675): e
rror #6404: This name does not have a type, and must have an explicit type.   [W
RTXTOUTFILE]
   IF ( WrTxtOutFile ) THEN
--------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(675): e
rror #6341: A logical data type is required in this context.   [WRTXTOUTFILE]
   IF ( WrTxtOutFile ) THEN
--------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(1792):
error #6404: This name does not have a type, and must have an explicit type.   [
SHFTGAGL]
WRITE (UnAD,FmtTRTRTR)  ', QP = ', OverHang + ShftGagL, ', ', 0.0, ', ', 0.0
----------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3977):
error #6404: This name does not have a type, and must have an explicit type.   [
NBLGAGES]
CALL MakeADM_WrICArraysR( (/ REAL(NumBl,ReKi),     REAL(BldNodes,ReKi),   REAL(T
wrNodes,ReKi),   REAL(NBlGages,ReKi),  &
--------------------------------------------------------------------------------
----------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3977):
error #6362: The data types of the argument(s) are invalid.   [REAL]
CALL MakeADM_WrICArraysR( (/ REAL(NumBl,ReKi),     REAL(BldNodes,ReKi),   REAL(T
wrNodes,ReKi),   REAL(NBlGages,ReKi),  &
--------------------------------------------------------------------------------
----------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3978):
error #6404: This name does not have a type, and must have an explicit type.   [
NTWGAGES]
                             REAL(NTwGages,ReKi),  REAL(NumOuts,ReKi),   &    !
bjj if linearizing, set NumOuts = 0 here ???
----------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3978):
error #6362: The data types of the argument(s) are invalid.   [REAL]
                             REAL(NTwGages,ReKi),  REAL(NumOuts,ReKi),   &    !
bjj if linearizing, set NumOuts = 0 here ???
----------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3978):
error #6404: This name does not have a type, and must have an explicit type.   [
NUMOUTS]
                             REAL(NTwGages,ReKi),  REAL(NumOuts,ReKi),   &    !
bjj if linearizing, set NumOuts = 0 here ???
--------------------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3978):
error #6362: The data types of the argument(s) are invalid.   [REAL]
                             REAL(NTwGages,ReKi),  REAL(NumOuts,ReKi),   &    !
bjj if linearizing, set NumOuts = 0 here ???
--------------------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3980):
error #6404: This name does not have a type, and must have an explicit type.   [
TSTART]
                             TipRad,               TStart               , REAL(P
tfmLdMod),       REAL(TwrLdMod),       ProjArea,  &
---------------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3980):
error #7113: Each ac-value expression in an array-constructor must have the same
 type and type parameters.   [TSTART]
                             TipRad,               TStart               , REAL(P
tfmLdMod),       REAL(TwrLdMod),       ProjArea,  &
---------------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3984):
error #6404: This name does not have a type, and must have an explicit type.   [
OUTPARAM]
CALL MakeADM_WrICArrays (OutParam(1:NumOuts)%Indx + 500*( 1 - OutParam(1:NumOuts
)%SignM), & !ADD 1000 if SignM is negative (this implies that SignM should only
be +1 or -1!!!!!)
-------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3984):
error #6514: A substring must be of type CHARACTER.   [OUTPARAM]
CALL MakeADM_WrICArrays (OutParam(1:NumOuts)%Indx + 500*( 1 - OutParam(1:NumOuts
)%SignM), & !ADD 1000 if SignM is negative (this implies that SignM should only
be +1 or -1!!!!!)
-------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3984):
error #6460: This is not a field name that is defined in the encompassing struct
ure.   [INDX]
CALL MakeADM_WrICArrays (OutParam(1:NumOuts)%Indx + 500*( 1 - OutParam(1:NumOuts
)%SignM), & !ADD 1000 if SignM is negative (this implies that SignM should only
be +1 or -1!!!!!)
---------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3984):
error #6158: The structure-name is invalid or is missing.   [OUTPARAM]
CALL MakeADM_WrICArrays (OutParam(1:NumOuts)%Indx + 500*( 1 - OutParam(1:NumOuts
)%SignM), & !ADD 1000 if SignM is negative (this implies that SignM should only
be +1 or -1!!!!!)
-------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3984):
error #6514: A substring must be of type CHARACTER.   [OUTPARAM]
CALL MakeADM_WrICArrays (OutParam(1:NumOuts)%Indx + 500*( 1 - OutParam(1:NumOuts
)%SignM), & !ADD 1000 if SignM is negative (this implies that SignM should only
be +1 or -1!!!!!)
--------------------------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3984):
error #6460: This is not a field name that is defined in the encompassing struct
ure.   [SIGNM]
CALL MakeADM_WrICArrays (OutParam(1:NumOuts)%Indx + 500*( 1 - OutParam(1:NumOuts
)%SignM), & !ADD 1000 if SignM is negative (this implies that SignM should only
be +1 or -1!!!!!)
--------------------------------------------------------------------------------
--^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3984):
error #6158: The structure-name is invalid or is missing.   [OUTPARAM]
CALL MakeADM_WrICArrays (OutParam(1:NumOuts)%Indx + 500*( 1 - OutParam(1:NumOuts
)%SignM), & !ADD 1000 if SignM is negative (this implies that SignM should only
be +1 or -1!!!!!)
--------------------------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3984):
error #6634: The shape matching rules of actual arguments and dummy arguments ha
ve been violated.
CALL MakeADM_WrICArrays (OutParam(1:NumOuts)%Indx + 500*( 1 - OutParam(1:NumOuts
)%SignM), & !ADD 1000 if SignM is negative (this implies that SignM should only
be +1 or -1!!!!!)
--------------------------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(3986):
error #6404: This name does not have a type, and must have an explicit type.   [
BLDGAGND]
CALL MakeADM_WrICArrays (BldGagNd,   BldGagNd_A      , NBlGages, UnAD, "BldGagNd
_A"       )
-------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST2ADAMS.f90(4230):
catastrophic error: Too many errors, exiting
compilation aborted for E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Sourc
e\FAST2ADAMS.f90 (code 1)
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\AeroCalc.f90(13): erro
r #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [AER
ODYN]
USE                           AeroDyn
------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\AeroCalc.f90(21): erro
r #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [NOI
SE]
USE                           Noise
------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\AeroCalc.f90(25): erro
r #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [AER
OELEM]
USE                           AeroElem !, ONLY: NumADBldNodes, AD_AeroMarker
------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\AeroCalc.f90(45): erro
r #6404: This name does not have a type, and must have an explicit type.   [NUMA
DBLDNODES]
BldNodes = NumADBldNodes
-----------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\AeroCalc.f90(89): erro
r #6404: This name does not have a type, and must have an explicit type.   [ADAE
ROMARKERS]
RNodes   = ADAeroMarkers%Blade(:,1)%Position(3) + HubRad         ! ADAeroMarkers
 contains relative markers after initialization
-----------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\AeroCalc.f90(89): erro
r #6460: This is not a field name that is defined in the encompassing structure.
   [BLADE]
RNodes   = ADAeroMarkers%Blade(:,1)%Position(3) + HubRad         ! ADAeroMarkers
 contains relative markers after initialization
-------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\AeroCalc.f90(95): erro
r #6911: The syntax of this substring is invalid.   [BLADE]
CAeroTwst(:) = ADAeroMarkers%Blade(:,1)%Orientation(1,1)
-----------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\AeroCalc.f90(158): err
or #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [AE
RODYN]
USE                             AeroDyn
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\AeroCalc.f90(221): err
or #6404: This name does not have a type, and must have an explicit type.   [AD_
GETCURRENTVALUE]
      WindVelEK = WindVelEK - AD_GetCurrentValue('AvgInfl',ErrStat)*c1
------------------------------^
compilation aborted for E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Sourc
e\AeroCalc.f90 (code 1)
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Prog.f90(15): err
or #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [AE
RODYN]
USE                             AeroDyn
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Prog.f90(16): err
or #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [FA
ST_IO_SUBS]
USE                             FAST_IO_Subs       ! FAST_Begin(), FAST_Input(),
 PrintSum(), RunTimes()
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Prog.f90(17): err
or #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [FA
STSUBS]
USE                             FASTsubs           ! FAST_Initialize(), TimeMarc
h()
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Prog.f90(18): err
or #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [FA
ST2ADAMSSUBS]
USE                             FAST2ADAMSSubs     ! MakeAdm(), MakeACF(), MakeA
CF_Lin
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Prog.f90(19): err
or #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [FA
ST_LIN_SUBS]
USE                             FAST_Lin_Subs      ! CalcSteady(), Linearize()
--------------------------------^
E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Source\FAST_Prog.f90(21): err
or #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [NO
ISE]
USE                             Noise
--------------------------------^
compilation aborted for E:\EsmailAlizadeh\WTDesignCodes\FAST_v7.02.00d-bjj\Sourc
e\FAST_Prog.f90 (code 1)

I have set the path as mentioned in the instruction.

I’m using the following versions of archive files:
FAST_v7.02.00d-bjj
AD_v13.00.02a-bjj
InflowWind_v1.02.00c-bjj
NWTC_Lib_v1.04.01

and I’m working on MS Visual Studio 2010 & Intel Composer XE 2013 SP1.
Any hint for what the problem might be?

My main goal is to run FAST in Simulink. I’m mostly concerned with FTC (Fault Tolerant Control)/FDIR of the wind turbine, and not the structure of wind turbine model itself. I have worked on much simpler model of WT. But now I would like to have this FAST model, since that is the most realistic and a benchmark model among researchers as far as I knwo. For this purpose, first I need to run the FAST before running the Simulink. The next stage would be to introduce faults in the system.

I’m glad you figured out what was causing the problem with the archive!

Without seeing the files in your project, it’s hard to be certain, but it sounds like the compiler didn’t compile FAST_Mods.f90. If you’re in Visual Studio, make sure FAST_Mods.f90 is part of the solution files. If it is and you’re still getting these errors, you can try closing Visual Studio and restarting it (sometimes VS gets confused if you’ve deleted source files). Or you can right-click on the FAST_Mods.f90 file and tell it to compile that file individually.

Hi everyone

I have some problem to discuss. Now we use FORTRAN compiler and Visual studio which are quite old version They work well for FAST 7. However, I want to compile FAST version 8 which is not compatible with my program. Therefore, I have a question that What is the most compatible version for FAST 8 ? Visual studio 2010 or 2012, FORTRAN 2013 ?

Thank you
Anaphat Manov

We’re using some more Fortran 2003 features in FAST v8; I thought most of them worked with my old IVF 10.1 compiler with Visual Studio 2003, but it’s been a while since I tried it. The biggest problem with compiling FAST v8 would probably be the Math Kernel Library that we are using for LAPACK routines. In the newer Intel compilers, the MKL comes with the standard distribution (though you have to set a compiling option to use it). In older versions, you had to get the professional version to use the MKL. There are also other Windows binaries of the LAPACK routines that you can download for free on the web; or if you really wanted to, you could download the LAPACK source code and make your own binaries.

That said, I’m currently using IVF Composer XE 2011 with Visual Studio 2010 Shell:

Microsoft Visual Studio 2010
Installed Version: IDE Standard
Intel(R) Visual Fortran Composer XE 2011 Update 9 Integration for Microsoft Visual Studio* 2010, 12.1.3526.2010, Copyright (C) 2002-2012 Intel Corporation

Dear Experts;
I’ve decided to compile FAST 7.01 using MATLAB; I want it for Simulink!
I used make_FAST_SFunc.m;
I’m using VS 2008 and IVF 11.1 with MATLAB R2011a;
Here is the problem:
When I whant to run the make_FAST_SFunc.m file I face an error which says:

 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /assume:bscc /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\US\AppData\Local\Temp\mex_tpnV_O\DoubPrec.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\DoubPrec.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /assume:bscc /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\US\AppData\Local\Temp\mex_tpnV_O\SysMatlab.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\SysMatlab.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /assume:bscc /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\US\AppData\Local\Temp\mex_tpnV_O\NWTC_IO.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\NWTC_IO.f90" 
 
F:\University\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\NWTC_IO.f90(1314): warning #5275: The backslash character and following character is not a valid escape sequence 
            IF ( INDEX( '\/', GivenFil(I+1:I+1)) == 0 ) THEN    ! Make sure we don't have the RootName in a different directory 
-------------------------^ 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /assume:bscc /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\US\AppData\Local\Temp\mex_tpnV_O\NWTC_Num.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\NWTC_Num.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /assume:bscc /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\US\AppData\Local\Temp\mex_tpnV_O\NWTC_Aero.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\NWTC_Aero.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /assume:bscc /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\US\AppData\Local\Temp\mex_tpnV_O\NWTC_Library.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\NWTC_Library.f90" 
 
F:\University\Proposal\Sources\ACTIVE CONTROL\FAST-SC-Files\NWTCLibrary\Source\NWTC_Library.f90(39): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [MODMESH] 
   USE ModMesh  !BJJ update with JM/IC's Mesh module 
-------^ 
compilation aborted for F:\University\Proposal\Sources\ACTIVE CONTROL\FAST-SC-Files\NWTCLibrary\Source\NWTC_Library.f90 (code 1) 
 
  C:\PROGRA~1\MATLAB\R2011A\BIN\MEX.PL: Error: Compile of 'F:\University\Proposal\Sources\ACTIVE CONTROL\FAST-SC-Files\NWTCLibrary\Source\NWTC_Library.f90' failed. 
 
??? Error using ==> mex at 208
Unable to complete successfully.

Error in ==> make_FAST_SFunc at 64
mex('-v'                                             , ... %verbose
 

I changed the Fortran Option File as the Guide Lines say;
Any clues appreciated!
Regards

Dear Hamid,

I’ve never tried to compile FAST for MATLAB, but it looks like you need to compile the ModMesh routines before you compile NWTC_Library.f90. Have you included them in your IVF project? Are you using the Visual Studio shell or are you compiling at the command line? The shell will usually figure out the correct compilation order for you if you have included all the correct files in your project. If you are using the command line, you will need to specify the source files in the correct order. If you look in the Compiling folder of the FAST archive, you will see a batch file that shows the correct order.

Marshall

I briefly glanced at your error messages, and here’s what I noticed:

  • You should remove /assume:bscc from your compiling options in your .bat file (FortranOptionsFile). Matlab uses it as their default, but it becomes a problem if you actually try to use backslash characters in the code.
  • My guess is that you’ve got a newer version of the NWTC Library than was used to create the scripts for FAST v7.01. ModMesh.f90 didn’t exist when FAST v7.01 was released. You can add ModMesh.f90 to the list of files to compile in make_FAST_SFunc.m (add it between NWTC_Aero.f90 and NWTC_Library.f90). Or, better yet, compile FAST v7.02 or find out which version of the NWTC Library was used to compile FAST v7.01 and use that.

Dear Marshal;
Thanks for your reply
I’m using VS2008 Shell for compiling!
I tried to use the correct order of files; here are the files and the order of them inside the *.m file of MATLAB:

    fullfile(NWTC_LIB, 'DoubPrec.f90'               ), ...
    fullfile(NWTC_LIB, 'SysMatlab.f90'              ), ...
    fullfile(NWTC_LIB, 'NWTC_IO.f90'                ), ...
    fullfile(NWTC_LIB, 'NWTC_Num.f90'               ), ...
    fullfile(NWTC_LIB, 'NWTC_Aero.f90'              ), ...
    fullfile(NWTC_LIB, 'ModMesh.f90'              ), ...
    fullfile(NWTC_LIB, 'NWTC_Library.f90'           ), ...
    fullfile(WIND_LOC, 'SharedInflowDefs.f90'       ), ...
    fullfile(WIND_LOC, 'HHWind.f90'                 ), ...
    fullfile(WIND_LOC, 'FFWind.f90'                 ), ...
    fullfile(WIND_LOC, 'FDWind.f90'                 ), ...
    fullfile(WIND_LOC, 'CTWind.f90'                 ), ...
    fullfile(WIND_LOC, 'UserWind.f90'               ), ...
    fullfile(WIND_LOC, 'InflowWindMod.f90'          ), ...
    fullfile(AD_LOC,   'SharedTypes.f90'            ), ...
    fullfile(AD_LOC,   'AeroMods.f90'               ), ...
    fullfile(AD_LOC,   'GenSubs.f90'                ), ... 
    fullfile(AD_LOC,   'AeroSubs.f90'               ), ...
    fullfile(AD_LOC,   'AeroDyn.f90'                ), ...
    fullfile(FAST_LOC, 'FAST_Mods.f90'              ), ...
    fullfile(FAST_LOC, 'Noise.f90'                  ), ...
    fullfile(FAST_LOC, 'fftpack.f'                  ), ...
    fullfile(FAST_LOC, 'FFTMod.f90'                 ), ...
    fullfile(FAST_LOC, 'HydroCalc.f90'              ), ...
    fullfile(FAST_LOC, 'AeroCalc.f90'               ), ...
    fullfile(FAST_LOC, 'FAST_IO.f90'                ), ...
    fullfile(FAST_LOC, 'FAST.f90'                   ), ...
    fullfile(FAST_LOC, 'PitchCntrl_ACH.f90'         ), ...
    fullfile(FAST_LOC, 'SetVersion.f90'             ), ...
    fullfile(FAST_LOC, 'UserSubs.f90'               ), ...
    fullfile(FAST_LOC, 'UserVSCont_KP.f90'          ), ...
    fullfile(Sim_LOC , 'FASTSimulink.f90'           ), ...
    fullfile(Sim_LOC,  'FASTGateway.f90'            )  );

Dear Bonnie;
All the time your answers are the main keys;
Thanks for them!
1:

  • I did your first suggestion (remove /assume:bscc from your compiling options in your .bat file); it helped on solving the first error (slashes) as you said! now the problem is like the below code:
    2:
  • About the second suggestion; I really don’t know which version of NWTC_Lib I need I used the file (NWTC_Lib_v1.07.02a-mlb) which I’ve downloaded!
    But as you said I put the ModMesh.f90 between NWTC_Aero.f90 and NWTC_Library.f90 and it worked! THANKS!

Now as you can see below the problem is on the AeroDyn! and it would be so grateful if you can give me any suggestion!

  
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\DoubPrec.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\DoubPrec.f90" 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\SysMatlab.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\SysMatlab.f90" 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\NWTC_IO.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\NWTC_IO.f90" 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\NWTC_Num.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\NWTC_Num.f90" 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\NWTC_Aero.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\NWTC_Aero.f90" 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\ModMesh.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\ModMesh.f90" 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\NWTC_Library.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\FAST-SC-Files\NWTCLibrary\Source\NWTC_Library.f90" 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\SharedInflowDefs.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\SharedInflowDefs.f90 
  
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\HHWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\HHWind.f90 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\FFWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\FFWind.f90 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\FDWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\FDWind.f90 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\CTWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\CTWind.f90 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\UserWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\UserWind.f90 
 
 --> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_3KTWqO\InflowWindMod.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\InflowWindMod.f90 
 
F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\InflowWindMod.f90(26): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [HAWCWIND] 
   USE                              HAWCWind             ! full-field binary wind files in HAWC format 
------------------------------------^ 
F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\InflowWindMod.f90(230): error #6404: This name does not have a type, and must have an explicit type.   [HW_GETWINDSPEED] 
         WindInf_GetVelocity = HW_GetWindSpeed(     Time, InputPosition, ErrStat ) 
-------------------------------^ 
F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\InflowWindMod.f90(748): error #6404: This name does not have a type, and must have an explicit type.   [HW_GETVALUE] 
         WindInf_ADhack_diskVel(1)   = HW_GetValue('UREF', ErrStat) 
---------------------------------------^ 
F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\InflowWindMod.f90(789): error #6404: This name does not have a type, and must have an explicit type.   [HW_GETVALUE] 
         WindInf_ADhack_DIcheck = HW_GetValue('UREF', ErrStat)       
----------------------------------^ 
compilation aborted for F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\InflowWindMod.f90 (code 1) 
 
  C:\PROGRA~1\MATLAB\R2011A\BIN\MEX.PL: Error: Compile of 'F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\InflowWindMod.f90' failed. 
 
??? Error using ==> mex at 208
Unable to complete successfully.

Error in ==> make_FAST_SFunc at 64
mex('-v' 

Waiting for you KEYS!

Hi, Hamid.

Looks like you’ve also got a newer version of InflowWind than what was used with your version of make_FAST_SFunc.m. You’ll need to add HAWCWind.f90 to the list of files to compile. Put it between FFWind.f90 and FDWind.f90:

fullfile(WIND_LOC, 'FFWind.f90' ), ... fullfile(WIND_LOC, 'HAWCWind.f90' ), ... fullfile(WIND_LOC, 'FDWind.f90' ), ...

Dear Bonnie;
Thanks for all of your great hints!

The problem solved! and I faced a new ONE! Here is the code:

--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\DoubPrec.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\ACTIVE CONTROL\FAST-SC-Files\NWTCLibrary\Source\DoubPrec.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\SysMatlab.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\ACTIVE CONTROL\FAST-SC-Files\NWTCLibrary\Source\SysMatlab.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\NWTC_IO.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\ACTIVE CONTROL\FAST-SC-Files\NWTCLibrary\Source\NWTC_IO.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\NWTC_Num.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\ACTIVE CONTROL\FAST-SC-Files\NWTCLibrary\Source\NWTC_Num.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\NWTC_Aero.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\ACTIVE CONTROL\FAST-SC-Files\NWTCLibrary\Source\NWTC_Aero.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\ModMesh.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\ACTIVE CONTROL\FAST-SC-Files\NWTCLibrary\Source\ModMesh.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\NWTC_Library.obj /O2 /DNDEBUG -DMX_COMPAT_32 "F:\University\M.S\Proposal\Sources\ACTIVE CONTROL\FAST-SC-Files\NWTCLibrary\Source\NWTC_Library.f90" 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\SharedInflowDefs.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\SharedInflowDefs.f90 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\HHWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\HHWind.f90 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\FFWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\FFWind.f90 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\HAWCWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\HAWCWind.f90 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\FDWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\FDWind.f90 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\CTWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\CTWind.f90 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\UserWind.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\UserWind.f90 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\InflowWindMod.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\InflowWind\Source\InflowWindMod.f90 
 
 
--> ifort  /Qprec "/IC:\Program Files\MATLAB\R2011a/extern/include" -c -nologo -DMATLAB_MEX_FILE /MD /fp:source /Qvc9 /assume:byterecl /traceback /real_size:64 /Qzero /Qsave /FoC:\Users\WORK\AppData\Local\Temp\mex_R3lnSZ\SharedTypes.obj /O2 /DNDEBUG -DMX_COMPAT_32 F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\SharedTypes.f90 
 
F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\SharedTypes.f90(45): error #6401: The attributes of this name conflict with those made accessible by a USE statement.   [PROGDESC] 
   END TYPE ProgDesc 
------------^ 
F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\SharedTypes.f90(45): error #6148: The name on this END TYPE statement is different from the name on the corresponding derived type statement   [PROGDESC] 
   END TYPE ProgDesc 
------------^ 
compilation aborted for F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\SharedTypes.f90 (code 1) 
 
  C:\PROGRA~1\MATLAB\R2011A\BIN\MEX.PL: Error: Compile of 'F:\University\M.S\Proposal\Sources\Programs\AD_v13.00.02a-bjj\Source\SharedTypes.f90' failed. 
 
??? Error using ==> mex at 208
Unable to complete successfully.

Error in ==> make_FAST_SFunc at 64

Waiting for your great ANSWERS!

REGARDS

Hamid,

Have you modified the AeroDyn SharedTypes.f90 source file? Lines 42-45 should be commented out in AeroDyn v13.00.02a-bjj (that type is now defined in NWTC Library).

Dear Bonnie;
Thanks for your reply;

I haven’t modified that! I worked on FAST source file, not AeroDyn’s files! It’s the original one and I didn’t changed anything!
So now do you suggest sth about that? What should I do?

Regards

Dear Bonnie;

I did some changes and also I used the way that you told me about SharedTypes.f90 and I used the right file : NWTC_SharedDataTypes.f90
Now everything is all right and compiling DONE successfully!

Thanks for all of your help and HINTS and great keys;
Regards