本帖最后由 kermit 于 2023-1-2 20:30 编辑
本教程旨在帮助初学者运行并理解WRF数据前处理、数值预报、资料同化的完整流程,所描述的运行流程不是最简单的,但能够尽量避免遇到难以处理的问题。建议初学者按步骤操作,运行成功之后再尝试自己或者别的教程的方法。
1. Piggy Packages气象工具包 Piggy Packages气象工具包由南京信息工程大学大气科学学院Kermit Chen开发并维护,其中包含WRF、NCL、NCO、CDO、NCVIEW、PANOPLY等气象常用软件集合,无需安装,解压缩之后即可直接使用。 Piggy Packages气象工具包支持64位Windows 7及以上版本的操作系统,但如果需要运行WRF,建议使用Windows 10 1809及以上版本的操作系统。 Piggy Packages气象工具包解压缩之后,需要运行“配置Piggy_WRF.bat”脚本以下载并解压缩WRF程序包。配置完成后,WRF可以直接使用。
2. WPS数据前处理系统的运行 假设现在是2022年4月1日06时(世界时),我们想要预报如图所示的区域在接下来24小时内的逐小时天气要素变化。 由于现在刚刚到2022年4月1日06时,虽然我们可以获取到这个时刻全球不同站点的气象观测,但是各种地面、高空、卫星、雷达以及微波辐射计、飞机报等观测资料时空维度不一,有的区域观测资料密集而有的区域观测资料稀疏,质量也参差不齐,无法直接处理成均匀的格点数据。我们的预报需要这个时刻的气象格点资料,最简便的方法是从全球模式的预报场获得。
为了完成24小时的逐小时天气要素预报,我们已获取了全球模式于2022年4月1日00时起报的6、9、12、15、18、21、34、27、30小时预报场。其中6小时预报场,即6小时前对当前时刻的全球大气预报,作为本次预报的初始场,9-30小时预报场作为预报过程中的边界条件(因为区域模式不关注区域外发生了什么,但是区域外的大尺度天气系统又足以对区域内的天气造成影响,因此区域模式预报时需要全球模式的预报场为其提供边界条件)。
首先将 WPS程序包拷贝到当前目录: 进入WPS目录: 在运行WPS之前,需要编辑namelist.wps 文件,该文件记录了WPS运行时的各种参数。初学者可以直接使用我们提供的namelist.wps 文件。 打开当前目录: 将我们提供的namelist.wps文件拷贝至此,覆盖原文件,并将GFS全球预报场资料也拷贝至此。
然后生成模拟区域的地形数据,运行geogrid.exe 成功之后将生成geo_em.d01.nc、geo_em.d02.nc、geo_em.d03.nc文件。 接下来从GRIB格式的GFS全球预报场数据中提取模式需要的气象要素场: - ./link_grib.csh gfs.0p25.2022*
- ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable
- ./ungrib.exe
复制代码成功之后将生成FILE:2022-04-01_06、FILE:2022-04-01_09等文件 接下来将气象要素场插值到地形格点上: 成功之后将生成met_em.d01.2022-04-01_06:00:00.nc等文件 至此整个数据前处理流程运行完毕。
3. REAL生成模式的初始场和边界 回到Home目录: 将 WRF程序包拷贝到当前目录: 切换到WRF运行目录: real.exe的作用是将metgrid.exe生成的气象要素场处理为模式的初始场和边界条件,其运行参数储存在namelist.input 文件中。初学者可以直接使用我们提供的namelist.input文件。 打开当前目录: 将我们提供的namelist.input文件拷贝至此,覆盖原文件。 将metgrid.exe生成的met_em文件拷贝(对于初学者来说比较保险)到当前目录: 运行real.exe 运行完成后生成三层嵌套网格的初始场wrfinput_d01、wrfinput_d02、wrfinput_d03和最外层网格边界条件wrfbdy_d01 (内层网格的边界条件由外层网格提供,因此只有最外层网格需要全球模式为其提供边界条件)
4. 数值模式WRF的运行 现在到了激动人心的时刻了,让我们来运行数值模式WRF、占卜未来天气! 或者,如果你的电脑CPU和内存充足,你可以多核运行WRF: - mpirun -np $NUMBER_OF_PROCESSORS ./wrf.exe #[使用全部CPU核心]
- mpirun -np 2 ./wrf.exe #[使用2个CPU核心]
复制代码等待其运行完成。 如果在等待过程中想要查看进度,可以另外开启一个Cygwin窗口,输入: - tail -f ~/WRF/run/rsl.out.0000
复制代码运行完成后,将能看到每个小时的wrfout文件。
5. 绘图查看预报结果 您可以使用NCVIEW或者PANOPLY打开wrfout文件,直接查看各个变量绘图,或者使用NCL官网提供的脚本绘图。 - ncview wrfout_d01_2022-04-01_07:00:00
复制代码
6. WRFDA资料同化 我们知道,模式预报效果很大程度取决于初始场的准确度。但是还记得我们给模式提供的初始场是从哪里来的吗?
是的,它来自于6小时之前全球模式的预报结果。既然是预报,就一定会存在误差!那么我们要怎么修正预报的误差呢?这时,我们就要用到当前时刻的观测资料。
我们知道,全球模式预报场尽管存在误差,但毕竟是整齐的网格化数据,能够基本反映全球大气真实状况;而观测资料数量众多,但空间分布疏密不均,质量参差不齐,由于设备故障或算法问题导致的数据错误或不准确时常发生。我们通过资料同化的方法充分利用优质的观测资料、按权重采信准确度一般但又有一定利用价值的观测资料,以修正模式初始场;而明显不可信的观测资料一般直接剔除。相关理论知识在此不予展开,请感兴趣的同学自行学习。
回到Home目录: 新建WRFDA运行目录: - mkdir -p WRFDA/d01 WRFDA/d02 WRFDA/d03 WRFDA/obs
复制代码然后将所需的namelist.input拷贝到对应目录,d01还需要拷贝更新边界条件的配置文件parame.in,观测资料拷贝到obs目录。 依次对三层嵌套的初始场进行同化: - #d01:
- cd d01
- cp ~/WRF/run/wrfinput_d01 fg #背景场
- cp ../obs/prepbufr.gdas.20220401.t06z.nr.48h ob.bufr #常规观测
- cp ../obs/gdas.1bamua.t06z.20220401.bufr amsua.bufr #卫星AMSUA观测
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/var/run/be.dat.cv3 be.dat #背景误差协方差矩阵
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/run/LANDUSE.TBL .
- # cp /opt/WRF-4.4.2/WRFDA-RTTOV/var/run/VarBC.in . ##如果导致WRFDA卡死,请删除VarBC.in文件
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/var/run/radiance_info .
- ln -sf /opt/WRF-4.4.2/RTTOV/rtcoef_rttov12/rttov7pred54L rttov_coeffs
- /opt/WRF-4.4.2/WRFDA-RTTOV/var/build/da_wrfvar.exe
- #d01同化之后需要更新边界条件
- cp ~/WRF/run/wrfbdy_d01 .
- /opt/WRF-4.4.2/WRFDA-RTTOV/var/build/da_update_bc.exe
- cd ..
- #d02:
- cd d02
- cp ~/WRF/run/wrfinput_d02 fg #背景场
- cp ../obs/prepbufr.gdas.20220401.t06z.nr.48h ob.bufr #常规观测
- cp ../obs/gdas.1bamua.t06z.20220401.bufr amsua.bufr #卫星AMSUA观测
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/var/run/be.dat.cv3 be.dat #背景误差协方差矩阵
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/run/LANDUSE.TBL .
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/var/run/VarBC.in .
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/var/run/radiance_info .
- ln -sf /opt/WRF-4.4.2/RTTOV/rtcoef_rttov12/rttov7pred54L rttov_coeffs
- /opt/WRF-4.4.2/WRFDA-RTTOV/var/build/da_wrfvar.exe
- cd ..
- #d03:
- cd d03
- cp ~/WRF/run/wrfinput_d03 fg #背景场
- cp ../obs/prepbufr.gdas.20220401.t06z.nr.48h ob.bufr #常规观测
- cp ../obs/gdas.1bamua.t06z.20220401.bufr amsua.bufr #卫星AMSUA观测
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/var/run/be.dat.cv3 be.dat #背景误差协方差矩阵
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/run/LANDUSE.TBL .
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/var/run/VarBC.in .
- cp /opt/WRF-4.4.2/WRFDA-RTTOV/var/run/radiance_info .
- ln -sf /opt/WRF-4.4.2/RTTOV/rtcoef_rttov12/rttov7pred54L rttov_coeffs
- /opt/WRF-4.4.2/WRFDA-RTTOV/var/build/da_wrfvar.exe
- cd ..
复制代码至此WRFDA资料同化的全部流程已经完成。在科研工作中,我们还需要对同化结果进行细致的诊断分析,以评估资料和同化算法的质量。感兴趣的同学可以自行学习。
7. 使用同化后的初始场进行数值预报 我们通过WRFDA同化系统,得到了更加准确的模式初始场,我们将这些初始场拷贝到WRF运行路径下,即可进行数值预报试验。 - cd ~/WRF/run
- #删除之前的初始场和预报结果
- rm -rf wrfbdy_d01 wrfinput_d0* wrfout_*
- #拷贝同化后的初始场和边界条件
- cp ~/WRFDA/d01/wrfbdy_d01 .
- cp ~/WRFDA/d01/wrfvar_output wrfinput_d01
- cp ~/WRFDA/d02/wrfvar_output wrfinput_d02
- cp ~/WRFDA/d03/wrfvar_output wrfinput_d03
- #运行WRF
- mpirun -np $NUMBER_OF_PROCESSORS ./wrf.exe
复制代码祝你一切顺利! |