Updated: 26 July 18 October 2023
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
...
1. Load required modules and set environment variables
Paste the below lines into your terminal. (Putting these in ~/.bashrc is not recommended.)
Code Block | ||
---|---|---|
| ||
module purge module load cpeIntel/23.0309 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.3739-cpeIntel-23.0309 module load JasPer/1.900.1-cpeIntel-23.0309 module load flex/2.6.4 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=1 # Select 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) export WRF_KPP=1 export FLEX=flex export FLEX_LIB_DIR=${EBROOTFLEX}/lib export YACC='/usr/bin/yacc -d' ### Common mistake :: insert spaces before or after = |
...
3. Download WRF source code
An example for WRF 4.5.1 is as shown below.
Code Block | ||
---|---|---|
| ||
cd $DIR wget https://github.com/wrf-model/WRF/releases/download/v4.5.1/v4.5.1.tar.gz tar xzf v4.5.1.tar.gz mv WRFV4.5.1 WRF |
Note |
---|
Some chemistry options may be incompatible with the most recent WRF release. Users may need to compile WRF-Chem using older versions. |
...
Code Block |
---|
#!/bin/bash #SBATCH -p compute # Partition #SBATCH -N 1 # Number of nodes #SBATCH --ntasks-per-node=128 # Number of MPI processes per node #SBATCH -t 5-00:00:00 # Job runtime limit #SBATCH -J WRFchem # Job name #SBATCH -A ltxxxxxx # Account *** {USER EDIT} *** module purge module load cpeIntel/23.0309 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.3739-cpeIntel-23.0309 module load JasPer/1.900.1-cpeIntel-23.0309 module load flexADIOS2/2.6.49.1-cpeIntel-23.09 export OMP_NUM_THREADS=1 ulimit -s unlimited #srun -n16 ./geogrid.exe #srun -N1 -n1 ./ungrib.exe #srun -n16 ./metgrid.exe srun -n16 ./real.exe srun ./wrf.exe |
...
Note |
---|
CONVERT_EMISS of some WRF releases could cause an unexpected segmentation fault at runtime (see this and this). CONVERT_EMISS of WRF 3.6.1 and 4.5 are recommended. |
B. Compile WRF-Chem preprocessing tools (Optional)
Code Block | ||
---|---|---|
| ||
module purge
module load cpeIntel/23.03
module load cray-hdf5-parallel
module load cray-netcdf-hdf5parallel
export FC=ifort
export NETCDF_DIR=${CRAY_NETCDF_HDF5PARALLEL_PREFIX}
export LD_LIBRARY_PATH=${CRAY_LD_LIBRARY_PATH}:${LD_LIBRARY_PATH}
# GNU
# --> FC=gfortran
# --> Add -fallow-argument-mismatch
tar xzf ./WRFprechem_XXX.tar.gz
# ANTHRO
cd ./WRFchem_pre/anthro/src/
csh make_anthro
cd ../
ln -s ./src/anthro_emis .
cd ../../
# BIO
cd ./WRFchem_pre/bio/src/
csh make_util megan_bio_emiss
cd ../
ln -s ./src/megan_bio_emiss .
cd ../../
# MOZBC
cd ./WRFchem_pre/mozbc/src/
csh make_mozbc
cd ../
ln -s ./src/mozbc .
cd ../../
# FIRE
cd ./WRFchem_pre/fire/src/
csh make_fire_emis
cd ../
ln -s ./src/fire_emis .
cd ../../
# OXYGEN
cd ./WRFchem_pre/oxygen/src/
csh make_util wesely
csh make_util exo_coldens
cd ../
ln -s ./src/exo_coldens .
ln -s ./src/wesely .
cd ../../ |
Note |
---|
Official mozbc have NOT yet support the hybrid sigma-pressure vertical coordinate presented in WRF V3.9 and later. Although there seem to be a workaround (https://groups.google.com/a/ucar.edu/g/wrf-chem-mozbc/c/5nw6cqLRdxw), please proceed with caution.X are recommended. |
...
Contact Us
ThaiSC support service : thaisc-support@nstda.or.th
...