WRF
WRF 是一种统一的中尺度天气预报模式
WRF(Weather Research and Forecasting Model)模式是有美国环境预报中心(NCEP), 美国国家大气研究中心(NCAR)以及多个大学、研究所和业务部门联合研发。WRF模式适用范围很广,从中小尺度到全球尺度的数值预报和模拟都有广泛的应用。
一、脚本模板
- Slurm
#!/bin/bash #SBATCH --nodes=1 # 节点数量 #SBATCH --ntasks-per-node=56 # 每个节点核心数量 #SBATCH --ntasks=56 # 总核心数 #SBATCH --partition=g1_share # 队列分区且必须指定正确分区 #SBATCH --job-name=wrf # 作业名称 #SBATCH --output=hello.%j.out # 正常日志输出 (%j 参数值为 jobId) #SBATCH --error=hello.%j.err # 错误日志输出 (%j 参数值为 jobId) ############################################## # Software Envrironment # ############################################## unset I_MPI_PMI_LIBRARY # 取消默认mpi库,使用intel自带 export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # intel 多节点作业所需修改参数 module load intel/2022 intelmpi/2022 # intel 环境加载 module load wrf-3.7 # 软件加载 ############################################## # Run job # ############################################## export WRF_HOME=/es01/software/apps/WRFV3.7.0/WRFV3 export PBV=CLOSE export OMP_PROC_BIND=TRUE export OMP_NUM_THREADS=1 export OMP_STACKSIZE="16M" export WRF_NUM_TILES=112 mpirun -np 56 --bind-to core --map-by ppr:56:node:pe=2 numactl -l $WRF_HOME/main/wrf.exe
二、编译
-
环境加载
module load intel/2022 intelmpi/2022
-
WRF3.6
解压后进入WRF所在目录 $./configure选择第20项 20. Linux x86_64 i486 i586 i686,Xeon (SNB with AVX mods) ifort compiler with icc (dmpar) 第二项视乎研究对象选择,但普遍选择默认即可。 修改由configure产生的configure.wrf (1) 所有-O3改为-O2 (2) 删掉 -DUSE_NETCDF4_FEATURES (3) 在CFLAGS中加入-DRSL0_ONLY (*非必须但推荐,避免大规模计算时rsl文件刷屏的问题) 修改dyn_em/module_advect_em.F第7578行 !DEC$ vector always 改为 !DEC$ SIMD 修改完毕后编译WRF $./compile em_real >& compile.log & (其他模块可以通过$./compile查看,更详细的说明见wrf使用文档) 编译WPS 在编译WRF的基础上进一步添加环境变量 $module load jasper/1.900.1/00-CF-14-libpng 进入WPS目录 $./configure选择第19项 Linux x86_64, Intel compiler (dmpar) 修改configure.wps,将WRF_DIR改为你的WRF安装目录 $./compile >& compile.log & 成功后会在WPS目录下生成 geogrid.exe metgrid.exe ungrib.exe