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

Issue with compiling WRF v3.5.1 on Derecho

Chloe

New member
Motivation
The reason why I am trying to compile WRF v3.5.1 on Derecho is that I need to work with a modified version of it that includes extensive revisions to the chemistry part and transferring these modifications to later versions of WRF is not practical for me. Also, I will probably further modify the codes and have to compile it over and over again. After failing to compile the modified version of WRF v3.5.1 on Derecho, I thought the problems might result from WRF v3.5.1 instead of the modifications. So I tried to compile the standard WRF v3.5.1 and got the same errors.

What I did and got
I downloaded WRF v3.5.1 from https://www2.mmm.ucar.edu/wrf/src/WRFV3.5.1.TAR.gz and unzipped it in my scratch directory (/glade/derecho/scratch/liuyf/)

Then I chose "32. Linux x86_64 i486 i586 i686, ifort compiler with icc, SGI MPT (dmpar)" during configuration.

Finally, I run “./compile em_real >& compilenoclean32.log”.

The compilation failed in a few minutes. Please see the attached compilenoclean32.log for the errors.

I used the default environment without loading/unloading any modules (as shown below)

1) ncarenv/23.06 (S) 4) ncarcompilers/1.0.0 7) netcdf/4.9.2


2) craype/2.7.20 5) cray-mpich/8.1.25 8) ncl/6.6.2


3) intel/2023.0.0 6) hdf5/1.12.2

I succeeded in compiling WRF v4.5 and v4.6 using the same environment and procedure. The errors in compilenoclean32.log seem to suggest the current modules are incompatible with the older WRF v3.5.1.

My questions
Could you please tell me which could be done to compile WRF v3.5.1 and WRF-chem v3.5.1 on Derecho? (When WRF can be compiled, I will turn the chemistry on. )

If I have to construct a container on Derecho,
could you please tell me which versions of dependencies will work with WRF v3.5.1?
Are there any documentation on building containers on Derecho? (I have no experience of using/building containers)

@mgduda
@islas
 

Attachments

  • compilenoclean32.log
    1.2 MB · Views: 3
@Chloe given the large amount of errors, while most are comment syntax issues, there is no guarantee that getting this version to work with newer compilers will be straight forward. I suspect it would require serious refactoring that redoes the efforts of fixes introduced in later versions of WRF.

The most straight forward approach that doesn't require significant code rewrite is - as you pointed out - containers.

Unfortunately, if you need to use the Intel compilers, Intel does not make older versions publicly available for download. If compiler choice is not an issue, using GCC 4.8.0 should be a good starting point.

Using the WRF v3.5.1 release date of Sep 23, 2013 and working backward on dependencies would be my recommended approach for selecting versions (e.g. GCC 4.8.0 was done in March of 2013 so a fair chance there was time to address compiler issues for that version in v3.5.1 release). Likewise, netcdf-c v4.2.1 (July 2012) might work. Depending on container setup and platform, it may be difficult to get the dependencies via package managers so in those cases building them from source will be necessary.

For using containers on Derecho, the HPC group has put together some documentation to get started :
 
@Chloe given the large amount of errors, while most are comment syntax issues, there is no guarantee that getting this version to work with newer compilers will be straight forward. I suspect it would require serious refactoring that redoes the efforts of fixes introduced in later versions of WRF.

The most straight forward approach that doesn't require significant code rewrite is - as you pointed out - containers.

Unfortunately, if you need to use the Intel compilers, Intel does not make older versions publicly available for download. If compiler choice is not an issue, using GCC 4.8.0 should be a good starting point.

Using the WRF v3.5.1 release date of Sep 23, 2013 and working backward on dependencies would be my recommended approach for selecting versions (e.g. GCC 4.8.0 was done in March of 2013 so a fair chance there was time to address compiler issues for that version in v3.5.1 release). Likewise, netcdf-c v4.2.1 (July 2012) might work. Depending on container setup and platform, it may be difficult to get the dependencies via package managers so in those cases building them from source will be necessary.

For using containers on Derecho, the HPC group has put together some documentation to get started :
Thank you, Anthony! I will give container a try.
 
Top