Install your own WRF (DM+SM)
Updated: 28 February 2024
1. Load required modules and set environment variables
Paste the below lines into your terminal. (Putting these in ~/.bashrc is not recommended.)
module purge
module load cpeIntel/23.09
module load cray-hdf5-parallel/1.12.2.7
module load cray-netcdf-hdf5parallel/4.9.0.7
module load cray-parallel-netcdf/1.12.3.7
module load libpng/1.6.39-cpeIntel-23.09
module load JasPer/1.900.1-cpeIntel-23.09
module load ADIOS2/2.9.1-cpeIntel-23.09
export WRF_EM_CORE=1 # Explicitly select ARW core developed by NCAR
export WRF_NMM_CORE=0 # Not NMM core
export WRF_DA_CORE=0 # Not WRFDA
export WRF_CHEM=0 # Not WRF-Chem
export NETCDF=${CRAY_NETCDF_HDF5PARALLEL_PREFIX}
export NETCDFPAR=${CRAY_NETCDF_HDF5PARALLEL_PREFIX}
export PNETCDF=${CRAY_PARALLEL_NETCDF_PREFIX}
export HDF5=${CRAY_HDF5_PARALLEL_PREFIX}
export JASPERINC=${EBROOTJASPER}/include # (Optional)
export JASPERLIB=${EBROOTJASPER}/lib # (Optional)
export ADIOS2=${EBROOTADIOS2}
export WRFIO_NCD_LARGE_FILE_SUPPORT=1 # (Optional)
export PNETCDF_QUILT=1 # (Optional)
### Common mistake :: insert spaces before or after =
2. Set install location directory (DIR)
Let set an install path, DIR.
# While being in your desired install location directory, execute
export DIR=$(pwd)
3. Download WRF source code
An example for WRF 4.5.2 is as shown below.
cd $DIR
wget https://github.com/wrf-model/WRF/releases/download/v4.5.2/v4.5.2.tar.gz
tar xzf v4.5.2.tar.gz
mv WRFV4.5.2 WRF
For other version, check the WRF stable branches on the GitHub repository or WRF official website.
4. Enable GRIB2 IO (Optional)
Must set JASPERINC and JASPERLIB in Step 1
Open ${DIR}/WRF/arch/Config.pl (or Config_new.pl) using a text editor such as vi
Change the parameter
$I_really_want_to_output_grib2_from_WRF
from"FALSE"
to"TRUE"
5. Configure
5.1 Run ./configure
5.2 Edit configure.wrf
Open ${DIR}/WRF/configure.wrf using a text editor such as vi
Remove
-fpp -auto
fromOMPCC
Change all
icc
tocc -Wno-implicit-function-declaration -Wno-implicit-int
Append
-Wno-implicit-function-declaration -Wno-implicit-int
to existingcc
.Prepend
-fp-model precise
toFCBASEOPTS_NO_G
.
6. Compile WRF
7. Example: Job submission script
For DM+SM run, it is essential to specify -c
or --cpus-per-tasks
options for srun
to prevent a potential decrease in performance due to improper CPU binding.
Contact Us
ThaiSC support service : thaisc-support@nstda.or.th