Missing files in Gasmi Paper Examples

I am trying to compile and build the Fortran code in Gasmi Paper Examples found in link below:
nwtc.nrel.gov/system/files/Gasm … amples.tar
But it seems there are missing files. I have included the library and the problem is still persist.
I would appreciate if any one can provide help for me?

Dear Mohamed,

I have not compiled/used this code myself, but what error are you getting? Is the FAST Registry being run to generate the *_Types.f90 files?

Best regards,

Dear Dr Jason
In order to compile these codes, I made a new FORTRAN project in Microsoft visual studio to generate (*.sln) file. Then, I added all the files belonging to the example to that project. After that, I added the library files. But the project does not compile. It seems that there are many types and modules need to be defined. a screen shot can be found below

Dear Mohamed,

It appears that you are not executing the FAST Registry when compiling. You need to run the FAST Registry to generate the *_Type.f90 files needed to compile.

Best regards,

I tried to execute these registry files alone with MSVS, but the problem still persist. the compiler generate an error as follow:
“Error RC1110 could not open …\MSVS_IconResources\NREL_Bug.rc”
Also, I tried to execute FAST_Registry-master with the Gasmi Paper Examples code but the problem still persist.
I appreciate if you could give me some advice to find a solution.

Now, I am try to find a solution with gfortran. I found nonworking links while reading in ‘‘FAST_Registry-master’’'s docs to learn how to execute the Registry files. Is there any alternatives for the following link
windsvn.nrel.gov/FAST/branches/ … registry.c

and

windsvn.nrel.gov/FAST/branches/ … try/Source

your reply is appreciated

I am now using gfortran to compile both the registry files and library files (v1.07.02a-mlb). Now, I have the registry.exe and also the following registry files, object files and mod files


The problem now is every time i tried to run Makefile_Mod1_Mod2 using mingw32-make. the compilation give me the following error
Error: Symbol ‘errmsg2’ at (1) has no IMPLICIT type
Makefile_Mod1_Mod2:117: recipe for target ‘Module1_Types.obj’ failed
mingw32-make: *** [Module1_Types.obj] Error 1

I had made some changes in Makefile_Mod1_Mod2 according to my OS= win 10 x64 and other directories as shown below:

There are some files have been created like Module1_Types.f90 and Obj_win64 folder as shown below:

The windows powershell screenshots are attached below.
I hope to guide me to the solution for this problem.
Thanks in advance



I can comment on a few things:

  • The FAST Registry for the old examples can be found here: github.com/old-NWTC/FAST_Registry (it was ported to GitHub from the svn server referenced in the links you found)
  • You can remove the reference to NREL_Bug.rc in your Visual Studio project: under the “resources” folder, just delete the file. It’s just an icon file attached to the executable.
  • The version of the FAST Registry that you ran seems to be incompatible with the version of the NWTC Library that you are using. So, you will probably either have to use an older version of the FAST Registry or a newer version of the NWTC Library. You may be able to fix the problem by adding INTEGER, PARAMETER :: ErrMsgLen = 1024 to your precision.mod file instead, but there may be other conflicts that need to be addressed, too.

Thank you for your valuable comments
The executable file is now generated but I had to modify some files as follows:
1- Add the above mentioned code (in your previious reply) to DoubPrec.f90 and SingPrec.f90 files for library (v1.07.02a-mlb)
2- Change the INTENT for the variable u from IN to INOUT, which only generates error, for all Module files (ModuleN.f90 for N=1,2,3)

TYPE(Mod1_InputType),           INTENT(INOUT)  :: u(:)        ! Inputs at t

3- Comment all lines that include SetErrStat in gen_module_files.c in FAST_Registry-master Folder

//  fprintf(fp,"      CALL SetErrStat(ErrID_Fatal, 'Error allocating Dst%sData%%%s.', ErrStat, ErrMsg,RoutineName)\n",nonick,r->name);