Configuration Help

What is "configuration" anyway?

WRFDA is designed to be compiled on a wide variety of systems for a wide variety of purposes. This flexibility comes at a cost: the user must specify the compilation options that they want, including their operating system, compilers, and parallelism type. These options are specified using the configure script. This script attempts to determine your system setup, and allows you to choose from several different options.

How do I choose the best option for my purposes

Because the same configuration script is used for all WRF-related products, you must specify that you want to compile WRFDA by issuing the command ./configure wrfda. As an example, this is what this step will look like on a Linux x86_64 (64-bit) system:

>./configure wrfda
checking for perl5... no
checking for perl... found /usr/bin/perl (perl)
Will use NETCDF in dir: /usr/local/netcdf-3.6.3-gfortran
PHDF5 not set in environment. Will configure WRF for use without.
Will use 'time' to report timing information
$JASPERLIB or $JASPERINC not found in environment, configuring to build without grib2 I/O...
------------------------------------------------------------------------
Please select from among the following Linux x86_64 options:

  1. (serial)   2. (smpar)   3. (dmpar)   4. (dm+sm)   PGI (pgf90/gcc)
  5. (serial)   6. (smpar)   7. (dmpar)   8. (dm+sm)   PGI (pgf90/pgcc): SGI MPT
  9. (serial)  10. (smpar)  11. (dmpar)  12. (dm+sm)   PGI (pgf90/gcc): PGI accelerator
 13. (serial)  14. (smpar)  15. (dmpar)  16. (dm+sm)   INTEL (ifort/icc)
                                         17. (dm+sm)   INTEL (ifort/icc): Xeon Phi (MIC architecture)
 18. (serial)  19. (smpar)  20. (dmpar)  21. (dm+sm)   INTEL (ifort/icc): Xeon (SNB with AVX mods)
 22. (serial)  23. (smpar)  24. (dmpar)  25. (dm+sm)   INTEL (ifort/icc): SGI MPT
 26. (serial)  27. (smpar)  28. (dmpar)  29. (dm+sm)   INTEL (ifort/icc): IBM POE
 30. (serial)               31. (dmpar)                PATHSCALE (pathf90/pathcc)
 32. (serial)  33. (smpar)  34. (dmpar)  35. (dm+sm)   GNU (gfortran/gcc)
 36. (serial)  37. (smpar)  38. (dmpar)  39. (dm+sm)   IBM (xlf90_r/cc_r)
 40. (serial)  41. (smpar)  42. (dmpar)  43. (dm+sm)   PGI (ftn/gcc): Cray XT CLE
 44. (serial)  45. (smpar)  46. (dmpar)  47. (dm+sm)   CRAY CCE (ftn/gcc): Cray XE and XC30
 48. (serial)  49. (smpar)  50. (dmpar)  51. (dm+sm)   INTEL (ftn/icc): Cray XC30
 52. (serial)  53. (smpar)  54. (dmpar)  55. (dm+sm)   PGI (pgf90/pgcc)
 56. (serial)  57. (smpar)  58. (dmpar)  59. (dm+sm)   PGI (pgf90/gcc): -f90=pgf90
 60. (serial)  61. (smpar)  62. (dmpar)  63. (dm+sm)   PGI (pgf90/pgcc): -f90=pgf90

Enter selection [1-63] :

Tip My configure script looks different! What gives?
Starting with WRF/WRFDA version 3.7, the configure script was updated to make selecting options easier. This is the version of this page for version 3.7 and later; click here if you are using an older version!

Each line lists a lot of information, but don't worry, if you know just a little bit about your system you should have no trouble selecting the correct option:

First, note that the line above the listed options is specific to your operating system. In this case, it reads "Please select from among the following Linux x86_64 options", but for a Mac it will read "Please select from among the following Darwin ARCH options", and other machines (such as IBM AIX) will look different still.

Next, you will need to look for your compilers in the list. The end of each line indicates different platform/compiler combinations that are available. The configure script does not try to determine which compilers are actually present on your system, so you will have to determine which ones are available for yourself. The most common options are:

  • GNU fortran compiler (gfortran) with GNU C compiler (gcc)
  • Intel fortran compiler (ifort) with Intel C compiler (icc)
  • PGI fortran compiler (pgf90) with PGI C compiler (pgcc)
  • PGI fortran compiler (pgf90) with GNU C compiler (gcc)

If you are unsure whether you can use a certain compiler, you can issue the "which" command to see if that particular compiler exists in your path (for example: `which gfortran`). Some lines contain additional information to the right of the compilers; in most cases, you should choose the option that does not contain any extra information to the right of the compilers.

Finally, you need to choose your parallelization option. On the line which contains the compiler/platform combination that best describes your machine setup, you should see one or more numbered options. The words in parenthesis describe the parallelization option. We recommend choosing a dmpar (distributed-memory parallel) option for several reasons:

  • Code compiled to run in serial restricts you to a single processor for running WRFDA, leading to slower execution and the potential for segmentation faults if you choose too large a domain or too many observations.
  • Code compiled to run in parallel takes about the same amount of compilation time.
  • Code compiled to run in parallel can still be run in serial if the need arises.
  • Shared-memory options (smpar and dm+sm) are not supported for WRFDA (they may work on some systems, but hidden errors and problems with irreproducability are likely due to the way most Fortran compilers handle shared memory). They will not provide a significant advantage over distributed-memory anyway.

You should enter the number of the selection you choose, then hit [Enter]. Again, make sure that you choose the same compilers (both FORTRAN and C) that you used to compile your netCDF library!

Tip I don't see my operating system/compiler in this list :(
WRFDA supports a wide range of platforms, but there is always a chance that yours is not included. Contact wrfhelp if you are absolutely sure you can not use one of the compilers listed. And before you ask: no, we can not support Windows.

Note: This website is currently under construction. If you notice any problems with the website, including but not limited to broken links, formatting errors, or incorrect information, please submit an email to the or wrfhelp@ucar.edu so that we can address the problem. We appreciate your feedback!

   

 

NOTE: These pages makes use of Java Script. Enable Java on your computer to make use of all the functionality.