ERROR compilation module_optical_averaging

Posts related to the installation of WRF Chemistry

ERROR compilation module_optical_averaging

Postby Felixcarrasco » Thu Nov 14, 2013 5:51 pm

Hi, I'm new at WRF/Chem and I'm trying to compile the WRFChem V3.5.1 for the option 19 of the configure (linux x86 64 and ifort - icc compilers) with distributed memory (I already compile the WRF with success). I check the known issues and change the module fix before I start the compilation, so I'm sure that I have the very last version of the code.

The problem in the compile.log is the following:

Code: Select all
 module_optical_averaging.f90(79): error #6404: This name does not have a type, and must have an explicit type.   [RACMSORG_AQCHEM]
         RACM_ESRLSORG_KPP, RACMSORG_AQ, RACMSORG_AQCHEM, RACMSORG_KPP,&
-----------------------------------------^
module_optical_averaging.f90(79): error #6601: In a CASE statement, the case-value must be a constant expression.   [RACMSORG_AQCHEM]
         RACM_ESRLSORG_KPP, RACMSORG_AQ, RACMSORG_AQCHEM, RACMSORG_KPP,&
-----------------------------------------^
module_optical_averaging.f90(79): error #6612: In a CASE statement, the case-value must be of type INTEGER, CHARACTER, or LOGICAL.   [RACMSORG_AQCHEM]
         RACM_ESRLSORG_KPP, RACMSORG_AQ, RACMSORG_AQCHEM, RACMSORG_KPP,&
-----------------------------------------^
module_optical_averaging.f90(79): error #6611: The case-value must be of the same type as the case-expr.   [RACMSORG_AQCHEM]
         RACM_ESRLSORG_KPP, RACMSORG_AQ, RACMSORG_AQCHEM, RACMSORG_KPP,&
-----------------------------------------^
compilation aborted for module_optical_averaging.f90 (code 1)



and this affect other modules that need that the optical_averaging already compile. SO at the end of the compilation I can not generate the all the executable.

Does anybody has any ideas of what can I do with this error?
Felixcarrasco
 
Posts: 3
Joined: Thu Nov 14, 2013 5:36 pm

Re: ERROR compilation module_optical_averaging

Postby Felixcarrasco » Mon Nov 25, 2013 10:45 pm

Well, I "believe" I found what was wrong with code. Hopefully some of the people that works at the developing area confirm this (I really need that confirmation!).

I just check in the terminal with
Code: Select all
grep -nir "RACMSORG_AQCHEM" ./
in the WRF directory what files CONTAIN that variable and the only file that actually include it, it's just the module_optical_averaging.F, because all the other files just contain the RACMSORG_AQCHEM_KPP case. Accordingly to the Regystry/registry.chem file the RACMSORG_AQCHEM_KPP correspond to chem_opt=42 (in the previous version it does exist the RACMSORG_AQCHEM associated with the same chem_opt value).

Using this information I just change the variable RACMSORG_AQCHEM for the variable RACMSORG_AQCHEM_KPP (line 226 of the module_optical_averaging.F that comes from the Known Issues of V3.5.1).

After this another error appear, this time, related with the module_ctrans_grell.F in which an if statement wasn't finish (at line 836 of the code) so I just add the "endif" and that solve the problem. (the module_ctrans_grell.F that I'm using is the one that comes from the Known Issues for version 3.5.1 module_ctrans_grell.F.fix351).

After all these changes the code compile without mistake in serial and distributed memory.

Can anybody confirm that the solution is "the solution"? Anybody else have the same problem? Is adding the endif a good solution or should I comment all the if block in the convective transport code?

Best regards!
Felixcarrasco
 
Posts: 3
Joined: Thu Nov 14, 2013 5:36 pm


Return to Installation

Who is online

Users browsing this forum: No registered users and 1 guest