Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Error 6460 when compiling WRF-chem

Tomas_C_
Beginner
1,538 Views

Hello, everyone,

I have been trying for some time to compile WRF-chem V-3.5.1 on my ubuntu 13.10 using ifort and icc. When I compile WRFV3.5.1 without the chemistry part everything goes 100% ok. When I set WRF_CHEM=1, however, I get a bunch or of errors.

The first one appears with a varible named cam_mam_mode and is

 

ifort -c -i4  -O0 -fno-inline -fno-ip -ip -fp-model precise -w -ftz -align all -fno-alias -FR -cpp -convert big_endian -xHost -fp-model fast=2 -no-heap-array$

	ifort: command line remark #10382: option '-xHOST' setting '-xSSSE3'

	module_alloc_space_7.f90(12890): error #6460: This is not a field name that is defined in the encompassing structure.   [CAM_MAM_MODE]

	((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))*(((model_config_rec%cam_mam_mode)-(1)+1))) * 4

	---------------------------------------------------------------------------------^

 

I have tried it wth a lot of different versions of both netcdf and hdf5.

Another curious thing is that I have another machine with Ubuntu 12.04 that has the same version of netdcf, hdf5, ifort, icc (14.0.3), and WRF and everything compiles just fine on that case. I have no idea what else to do. I feel I've tried everything, even changing the code.

I am attaching the compile.log and configure.wrf (as a text document) for you to take a look.

Any help is appreciated.

 

thank you in advance.

0 Kudos
3 Replies
TimP
Honored Contributor III
1,538 Views

In the middle of your log, you have the expected complaint that your include paths (i.e. -I......) aren't working.  Perhaps you didn't populate the same directories or get your NETCDF or other environment variables set correctly.  Where you have Fortran modules, those must have been built by ifort and be present in directories on the include path.  If your build is set up correctly but got off track, it may be useful to clean out the .mod file directories which aren't read correctly.  I'm not familiar enough with current WRF to know if the log has indications of attempting to mix 32- and 64-bit mode.

0 Kudos
Tomas_C_
Beginner
1,538 Views

Thanks for the quick answer. I'm not new to WRF/linux but I'm also not an expert, so I'm not sure wether I understood your points correctly but let me try.

Tim Prince wrote:

In the middle of your log, you have the expected complaint that your include paths (i.e. -I......) aren't working.  Perhaps you didn't populate the same directories or get your NETCDF or other environment variables set correctly.

I still can't see the exact place where the "include paths" warning is, but the NETCDF and other environment variables are definitely set correctly. I checked them a hundread times already and there's the fact that WRF does compile without the chemistry module. And necessary files are (I think) on those same directories, if that's what you mean by "populate the same directories".

Tim Prince wrote:

Where you have Fortran modules, those must have been built by ifort and be present in directories on the include path.

By Fortran modules you mean the *.mod files that are in the WRFV3 subdirectories? If so then they were definitely biult with ifort. I don't even have another Fortran compiler installed. Which include path should I set then? I tried already adding some directories to the INCLUDE variable but it didn't work.

Tim Prince wrote:

If your build is set up correctly but got off track, it may be useful to clean out the .mod file directories which aren't read correctly. I'm not familiar enough with current WRF to know if the log has indications of attempting to mix 32- and 64-bit mode.

When I run "./clean -a" all the *.mod files in the subdirectories are removed, but when I compile again they are built and the same error occurs every time. I scanned the whole document for trace or 32-bit indicators and found nothing, but there are 64-bit entries everywhere. Google search about mixing 32- and 64-bit modes also gave me nothing.

 

Again, thank you for the help. I hope I didn't miss anything obvious.

best regards

0 Kudos
Tomas_C_
Beginner
1,538 Views

Thank you but I have solved the problem. There was a probem with sourcing the variables and the script I had made to compile the whole thing.

Best regards.

0 Kudos
Reply