Using Digital Visual Fortran 6.0

Hello,

Has anyone used “Digital Visual Fortran” version 6.0 to compile FAST?

I am trying to use this compiler to re-compile FAST (without modifying anything), without any success :cry:

Initially I create a workspace and then a " Win32 Console application" (I have also tried the “Fortran Console Application”) project.

In this project I add all the f.90 files from “Fast\Source” and “Aerodyn\Source” folders
(Except from the following files: BladedDLLInterface.f90, SysLL.f90, ModLL.f90, SysLU.f90, ModLU.f90)

I then change the Project settings to comply with what the FAST user Guide suggests: "When compiling using CVF, we have the
Debugging Level set to “Minimal”, … "

Finally I try to Build the Project but get a huge list of errors…

Any suggestions?

TM (whoever you are),

There should be no problem with using the DVF compiler, but you really should consider upgrading to its Intel decendent.

I can think of a couple of things that may cause problems. One is that you are trying to compile files that depend on modules. If the modules were not compiled first, you will get errors for the routines that use them. I haven’t used the DVF compiler in many years, so I don’t know if it works like the newer CVF and IVF compilers. The newer compilers will keep compiling files until it finds the source code for the required modules. They will then reattempt to compile the files that failed earlier. I suggest you compile the files with “mod” in their names first. Some modules use other modules, so you will have to be mindful of the order. You can try them randomly until they all suceed. After all the modules are compiled, try to do a build.

Another possibility is that you have told the compiler to treat non-standard code as errors. Please check your compiler options. I doubt this is your problem because there should be only a handful of lines that use non-standard code.

If this all fails, please copy your compiler settings and a few sample error messages and post them here. I will try to see if I can figure out what is causing the problem. My guess, though, is that the first solution will work.

Marshall

Hello Marshall,

Thank you for the prompt reply. :smiley:

I tried what you suggested (compiling the Mod files first) and the build was successful!
I had to comment out some lines in the “Aerosubs” file (they were all "WRITE( … " lines, and as far as I understand, are only used as comments for the user, so they should not affect the program. I re-run test12 with the newly compiled FAST.exe and got the same results apart from some rounding-of errors (which I guess should be attributed to the fact that I am using a different compiler).

Allow me to add a few comments about the procedure I used (I am guessing they could be helpful for people (like me) who have no prior experience with DVF or fortran in general)


I use Digital Visual Fortran v 6.0

Initially I create a workspace and then a “Fortran Console Application”

In this project I add all the f.90 files from “Fast\Source” and “Aerodyn\Source” folders
(Except from the following files: BladedDLLInterface.f90, SysLL.f90, ModLL.f90, SysLU.f90, ModLU.f90)

I then change the Project settings to comply with what the FAST user Guide suggests: "When compiling using CVF, we have the
Debugging Level set to “Minimal”, … " .
(you can do that under “Settings” → and then the “Fortran” tab)

Next, I compiled the following files and in this order:

MODCVF

AEROMODS

NOISEMODS

Finally I built the Project .

(note I first commented out all the lines giving errors in Aerosubs.f90- as I dont think that these lines were crucialfor the code- but i am not sure I should be recommending this to others!)


Thanks again Marshall,

Thanos

Thanos,

I’d like to know what lines you had to remove and what the error messages were that prompted you to do so.

We strive to make our codes as compiler-independent as possible, but AeroDyn is an old program that is overdue for a modernization. I’d like to make sure this doesn’t happen in the next modest release, which is due any day now.

Marshall

Hi Marshall,

This is the list of errors I get:

C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(857) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( * :: , : ) + . - % . ** / // .LT. < .LE. <= .EQ. == .NE. …
WRITE(UnADopt,‘(A)’ ) ’ CTDistSc - Disturbance scale (ratio of wave height to rotor diameter) = ‘//TRIM( Flt2LStr( CTDistSc ) )
-----------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(858) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( * :: , : ) + . - % . ** / // .LT. < .LE. <= .EQ. == .NE. …
WRITE(UnADopt,’(A)’ ) ’ CTLy - Lateral location of tower centerline in the dataset = ‘//TRIM( Flt2LStr( CTLy ) )
-------------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(859) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( * :: , : ) + . - % . ** / // .LT. < .LE. <= .EQ. == .NE. …
WRITE(UnADopt,’(A)’ ) ’ CTLz - Vertical location of tower centerline in the dataset = ‘//TRIM( Flt2LStr( CTLz ) )
-------------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(860) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( * :: , : ) + . - % . ** / // .LT. < .LE. <= .EQ. == .NE. …
WRITE(UnADopt,’(A)’ ) ’ CTScaleVel - Scaling velocity, U0 (m/s) = ‘//TRIM( Flt2LStr( CTScaleVel ) )
-------------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(861) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( * :: , : ) + . - % . ** / // .LT. < .LE. <= .EQ. == .NE. …
WRITE(UnADopt,’(A)’ ) ’ CT_DF_Y - Decimation factor for wind data in the y direction = ‘//TRIM( Int2LStr( CT_DF_Y ) )
-----------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(862) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( * :: , : ) + . - % . ** / // .LT. < .LE. <= .EQ. == .NE. …
WRITE(UnADopt,’(A)’ ) ’ CT_DF_Z - Decimation factor for wind data in the z direction = ‘//TRIM( Int2LStr( CT_DF_Z ) )
-----------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(882) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( * :: , : ) + . - % . ** / // .LT. < .LE. <= .EQ. == .NE. …
WRITE(UnADopt, Frmt) TRIM( Int2LStr( Num4DxD ) ), TRIM( Int2LStr( Num4DyD ) ), TRIM( Int2LStr( Num4DzD ) ), TRIM( Int2LStr( Num4Dt ) )
-------------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(885) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: :: , : )
WRITE(UnADopt,’(A)‘) ’ Ubot - u-component, steady wind speed at the bottom of the wave (m/s) = ‘//TRIM( Flt2LStr( Ubot ) )
--------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(886) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: :: , : )
WRITE(UnADopt,’(A)’) ’ DistScal - Disturbance scale (ratio of wave height to rotor diameter) = ‘//TRIM( Flt2LStr( DistScal ) )
--------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(887) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: :: , : )
WRITE(UnADopt,’(A)‘) ’ Lx - Downwind location of tower centerline in the dataset = ‘//TRIM( Flt2LStr( Lx ) )
--------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(888) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: :: , : )
WRITE(UnADopt,’(A)’) ’ Ly - Lateral location of tower centerline in the dataset = ‘//TRIM( Flt2LStr( Ly ) )
--------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(889) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: :: , : )
WRITE(UnADopt,’(A)‘) ’ Lz - Vertical location of tower centerline in the dataset = ‘//TRIM( Flt2LStr( Lz ) )
--------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(890) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: :: , : )
WRITE(UnADopt,’(A)’) ’ ScaleVel - Scaling velocity, U0 (m/s) = ‘//TRIM( Flt2LStr( ScaleVel ) )
--------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(891) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: :: , : )
WRITE(UnADopt,’(A)‘) ’ FD_DF_X - Decimation factor for wind data in the x direction = ‘//TRIM( Int2LStr( FD_DF_X ) )
--------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(892) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: :: , : )
WRITE(UnADopt,’(A)’) ’ FD_DF_Y - Decimation factor for wind data in the y direction = ‘//TRIM( Int2LStr( FD_DF_Y ) )
--------------------------------------------------------------------------------------------------------------------------------------^
C:\Documents and Settings\thanos\Desktop\AeroSubs.f90(893) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: :: , : )
WRITE(UnADopt,’(A)') ’ FD_DF_Z - Decimation factor for wind data in the z direction = '//TRIM( Int2LStr( FD_DF_Z ) )

Hope this is helpful,
Thanos.

Thanos,

It seems you have found some lines that are too long. My apologies. Lines may not exceed 132 characters to adhere to the Fortran standard. The newer compilers we normally use allow it, but I thought we had eliminated all the long lines.

For the time being, you can break the offending lines in two at a “//” and add an “&” to the end of the first line. Here’s an example:

WRITE(UnADopt,'(A)' ) ' CTDistSc - Disturbance scale (ratio of wave height to rotor diameter) = ' & //TRIM( Flt2LStr( CTDistSc ) )
The newer version of AeroDyn that I am currently testing does not have this problem.

Marshall

Thanks for your help Marshall.

Thanos.