WRF¶
简介¶
WRF(Weather Research and Forecasting Model)模式是有美国环境预报中心(NCEP), 美国国家大气研究中心(NCAR)以及多个大学、研究所和业务部门联合研发的一种统一的中尺度天气预报模式。 WRF模式适用范围很广,从中小尺度到全球尺度的数值预报和模拟都有广泛的应用。
WPS是预处理WRF运行数据的工具。
安装环境¶
序号 |
集群 |
平台 |
版本 |
位置 |
安装方式 |
---|---|---|---|---|---|
1 |
hpckapok1 |
cpu |
4.5.2 |
/share/software/Build_WRF/WRFV4.5.2 |
编译安装 |
. |
4.5 |
/share/software/Build_WRF/WPS-4.5 |
编译安装 |
使用方法¶
加载环境
module load wrf
把WRF和WPS拷贝到本地目录使用
#新建本地目录,把wrf和wps拷贝过去,本例新建wrftest目录,可按实际使用情况修改目录名称 mkdir -p ~/wrftest cd ~/wrftest cp -r ${WRFPATH} . cp -r ${WPSPATH} .
相关命令在WRF及WPS目录内,可以通过slurm脚本进行调用
#WPS的几个命令 cd ~/wrftest/WPS-4.5 ls *.exe geogrid.exe metgrid.exe ungrib.exe #WRF的几个命令 cd ~/wrftest/WRFV4.5.2/run/ ls *.exe ndown.exe real.exe tc.exe wrf.exe
geog静态地理数据路径
/share/software/Build_WRF/WPS_GEOG
WRF案例运行¶
准备工作¶
加载环境
module load wrf
把WRF和WPS拷贝到本地目录
#新建本地目录,把wrf和wps拷贝过去,本例新建wrf目录,可按实际使用情况修改目录名称 mkdir -p ~/wrftest cd ~/wrftest cp -r ${WRFPATH} . cp -r ${WPSPATH} .
创建静态地理数据连接
#静态地理数据约30g,创建软连接指向相应目录 cd ~/wrftest ln -s ${GEOGPATH} .
修改目录信息,指向刚才创建的软连接
用WPS处理数据¶
运行ungrib.exe¶
在wrftest目录下创建data目录
cd ~/wrftest mkdir -p data
下载Matthew案例气象数据到data目录,并解压
链接到GFS Vtable
cd ~/wrftest/WPS-4.5 ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable
使用脚本link_grib.csh链接GRIB数据
修改namelist.wps配置文件
创建ungrib.exe的slurm调用脚本,并提交任务
cd ~/wrftest/WPS-4.5 cat ungrib_slurm.slurm #========================= #!/bin/bash #SBATCH --job-name=ungrib #SBATCH --partition=cpuXeon6458 #SBATCH -N 1 #SBATCH --cpus-per-task=40 #SBATCH --output=job.%j.out #SBATCH --error=job.%j.err ./ungrib.exe #========================= sbatch ungrib_slurm.slurm
执行结束后,生成若干以FILE为开头的文件即运行成功
运行geogrid.exe¶
修改namelist.wps配置文件
cd ~/wrftest/WPS-4.5 vim namelist.wps #修改以下项目 parent_id = 1, parent_grid_ratio = 1, i_parent_start = 1, j_parent_start = 1, e_we = 91, e_sn = 100, geog_data_res = 'default', dx = 27000, dy = 27000, map_proj = 'mercator', ref_lat = 28.00, ref_lon = -75.00, truelat1 = 30.0, truelat2 = 60.0, stand_lon = -75.0,
修改前:
修改后:
创建geogrid.exe的slurm调用脚本,并提交任务
cd ~/wrftest/WPS-4.5 cat geogrid_slurm.slurm #========================= #!/bin/bash #SBATCH --job-name=geogrid #SBATCH --partition=cpuXeon6458 #SBATCH -N 1 #SBATCH --cpus-per-task=40 #SBATCH --output=job.%j.out #SBATCH --error=job.%j.err ./geogrid.exe #========================= sbatch geogrid_slurm.slurm
执行结束后,会生成geo_em.d01.nc文件,即运行成功
运行metgrid.exe¶
确认namelist.wps配置文件下,'fg_name'配置项的值为'FILE'
创建metgrid.exe的slurm调用脚本,并提交任务
cd ~/wrftest/WPS-4.5 cat metgrid_slurm.slurm #========================= #!/bin/bash #SBATCH --job-name=metgrid #SBATCH --partition=cpuXeon6458 #SBATCH -N 1 #SBATCH --cpus-per-task=40 #SBATCH --output=job.%j.out #SBATCH --error=job.%j.err ./metgrid.exe #========================= sbatch metgrid_slurm.slurm
执行结束后,会生成若干met_em为开头的文件,即运行成功
WRF运行¶
运行real.exe¶
进入WRF的run目录,链接到刚才创建的met_em文件
修改namelist.input配置文件
cd ~/wrftest/WRFV4.5.2/run vim namelist.input #修改以下项目 run_days = 0, run_hours = 48, run_minutes = 0, run_seconds = 0, start_year = 2016, start_month = 10, start_day = 06, start_hour = 00, end_year = 2016, end_month = 10, end_day = 08, end_hour = 00, interval_seconds = 21600 input_from_file = .true., history_interval = 180, frames_per_outfile = 1, restart = .false., restart_interval = 1440, time_step = 150, max_dom = 1, e_we = 91, e_sn = 100, e_vert = 45, num_metgrid_levels = 32, dx = 27000, dy = 27000,
修改前:
修改后:
创建real.exe的slurm调用脚本,并提交任务
cd ~/wrftest/WRFV4.5.2/run cat real_slurm.slurm #========================= #!/bin/bash #SBATCH --job-name=real #SBATCH --partition=cpuXeon6458 #SBATCH -N 1 #SBATCH --cpus-per-task=40 #SBATCH --output=job.%j.out #SBATCH --error=job.%j.err ./real.exe #========================= sbatch real_slurm.slurm
执行成功后,会生成wrfbdy_d01和wrfinput_d01两个文件
运行wrf.exe¶
进入WRF的run目录,创建slurm脚本
cd ~/wrftest/WRFV4.5.2/run cat wrf_slurm.slurm #以下脚本内容供参考,编写时以实际为准 #================================== #!/bin/bash #SBATCH --job-name=wrf #SBATCH --partition=cpuXeon6458 #SBATCH -N 2 #SBATCH --cpus-per-task=40 #SBATCH --output=job.%j.out #SBATCH --error=job.%j.err ulimit -s unlimited srun --mpi=pmix wrf.exe #==================================
提交slurm脚本,等待执行完成
cd ~/wrftest/WRFV4.5.2/run sbatch wrf_slurm.slurm
计算完成后会创建若干wrfout为开头的文件,即执行成功
参考资料¶
Contributor:肥恩