Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
H
HCC docs
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Monitor
Service Desk
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Holland Computing Center
HCC docs
Commits
41e4535a
Commit
41e4535a
authored
11 months ago
by
mtanash2
Browse files
Options
Downloads
Patches
Plain Diff
Add docs for building WRFv4 and WPSv4 with Intel20 compiler
parent
13d7d4be
No related branches found
No related tags found
1 merge request
!412
Add docs for building WRFv4 and WPSv4 with Intel20 compiler
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
content/applications/app_specific/building_wrf.md
+438
-17
438 additions, 17 deletions
content/applications/app_specific/building_wrf.md
with
438 additions
and
17 deletions
content/applications/app_specific/building_wrf.md
+
438
−
17
View file @
41e4535a
...
@@ -21,12 +21,16 @@ numerics, and data assimilation contributed by developers from the expansive res
...
@@ -21,12 +21,16 @@ numerics, and data assimilation contributed by developers from the expansive res
WRF is currently in operational use at NCEP and other national meteorological centers as well as
WRF is currently in operational use at NCEP and other national meteorological centers as well as
in real-time forecasting configurations at laboratories, universities, and companies.
[
1
](
https://www.mmm.ucar.edu/models/wrf
)
in real-time forecasting configurations at laboratories, universities, and companies.
[
1
](
https://www.mmm.ucar.edu/models/wrf
)
-
[
Building WRF
](
#building-wrf
)
-
[
Building WRF with PGI Compiler
](
#building-wrf-with-pgi-compiler
)
-
[
Building WRF version 3.x
](
#building-wrf-version-3-x
)
-
[
Building WRF version 3.x with PGI compiler
](
#building-wrf-version-3-x-with-pgi-compiler
)
-
[
Building WRF version 4.x
](
#building-wrf-version-4-x
)
-
[
Building WRF version 4.x with PGI compiler
](
#building-wrf-version-4-x-with-pgi-compiler
)
-
[
Building WPS
](
#building-wps
)
-
[
Building WRF with Intel Compiler
](
#building-wrf-with-intel-compiler
)
-
[
Building WPS version 3.x
](
#building-wps-version-3-x
)
-
[
Building WRF version 4.x with Intel compiler
](
#building-wrf-version-4-x-with-intel-compiler
)
-
[
Building WPS version 4.x
](
#building-wps-version-4-x
)
-
[
Building WPS with PGI Compiler
](
#building-wps-with-pgi-compiler
)
-
[
Building WPS version 3.x with PGI compiler
](
#building-wps-version-3-x-with-pgi-compiler
)
-
[
Building WPS version 4.x with PGI compiler
](
#building-wps-version-4-x-with-pgi-compiler
)
-
[
Building WPS with Intel Compiler
](
#building-wps-with-intel-compiler
)
-
[
Building WPS version 4.x with Intel compiler
](
#building-wps-version-4-x-with-intel-compiler
)
-
[
Running WRF
](
#running-wrf
)
-
[
Running WRF
](
#running-wrf
)
{{% notice tip %}}
{{% notice tip %}}
...
@@ -37,7 +41,7 @@ To start an interactive job suitable for building WRF/WPS, run
...
@@ -37,7 +41,7 @@ To start an interactive job suitable for building WRF/WPS, run
{{% /notice %}}
{{% /notice %}}
## Building WRF
## Building WRF
with PGI Compiler
Due to the way WRF operates, users are expected to compile it themselves on HCC resources.
Due to the way WRF operates, users are expected to compile it themselves on HCC resources.
To simplify this process as much as possible, HCC provides an
`WRF`
module which loads all of
To simplify this process as much as possible, HCC provides an
`WRF`
module which loads all of
...
@@ -56,7 +60,7 @@ either `WRFV3` for WRF versions 3.x, or `WRF` for WRF versions 4.x.**
...
@@ -56,7 +60,7 @@ either `WRFV3` for WRF versions 3.x, or `WRF` for WRF versions 4.x.**
All commands in each section are run starting relative to the top-level directory, denoted here as
`<WRF root`
>
All commands in each section are run starting relative to the top-level directory, denoted here as
`<WRF root`
>
or
`<WPS root>`
.
or
`<WPS root>`
.
### Building WRF version 3.x
### Building WRF version 3.x
with PGI compiler
#### Apply patch
#### Apply patch
...
@@ -73,7 +77,7 @@ the WRF source code directory, the patch may be applied by running
...
@@ -73,7 +77,7 @@ the WRF source code directory, the patch may be applied by running
{{
<
/
highlight
>
}}
{{
<
/
highlight
>
}}
{{% /panel %}}
{{% /panel %}}
#### Build WRF
#### Build
ing
WRF
{{% notice tip %}}
{{% notice tip %}}
The build process for WRFv3 must be run in
**serial only**
(i.e. omitting the
`-j`
option to
`./compile`
).
The build process for WRFv3 must be run in
**serial only**
(i.e. omitting the
`-j`
option to
`./compile`
).
...
@@ -82,7 +86,7 @@ Attempting to build WRFv3 with more than the default number of build tasks will
...
@@ -82,7 +86,7 @@ Attempting to build WRFv3 with more than the default number of build tasks will
The following example commands show how to compile WRF v3.x.
The following example commands show how to compile WRF v3.x.
{{% panel theme="info" header="Building WRFv3" %}}
{{% panel theme="info" header="Building WRFv3
with PGI compiler
" %}}
{{
<
highlight
code
>
}}
{{
<
highlight
code
>
}}
[demo01@c0604.crane WRFV3]$ ls
[demo01@c0604.crane WRFV3]$ ls
arch compile dyn_em external inc phys README.hybrid_vert_coord README.NMM README_test_cases run tools
arch compile dyn_em external inc phys README.hybrid_vert_coord README.NMM README_test_cases run tools
...
@@ -322,7 +326,7 @@ main/ndown.exe main/real.exe main/tc.exe main/wrf.exe
...
@@ -322,7 +326,7 @@ main/ndown.exe main/real.exe main/tc.exe main/wrf.exe
If the build finishes successfully a message will be printed, and the four executables
If the build finishes successfully a message will be printed, and the four executables
(
`ndown.exe`
,
`real.exe`
,
`tc.exe`
,
`wrf.exe`
) will be present in the
`main`
directory.
(
`ndown.exe`
,
`real.exe`
,
`tc.exe`
,
`wrf.exe`
) will be present in the
`main`
directory.
### Building WRF version 4.x
### Building WRF version 4.x
with PGI compiler
{{% notice tip %}}
{{% notice tip %}}
If you encounter compile errors with some WRFv4 versions, make sure you run compile
If you encounter compile errors with some WRFv4 versions, make sure you run compile
...
@@ -337,7 +341,7 @@ named "Source Code" because they do not include the mandatory NoahMP submodule.
...
@@ -337,7 +341,7 @@ named "Source Code" because they do not include the mandatory NoahMP submodule.
The following example commands show how to compile WRF v4.x.
The following example commands show how to compile WRF v4.x.
{{% panel theme="info" header="Building WRFv4" %}}
{{% panel theme="info" header="Building WRFv4
with PGI compiler
" %}}
{{
<
highlight
code
>
}}
{{
<
highlight
code
>
}}
[demo01@c0604.crane WRF]$ ls
[demo01@c0604.crane WRF]$ ls
arch clean configure doc external hydro LICENSE.txt Makefile README Registry share tools wrftladj
arch clean configure doc external hydro LICENSE.txt Makefile README Registry share tools wrftladj
...
@@ -577,9 +581,294 @@ main/ndown.exe main/real.exe main/tc.exe main/wrf.exe
...
@@ -577,9 +581,294 @@ main/ndown.exe main/real.exe main/tc.exe main/wrf.exe
If the build finishes successfully a message will be printed, and the four executables
If the build finishes successfully a message will be printed, and the four executables
(
`ndown.exe`
,
`real.exe`
,
`tc.exe`
,
`wrf.exe`
) will be present in the
`main`
directory.
(
`ndown.exe`
,
`real.exe`
,
`tc.exe`
,
`wrf.exe`
) will be present in the
`main`
directory.
## Building W
PS
## Building W
RF with Intel Compiler
### Building WPS version 3.x
### Building WRF version 4.x with Intel compiler
{{% panel theme="info" header="Building WRFv4 with Intel compiler" %}}
{{
<
highlight
code
>
}}
[demo01@c1210.swan WRF]$ ls
arch clean cmake compile confcheck configure_new dyn_em frame inc main phys README.md run test var
chem cleanCMake.sh CMakeLists.txt compile_new configure doc external hydro LICENSE.txt Makefile README Registry share tools wrftladj
[demo01@c1210.swan WRF]$ module purge
[demo01@c1210.swan WRF]$ module load compiler/intel/20 openmpi/4.0 WRF/v4
[demo01@c1210.swan WRF]$ ./configure
checking for perl5... no
checking for perl... found /util/opt/anaconda/deployed-conda-envs/packages/perl/envs/perl-5.26.2/bin/perl (perl)
Will use NETCDF in dir: /util/opt/netcdf/4.7/intel/20
ADIOS2 not set in environment. Will configure WRF for use without.
Will use HDF5 in dir: /util/opt/hdf5/1.12/intel/20
PHDF5 not set in environment. Will configure WRF for use without.
Will use 'time' to report timing information
If you REALLY want Grib2 output from WRF, modify the arch/Config.pl script.
Right now you are not getting the Jasper lib, from the environment, compiled into WRF.
------------------------------------------------------------------------
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 XC CLE
44.
(serial) 45. (smpar) 46. (dmpar) 47. (dm+sm) CRAY CCE (ftn $(NOOMP)/cc): Cray XE and XC
48.
(serial) 49. (smpar) 50. (dmpar) 51. (dm+sm) INTEL (ftn/icc): Cray XC
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
64.
(serial) 65. (smpar) 66. (dmpar) 67. (dm+sm) INTEL (ifort/icc): HSW/BDW
68.
(serial) 69. (smpar) 70. (dmpar) 71. (dm+sm) INTEL (ifort/icc): KNL MIC
72.
(serial) 73. (smpar) 74. (dmpar) 75. (dm+sm) AMD (flang/clang) : AMD ZEN1/ ZEN2/ ZEN3 Architectures
76.
(serial) 77. (smpar) 78. (dmpar) 79. (dm+sm) INTEL (ifx/icx) : oneAPI LLVM
80.
(serial) 81. (smpar) 82. (dmpar) 83. (dm+sm) FUJITSU (frtpx/fccpx): FX10/FX100 SPARC64 IXfx/Xlfx
Enter selection [1-83] : 15
------------------------------------------------------------------------
Compile for nesting? (1=basic, 2=preset moves, 3=vortex following) [default 1]: 1
Configuration successful!
------------------------------------------------------------------------
testing for fseeko and fseeko64
fseeko64 is supported
------------------------------------------------------------------------
# Settings for Linux x86_64 ppc64le i486 i586 i686, ifort compiler with icc (dmpar)
#
# By default, some files are compiled without optimizations to speed up compilation. Removing
# respective makefile rules in the end of this file will result in longer compilation time, and, possibly
# Out Of Memory messages, but might produce binaries which are substantially faster.
#
# Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm
# for latest info on how to build WRF with Intel compilers.
#
# If you got Out Of Memory message, there are several options:
# 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
# 2. Remove any debugging flags (-g, -check, -traceback).
# 3. Force the problematic file to be compiled with less optimizations (see examples at the
# end of this file), try -no-ip compiler flag.
#
# This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
# consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
# Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
# the gradual underflow mode. It may improve performance if the denormal values are not critical to the
# behavior of your workload. To further improve performance, add suitable vectorization options for your
# processor to FCOPTIM (see ifort manpage).
#
# If you have Intel MPI installed and wish to use instead, make the
# following changes to settings below:
# DM_FC = mpiifort
# DM_CC = mpiicc
# and source bin64/mpivars.sh file from your Intel MPI installation
# before the build.
#
# Suggestions for timing improvements from Craig Mattocks
#
#CFLAGS_LOCAL = -w -O3 -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars
#LDFLAGS_LOCAL = -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
#FCBASEOPTS_NO_G = -w -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common $(FORMAT_FREE) $(BYTESWAPIO)
DESCRIPTION = INTEL ($SFC/$SCC)
DMPARALLEL = 1
OMPCPP = # -D_OPENMP
OMP = # -qopenmp -fpp -auto
OMPCC = # -qopenmp
SFC = ifort
SCC = icc
CCOMP = icc
DM_FC = mpif90 -f90=$(SFC)
DM_CC = mpicc -cc=$(SCC)
FC = time $(DM_FC)
CC = $(DM_CC) -DFSEEKO64_OK
LD = $(FC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -real-size
`expr 8 \* $(RWORDSIZE)`
-i4
ARCH_LOCAL = -DNONSTANDARD_SYSTEM_FUNC -DWRF_USE_CLM $(NETCDF4_IO_OPTS)
CFLAGS_LOCAL = -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars # -DRSL0_ONLY
LDFLAGS_LOCAL = -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
CPLUSPLUSLIB =
ESMF_LDFLAG = $(CPLUSPLUSLIB)
FCOPTIM = -O3
FCREDUCEDOPT = $(FCOPTIM)
FCNOOPT = -O0 -fno-inline -no-ip
FCDEBUG = # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED = -FI
FORMAT_FREE = -FR
FCSUFFIX =
BYTESWAPIO = -convert big_endian
RECORDLENGTH = -assume byterecl
FCBASEOPTS_NO_G = -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =
TRADFLAG = -traditional-cpp $(NETCDF4_IO_OPTS)
CPP = /lib/cpp -P -nostdinc
AR = ar
ARFLAGS = ru
M4 = m4
RANLIB = ranlib
RLFLAGS =
CC_TOOLS = $(SCC)
NETCDFPAR_BUILD = echo SKIPPING
###########################################################
######################
# POSTAMBLE
FGREP = fgrep -iq
ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=$(IWORDSIZE) -DDWORDSIZE=$(DWORDSIZE) -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=$(LWORDSIZE)
\
$(ARCH_LOCAL)
\
$(DA_ARCHFLAGS)
\
-DDM_PARALLEL
\
\
-DNETCDF
\
\
\
\
\
\
\
\
-DHDF5
\
\
\
-DLANDREAD_STUB=1
\
\
\
-DUSE_ALLOCATABLES
\
-Dwrfmodel
\
-DGRIB1
\
-DINTIO
\
-DKEEP_INT_AROUND
\
-DLIMIT_ARGS
\
-DBUILD_RRTMG_FAST=0
\
-DBUILD_RRTMK=0
\
-DBUILD_SBM_FAST=1
\
-DSHOW_ALL_VARS_USED=0
\
-DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN)
\
-DMAX_DOMAINS_F=$(MAX_DOMAINS)
\
-DMAX_HISTORY=$(MAX_HISTORY)
\
-DNMM_NEST=$(WRF_NMM_NEST)
CFLAGS = $(CFLAGS_LOCAL) -DDM_PARALLEL
\
-DLANDREAD_STUB=1
\
-DMAX_HISTORY=$(MAX_HISTORY) -DNMM_CORE=$(WRF_NMM_CORE)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ESMF_LIB_FLAGS =
# ESMF 5 -- these are defined in esmf.mk, included above
ESMF_IO_LIB = -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
ESMF_IO_LIB_EXT = -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
INCLUDE_MODULES = $(MODULE_SRCH_FLAG)
\
$(ESMF_MOD_INC) $(ESMF_LIB_FLAGS)
\
-I$(WRF_SRC_ROOT_DIR)/main
\
-I$(WRF_SRC_ROOT_DIR)/external/io_netcdf
\
-I$(WRF_SRC_ROOT_DIR)/external/io_int
\
-I$(WRF_SRC_ROOT_DIR)/frame
\
-I$(WRF_SRC_ROOT_DIR)/share
\
-I$(WRF_SRC_ROOT_DIR)/phys
\
-I$(WRF_SRC_ROOT_DIR)/wrftladj
\
-I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
\
-I$(NETCDFPATH)/include
\
REGISTRY = Registry
CC_TOOLS_CFLAGS = -DNMM_CORE=$(WRF_NMM_CORE)
LIB = $(LIB_BUNDLED) $(LIB_EXTERNAL) $(LIB_LOCAL) $(LIB_WRF_HYDRO) $(NETCDF4_DEP_LIB)
LDFLAGS = $(OMP) $(FCFLAGS) $(LDFLAGS_LOCAL)
ENVCOMPDEFS =
WRF_CHEM = 0
CPPFLAGS = $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG)
NETCDFPATH = /util/opt/netcdf/4.7/intel/20
HDF5PATH = /util/opt/hdf5/1.12/intel/20
WRFPLUSPATH =
RTTOVPATH =
PNETCDFPATH =
ADIOS2PATH =
bundled: io_only
external: io_only $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms_rsllite module_dm_rsllite $(ESMF_TARGET)
io_only: esmf_time wrfio_nf
\
wrf_ioapi_includes wrfio_grib_share wrfio_grib1 wrfio_int fftpack
######################
------------------------------------------------------------------------
Settings listed above are written to configure.wrf.
If you wish to change settings, please edit that file.
If you wish to change the default options, edit the file:
arch/configure.defaults
NetCDF users note:
This installation of NetCDF supports large file support. To DISABLE large file
support in NetCDF, set the environment variable WRFIO_NCD_NO_LARGE_FILE_SUPPORT
to 1 and run configure again. Set to any other value to avoid this message.
Testing for NetCDF, C and Fortran compiler
This installation of NetCDF is 64-bit
C compiler is 64-bit
Fortran compiler is 64-bit
It will build in 64-bit
NetCDF version: 4.7.4
Enabled NetCDF-4/HDF-5: yes
NetCDF built with PnetCDF: no
**************************
W A R N I N G
************************************
The moving nest option is not available due to missing rpc/types.h file.
Copy landread.c.dist to landread.c in share directory to bypass compile error.
*****************************************************************************
*****************************************************************************
This build of WRF will use NETCDF4 with HDF5 compression
*****************************************************************************
[demo01@c1210.swan WRF]$ ./compile -j 1 em_real | tee build.log 2>&1
Neither WRF_EM_CORE nor WRF_PLUS_CORE
are explicitly specified in shell environment....
copying Registry/Registry.EM to Registry/Registry
==============================================================================================
V4.6.0
No git found or not a git repository, git commit version not available.
Compiling: WRF_EM_CORE
WRFIO_NCD_LARGE_FILE_SUPPORT=1
Linux c1210.swan.hcc.unl.edu 4.18.0-513.24.1.el8_9.x86_64 #1 SMP Mon Apr 8 11:23:13 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
... <intermediate output omitted for clarity>
==========================================================================
build started: Mon Jun 24 09:02:38 CDT 2024
build completed: Mon Jun 24 09:56:43 CDT 2024
---> Executables successfully built <---
-rwxr-xr-x 1 demo01 demo 53111496 Jun 24 09:56 main/ndown.exe
-rwxr-xr-x 1 demo01 demo 53213280 Jun 24 09:56 main/real.exe
-rwxr-xr-x 1 demo01 demo 52438256 Jun 24 09:56 main/tc.exe
-rwxr-xr-x 1 demo01 demo 61026352 Jun 24 09:55 main/wrf.exe
==========================================================================
{{
<
/
highlight
>
}}
{{% /panel %}}
If the build finishes successfully a message will be printed, and the four executables
(
`ndown.exe`
,
`real.exe`
,
`tc.exe`
,
`wrf.exe`
) will be present in the
`main`
directory.
## Building WPS with PGI Compiler
### Building WPS version 3.x with PGI compiler
#### Apply patch
#### Apply patch
...
@@ -596,7 +885,7 @@ the WRF source code directory, the patch may be applied by running
...
@@ -596,7 +885,7 @@ the WRF source code directory, the patch may be applied by running
{{
<
/
highlight
>
}}
{{
<
/
highlight
>
}}
{{% /panel %}}
{{% /panel %}}
#### Build WPSv3
#### Build
ing
WPSv3
with PGI compiler
{{% panel theme="info" header="Building WPSv3" %}}
{{% panel theme="info" header="Building WPSv3" %}}
{{
<
highlight
code
>
}}
{{
<
highlight
code
>
}}
...
@@ -713,7 +1002,7 @@ g1print.exe height_ukmo.exe mod_levs.exe plotgrids.ncl rd_intermediate
...
@@ -713,7 +1002,7 @@ g1print.exe height_ukmo.exe mod_levs.exe plotgrids.ncl rd_intermediate
WPS does not print an explicit "Successful Build" message, but if the build finishes successfully
WPS does not print an explicit "Successful Build" message, but if the build finishes successfully
no error messages should be present and several programs will exist in the
`util`
folder.
no error messages should be present and several programs will exist in the
`util`
folder.
### Building WPS version 4.x
### Building WPS version 4.x
with PGI compiler
#### Apply patch
#### Apply patch
...
@@ -730,7 +1019,7 @@ the WRF source code directory, the patch may be applied by running
...
@@ -730,7 +1019,7 @@ the WRF source code directory, the patch may be applied by running
{{
<
/
highlight
>
}}
{{
<
/
highlight
>
}}
{{% /panel %}}
{{% /panel %}}
#### Build WPSv4
#### Build
ing
WPSv4
with PGI compiler
{{% panel theme="info" header="Building WPSv4" %}}
{{% panel theme="info" header="Building WPSv4" %}}
{{
<
highlight
code
>
}}
{{
<
highlight
code
>
}}
[demo01@login.crane WPS]$ ls
[demo01@login.crane WPS]$ ls
...
@@ -841,6 +1130,138 @@ g1print.exe gfs_old.ncl Makefile plotfmt_nc.ncl plotgrids_new.nc
...
@@ -841,6 +1130,138 @@ g1print.exe gfs_old.ncl Makefile plotfmt_nc.ncl plotgrids_new.nc
WPS does not print an explicit "Successful Build" message, but if the build finishes successfully
WPS does not print an explicit "Successful Build" message, but if the build finishes successfully
no error messages should be present and several programs will exist in the
`util`
folder.
no error messages should be present and several programs will exist in the
`util`
folder.
## Building WPS with Intel Compiler
#### Apply patch
In order to build WPS 4.x successfully , the configure source file requires patching. For convenience,
these are contained in a single patch file which can be applied. Note that _applying the patch
should only be done
**once**
after unpacking the source code._ Subsequent builds (even after
running
`clean -a`
) do
**not**
require rerunning the patch command. Starting in the top level of
the WRF source code directory, the patch may be applied by running
{{% panel theme="info" header="Apply patch for WPSv4" %}}
{{
<
highlight
code
>
}}
[demo01@c0604.crane WPS]$ wget https://hcc.unl.edu/docs/attachments/wps4_configure.patch
[demo01@c0604.crane WPS]$ patch -b -p0 -i wps4_configure.patch
{{
<
/
highlight
>
}}
{{% /panel %}}
#### Building WPSv4 with Intel compiler
{{% panel theme="info" header="Building WPSv4 withIntel compiler" %}}
{{
<
highlight
code
>
}}
ls
arch cmake compile_new external metgrid namelist.wps.fire ungrib
clean CMakeLists.txt configure geogrid namelist.wps namelist.wps.global util
cleanCMake.sh compile configure_new link_grib.csh namelist.wps.all_options README wps4_configure.patch
[demo01@c1210.swan WPS]$ ./configure
Will use NETCDF in dir: /util/opt/netcdf/4.7/intel/20
Found what looks like a valid WRF I/O library in ../WRF
Found Jasper environment variables for GRIB2 support...
$JASPERLIB = /util/opt/jasper/2.0/intel/20/lib
$JASPERINC = /util/opt/jasper/2.0/intel/20/include
------------------------------------------------------------------------
Please select from among the following supported platforms.
1.
Linux x86_64, gfortran (serial)
2.
Linux x86_64, gfortran (serial_NO_GRIB2)
3.
Linux x86_64, gfortran (dmpar)
4.
Linux x86_64, gfortran (dmpar_NO_GRIB2)
5.
Linux x86_64, PGI compiler (serial)
6.
Linux x86_64, PGI compiler (serial_NO_GRIB2)
7.
Linux x86_64, PGI compiler (dmpar)
8.
Linux x86_64, PGI compiler (dmpar_NO_GRIB2)
9.
Linux x86_64, PGI compiler, SGI MPT (serial)
10.
Linux x86_64, PGI compiler, SGI MPT (serial_NO_GRIB2)
11.
Linux x86_64, PGI compiler, SGI MPT (dmpar)
12.
Linux x86_64, PGI compiler, SGI MPT (dmpar_NO_GRIB2)
13.
Linux x86_64, IA64 and Opteron (serial)
14.
Linux x86_64, IA64 and Opteron (serial_NO_GRIB2)
15.
Linux x86_64, IA64 and Opteron (dmpar)
16.
Linux x86_64, IA64 and Opteron (dmpar_NO_GRIB2)
17.
Linux x86_64, Intel oneAPI compilers (serial)
18.
Linux x86_64, Intel oneAPI compilers (serial_NO_GRIB2)
19.
Linux x86_64, Intel oneAPI compilers (dmpar)
20.
Linux x86_64, Intel oneAPI compilers (dmpar_NO_GRIB2)
21.
Linux x86_64, Intel Classic compilers (serial)
22.
Linux x86_64, Intel Classic compilers (serial_NO_GRIB2)
23.
Linux x86_64, Intel Classic compilers (dmpar)
24.
Linux x86_64, Intel Classic compilers (dmpar_NO_GRIB2)
25.
Linux x86_64, Intel Classic compilers, SGI MPT (serial)
26.
Linux x86_64, Intel Classic compilers, SGI MPT (serial_NO_GRIB2)
27.
Linux x86_64, Intel Classic compilers, SGI MPT (dmpar)
28.
Linux x86_64, Intel Classic compilers, SGI MPT (dmpar_NO_GRIB2)
29.
Linux x86_64, Intel Classic compilers, IBM POE (serial)
30.
Linux x86_64, Intel Classic compilers, IBM POE (serial_NO_GRIB2)
31.
Linux x86_64, Intel Classic compilers, IBM POE (dmpar)
32.
Linux x86_64, Intel Classic compilers, IBM POE (dmpar_NO_GRIB2)
33.
Linux x86_64 g95 compiler (serial)
34.
Linux x86_64 g95 compiler (serial_NO_GRIB2)
35.
Linux x86_64 g95 compiler (dmpar)
36.
Linux x86_64 g95 compiler (dmpar_NO_GRIB2)
37.
Cray XE/XC CLE/Linux x86_64, Cray compiler (serial)
38.
Cray XE/XC CLE/Linux x86_64, Cray compiler (serial_NO_GRIB2)
39.
Cray XE/XC CLE/Linux x86_64, Cray compiler (dmpar)
40.
Cray XE/XC CLE/Linux x86_64, Cray compiler (dmpar_NO_GRIB2)
41.
Cray XC CLE/Linux x86_64, Intel Classic compilers (serial)
42.
Cray XC CLE/Linux x86_64, Intel Classic compilers (serial_NO_GRIB2)
43.
Cray XC CLE/Linux x86_64, Intel Classic compilers (dmpar)
44.
Cray XC CLE/Linux x86_64, Intel Classic compilers (dmpar_NO_GRIB2)
Enter selection [1-44] : 21
------------------------------------------------------------------------
Configuration successful. To build the WPS, type: compile
------------------------------------------------------------------------
Testing for NetCDF, C and Fortran compiler
This installation NetCDF is 64-bit
C compiler is 64-bit
Fortran compiler is 64-bit
[demo01@c1210.swan WPS]$ ./compile | tee build.log 2>&1
==============================================================================================
Version 4.6.0
Linux c1210.swan.hcc.unl.edu 4.18.0-513.24.1.el8_9.x86_64 #1 SMP Mon Apr 8 11:23:13 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
Intel(R) Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.3.304 Build 20200925_000000
Copyright (C) 1985-2020 Intel Corporation. All rights reserved.
==============================================================================================
****
Compiling WPS and all utilities
****
...
<intermediate
output
omitted
for
clarity
>
if [ -h int2nc.exe ] ; then
\
/bin/rm -f int2nc.exe ;
\
fi ;
\
if [ -h ../int2nc.exe ] ; then
\
/bin/rm -f ../int2nc.exe ;
\
fi ;
\
if [ -e src/int2nc.exe ] ; then
\
ln -sf src/int2nc.exe . ;
\
fi
[demo01@c1210.swan WPS]$ ls
arch cleanCMake.sh compile configure_new geogrid metgrid namelist.wps.all_options README util
build.log cmake compile_new configure.wps geogrid.exe metgrid.exe namelist.wps.fire ungrib wps4_configure.patch
clean CMakeLists.txt configure external link_grib.csh namelist.wps namelist.wps.global ungrib.exe
[demo01@c1210.swan WPS]$ ls util/
avg_tsfc.exe g1print.exe gfs_old.ncl Makefile plotfmt_nc.ncl plotgrids_old.ncl vertical_grid_38_20m_G3.txt
calc_ecmwf_p.exe g2print.exe height_ukmo.exe mod_levs.exe plotgrids.ncl rd_intermediate.exe vertical_grid_50_20m_63km.txt
CMakeLists.txt gfs.ncl int2nc.exe plotfmt.ncl plotgrids_new.ncl src vertical_grid_70_20m_80km.txt
{{
<
/
highlight
>
}}
{{% /panel %}}
WPS does not print an explicit "Successful Build" message, but if the build finishes successfully
no error messages should be present and several programs will exist in the
`util`
folder.
## Running WRF
## Running WRF
Example scripts for running WRF are provided
[
here
](
https://github.com/unlhcc/job-examples/tree/master/WRF
)
.
Example scripts for running WRF are provided
[
here
](
https://github.com/unlhcc/job-examples/tree/master/WRF
)
.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment