Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Error compiling WRF-4.3

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

yvonne

New member
Hi I'm a student from UC Irvine. I'm trying to compile WRF 4.3 on HPC3 (https://rcic.uci.edu/hpc3/hpc3-cluster-specs.html)

HPC3 specs:

CPU-only nodes
  • HPE Apollo 2000 Gen 10 chassis. 2RU with 4 nodes/chassis
    Dual-Socket, Intel Skylake 6148 20-core CPU@2.4GHz. 40 Cores total.
    10Gbit/s Ethernet
    100Gbit/s ConnectX-5, EDR Infiniband
    192GB DDR4, ECC, Memory. (Options: 384GB, 768GB)
    2x240GB SATA SSD drive (OS, Scratch)

GPU-Enabled Nodes
  • HPE DL380 Gen 10 chassis. 2RU. Upto 4 GPUs/chassis
    CPU,Network,Memory,SSD identical to CPU Nodes
    Qty 4 Nvidia V100 GPU with 16GB of High-Bandwidht Memory. PCIe connection.

HPC3 uses INTEL CPUs but I chose the GNU + dmpar option when configuring. When compiling I saw lots of error messages for the fortran code(.f) and I have no clue how to fix this.

I've attached my build config and the compile log. I'd appreciate a lot if you could help me with this!
 

Attachments

  • configure.wrf
    20.9 KB · Views: 69
  • compile.log
    2 MB · Views: 75
Hi,
1) Did you make any modifications to the code prior to compiling it, or is this the default "out-of-the-box" WRF code?
2) Can you recompile, but set the number of processors used for compiling to 1?
Code:
export J="-j 1"
and then reconfigure the code, and then recompile. After that, please send me your new configure.wrf and compile log.
Thanks!
 
Hi, I was helping Yvonne compile WRF. Answers to your questions:

1. No we didn't make any modifications to the code. We got the code from GitHub https://github.com/wrf-model/WRF/releases/tag/v4.3

2. I believe we did compile the code with the "export" you mentioned. If I understand correctly, this forces the compilation to use a single core (in serialized mode) right?

We will try again and update the thread later.

Thanks,
Jon
 
Hi Jon,
In the configure log that Yvonne sent, this line is near the top:
Code:
setting parallel make -j 8
That indicates that 8 processors were used to compile the code.
 
Hi Yvonne,
When you recompiled the code, did you clean the code first? If not, issue

export J="-j 1"
./clean -a
./configure (choose your options)
./compile em_real >& log.compile

and then send the new configure/compile files. Thanks!
 
Hi

I tried the command you said. It still didn't work. The error is the same. "Can't open module file 'module_cumulus_driver.mod' for reading".
Here are the log.

Thanks!
 

Attachments

  • log.compile
    916.8 KB · Views: 56
  • configure.wrf
    20.7 KB · Views: 48
Hi Yvonne,
I'm not expecting those commands to fix the problem - they are just to help me make sure I'm seeing a clean compile. It helps with identifying the root problem.

The first error in your compile log is
Code:
module_radiation_driver.f90:214:7:

    USE module_ra_eclipse    , ONLY : solar_eclipse
       1
Fatal Error: Can't open module file 'module_ra_eclipse.mod' for reading at (1): No such file or directory
compilation terminated.
which is strange because this type of error usually occurs when either the code was not cleaned prior to the compile, or when a file has been modified. I've compiled the code (V4.3) with GNU, and I'm not having any problems.

1) Can you tell me whether you have a file in your WRF/phys/ directory called "module_ra_eclipse.F?"
2) Just to be absolutely certain, can you obtain a new copy of the WRF source code, place it in a new, clean directory, and then try again to build it?
3) If that still fails, can you try to use an updated version of GNU (since it's free software) to see if perhaps it's the version causing the problem?

Thanks!
 
Hi,

I searched for the file and it is there. I tried to compile it again with the new code. It still failed due to the same error. Here is the log.

I am currently using gcc 8.4.0 because it is the latest version of the HPC from my school (University of California, Irvine). Could you please tell me what version of gcc you are using? Is there any other solution for this type of error? I'd appreciate you help very much.

Thanks!
 

Attachments

  • compile-j1-gcc8.4.0.log
    915.1 KB · Views: 28
Yvonne,
I first would like to apologize for the long delay in response. I've been traveling the past few weeks and am just now catching up with forum inquires. Thank you for your patience.

The version of GNU I'm using is 9.1.0.

I'm going to attach a file for you to try. It contains the bit of code that's causing the problem for you. I've commented out everything regarding solar eclipse stuff and it should, theoretically, compile okay. Can you give this a try and see if you're able to compile? You'll need to place the attached file in your phys/ directory, then go back to the top WRF direction, issue a 'clean -a' then reconfigure and recompile.
 

Attachments

  • module_radiation_driver.F
    222.9 KB · Views: 38
Hi Yvonne,
Have you been able to get this compiled yet? If so, can you try to compile again with the pristine code (i.e., not with the modified file I provided in the last post) to test something for me? We believe this is just a dependency issue and if you can confirm these items for us, we will know how to fix the code.
You can create a new/clean directory and that is where you will compile WRF. Don't override the WRF you've already built successfully (if you have).

1. Set your environment to compile with only a single processor (e.g., export J="-j 1")
2. Compile WRF - I expect this will fail again due to the module_ra_eclipse* issue.
3. Check to see if any of that routine was compiled by issuing the following command.
Code:
ls -ls phys/module_ra_eclipse.*
and see if you see the following files:
  • module_ra_eclipse.o
  • module_ra_eclipse.mod
4. If so, please try to recompile the code without issuing a 'clean -a' or reconfiguring. Just go to the WRF directory and compile (./compile em_real >& log.compile2). Let me know if this allows you to compile to completion.

Thanks!
 
Top