WRF issue

Hi. We just recently purchased PGI Workstation to use with WRF. We have WRF and WPS successfully compiled for serial, SM, and DM modes. Our machine is a 6-core AMD Phenom II. Here is my issue:

  1. When we submit a single run (compiled by GFORTRAN) to the machine through Condor, the the executable uses all 6 cores and runs in OpenMP mode.

  2. When we submit the same single run compiled with PGI FORTRAN 11.9 through Condor, the executable runs on only a single core - seemingly in serial mode.

As a note, I have used the numtiles=6 in the namelist.input file. GFORTRAN was able to correctly identify OMP_GET_MAX_THREADS as 6 when the system variable OMP_NUM_THREADS was not set, but PGI returned a value of 1 for OMP_GET_MAX_THREADS when OMP_NUM_THREADS was not set. The PGI compiled version runs fine - with 6 cores - from the command line if the system variable OMP_NUM_THREADS is set to 6…or when numtiles=6 is specified in the namelist.input file.

Is there a compiler flag or something else that I am missing?

Thank you much!

Kendall

When you use a task manager such as Condor (which I am not familiar with at all), you may not be able to rely upon the task manager to duplicate environmental variables for the tasks that it spawns.

My suggestion would be to write your program in such a way that it does not depend on environmental variables such as OMP_NUM_THREADS at all.

I think I might know what is going on. I don’t think I ran real.exe again before executing the SM version of WRF. So let me check this out…

Thanks for your response. You were right on…Condor was not transferring the system environment variables. But there is a mechanism for it to do so, and now it works just fine…

Hello,

I’m trying to compile the WRF with PGI 11.9 but I’m getting some issues… First of all, I’m not able to build properly netCDF 3.6.3. I think it’s a compiler flag problem. Can you tell me which flag did you use to compile netCDF and the WRF?

Thank you very much!

Greg

Hi Greg,

I responded to your post about NetCDF. It appears to me to be a configuration issue.

As for WRF, you need to only run the “./configure” script and select which configuration you wish to use (PGI Serial, SMpar, DMpar) and the appropriate flags should be set. We also have a basic guide on building WRF which youmight find helpful. Account Login | PGI

  • Mat