You are here

Calling Argument Error

Hi, I was trying to compile the Qual-W2 code, and I am running into a compile error in the LUDCMP subroutine. The last argument to this subroutine is a variable "D". In the main program where the subroutine is called, D is defined as a real array D(NN,NN). But in the subroutine, D is a single real variable that is set equal to 1.0 and is never used. Can I put in a dummy real array in subrouting LUDCMP to replace the sigle valued D? If I don't do something like this, the program will not compile.
Forums: 

Thomas, You should be able (I think) to do that as long as you don't use the pipe algorithm which uses the LUDCMP subroutine. By the way, what compiler are you using? chris

Hi Chris, I am using the Intel Fortran Compiler 10.1 I went ahead and made the change because I am not using any pipes, but now the compiler returns with a "Compilation Aborted (Code 1)" error message with no other information to go by. I have submitted a help request to Intel because it seems that it is a compiler problem. Have you tried comiling with this compiler? I understand that Compaq is not selling their compiler anymore. Tom

Thomas, I don't think I have tried that compiler. Are you compiling using the generic source code (w2_generic.f90)? chris

Hi Chris, actually I just realized that I was trying to compile the cvf source as a non windows application. I am now trying to recompile it as a windows application. I am not very familiar with windows application programming so I may have to stumble around a bit here to get all the resources connected correctly. Tom

I got it to start to compile as a windows program, but I get the same error from the Fortran Compiler. Are there any non-standard compile parameters that I need to set? Tom

Hi Chris, I tried compiling the generic version of the code and I got the same compiler error. The whole reason that I am trying to compile the program is that I am getting an error when I run the program. I am getting a read error on line 1320 of the source. The error message says that there is an input conversion error as it reads in the segment length line of the bathymetry file. I have looked at the file and everything looks ok. I then looked at line 1320 of the source and it seems that the group of read statements are one-line off when reading the bathymetry file. It looks like the program is only skipping the first three lines before it trys to read the [DLX] line. That does not seem possible or nobody would be able to run the program. So, I was hoping to run it through the debugger and see exactly what it is trying to read at line 1320 of the source code. Tom

Hi Chris, I was looking through the code and realized that there are some missing modules. I think that is what is causing the compiler to crash. None of the modules that are referenced by the USE statements are present in either the "generic" code or in the "CVF" code. Is is possible to get those modules? The program won't compile without them, thanks! Tom

Thomas, The generic code shouldn't require any additional modules (at least that has been my experience). Do you know which modules the compiler can't find when it's compiling the generic code? The cvf code requires the resource.fd, screen_output.f90, resource.h, w2.rc, and w2.ico files which are available with the v3.5 download in the 'source' directory. hope this helps, chris

Hi Chris, It looks like the modules that I thought were missing are actually there. I am an old Fortran programmer and am not used to the USE statement. But there are two modules that are missing; AVVIEWER and AVDEF. Both of these are in the Subroutine Graph which is in the screen_output.f90 file. But, I dont think those modules are responsible for the Intel Fortran compiler crashing. It still crashes when compiling w2_cvf.f90 when it is compiled separately from the screen_output file. I have taken a lot of the subroutines out of the w2_cvf.f90 file to see if I can narrow down on the code that the Intel compiler does not like. I think that it probably has something to do with the dynamic memory allocation, but I am working with customer support at Intel to try and track down the problem. So all I really need are the two modules AVVIEWER and AVDEF. Thanks Tom

Thomas, AVVIEWER and AVDEF sound like modules associated with the COMPAQ Array Viewer tool that came with the compaq visual fortran complier. I don't think these modules can be separated from the compiler. chris

I think that I have been able to download a DLL from the Compaq Array Viewer installation (AVIEW110.DLL)that may have the 2 modules. I will try linking to it if I can ever get Intel to figure where the bug in their compiler is. Tom