【数值模型系列】WPS概述
1 WPS简介
WRF 预处理系统 (WRF Pre-Processing System,WPS
) ,集成了基于Fortran
和C
编写的程序,这些程序主要用于处理输入到real.exe
的数据。WPS主要有三个程序和一些辅助程序。
2 各程序介绍
主要的程序为geogrid.exe、ungrib.exe、metgrid.exe
,输入到这些程序的配置在“namelist.wps
”中,每个主要程序都有一个独立的配置模块(分别命名为“&geogrid
”、“&ungrib
”、“&metgrid
”,这些模块以“/”分隔),并且三个程序配置模块共有一个共享模块(名为“&share
”)供每个程序读取。
2.1 geogrid
- 定义模型水平区域
- 将静态数据水平插值到模型模拟区域
- 输出满足
WRF I/O API
格式(geo_em.dxx.nc
)
2.2 ungrib
- 解析
grib1
和grib2
数据 - 使用表格来决定提取哪些变量
- 支持等压和广义垂直坐标系
- 输出中间格式(非
WRF I/O API
)文件
2.3 metgrid
- 提取静态数据和原始气象场
- 将气象场水平插值到模型区域
- 输出满足
WRF I/O API
格式(met_em.dxx.yyyy-mm-dd_HH:MM:SS.nc
)
3 特别介绍
3.1 并行性(Parallelism)
geogrid
和 metgrid
程序可以作为分布式内存并行作业,以减少处理数据的时间。这两个程序直接使用MPI
调用,与 WRF
相比,WRF
具有抽象层(RSL
或 RSL_LITE
)。
3.2 GRIB2数据
处理GRIB2
需要三个额外的库:zlib
、png
和 jasper
。建议用户安装这些软件包时请求系统管理员的支持。用户在没有这些库的情况下可选择“NO GRIB2
”选项完成代码的编译。
4 安装WPS(简介)
与 WRF
包类似,WPS
使用两步构建:
./configure
./compile
如果用户在公认的架构上,则配置脚本将显示可用列表编译选项(通常是串行与并行,Grib2可用
与“NO GRIB2
”选项)。对于某些操作系统选项,支持多种编译器。
配置选项列出了“build GRIB2
”和“do not build GRIB2
”选项,建议选取第一个选项。
需要使用NCAR Graphics
的绘图程序不会自动编译。必须正确设置库路径
在configure.wps
中,然后使用以下命令进行编译:
./compile plotfmt
./compile plotgrids
5 运行WPS(对于串行编译方式)
5.1 geogrid.exe
- 编辑
namelist.wps
(&share
和&geogrid
模块) - 确保使用了正确的
GEOGRID.TBL
(ls -l geogrid/GEOGRID.TBL*
) - 输入’
geogrid.exe
’运行 - 检查日志文件(
geogrid.log
)
5.2 ungrib.exe
- 编辑
namelist.wps
中的’start_date
’和’end_date
’,输出文件的前缀(&share
和&ungrib
模块) - 链接正确的
Vtable
:
ls -l ungrib/Variable_Tables
# For example, for NCEP GFS (or AVN, FNL) data,
ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable
- 链接
grib
数据文件
link_grib.csh /data-directory/file*
- 输入 ‘
ungrib.exe >& ungrib.out
’ 运行 - 在
ungrib.log
和ungrib.out
中检查输出记录
5.3 metgrid.exe
- 编辑
namelist.wps
(&share
和&metgrid
模块) - 确保使用了正确的
METGRID.TBL
(ls -l metgrid/METGRID.TBL*
) - 输入’
metgrid.exe
’运行 - 检查日志文件(
metgrid.log
)
6 其他工具介绍
WPS/util/
路径下有一些工具。
6.1 avg_tsfc.exe
- 功能:计算地表空气的日均温度,读取
namelist.wps
文件 - 用法:
avg_tsfc.exe
6.2 g1print.exe
- 功能:读取
grib1
文件,输出构建Vtable
的信息 - 用法:
g1print.exe GRIB1_file
6.3 g2print.exe
- 功能:读取
grib2
文件,输出构建Vtable
的信息 - 用法:
g2print.exe GRIB2_file
6.3 mod_levs.exe
- 功能:减少中间文件的层数,以便不同的GRIB源能在初始和横向边界时段能使用
- 用法:
mod_levs.exe OLD_intermetdiate:date_string NEW_intermetdiate:date_string
处理某时次的单个文件,可使用namelist.wps
中定义的气压层
6.4 plotfmt.exe
- 功能:生成中间文件中每个字段和级别的2d水平图的
NCAR Graphics
元代码 - 用法:
plotfmt.exe intermediate_file:date_string
6.5 plotgrids.exe
- 功能:绘制各个
domain
的模拟区域图,domain
信息来自于namelist.wps
- 用法:
plotgrids.exe
6.6 rd_intermediate.exe
- 功能:读取中间文件并将其信息打印到屏幕上
- 用法:
rd_intermediate.exe intermediate_file:date_string
6.7 calc_ecmwf_p.exe
- 功能:当使用
ECMWF
模型的GRIB
格式数据时,计算ungrib.exe
程序输出文件中的3-D气压、高度和相对湿度这些量,并将其写入到新的中间文件中,这些中间文件将等同于新的ungrib
输出文件被使用。namelist.wps
中&share
模块中指定的时段中的每个时次都会被处理 - 用法:
calc_ecmwf_p.exe
7 其他
7.1 静态输入数据
静态输入数据提供了两个压缩文件,一个包含全分辨率数据(30", 2’, 5’和10’),另一个只包含10’的低分辨率数据。
数据下载地址
7.2 气象输入数据
GFS
FNL
7.3 WPS输出示例
WPS输出到WRF示例
本人独自运营了微信公众号,用于分享个人学习及工作生活趣事,大家可以关注一波。(微信搜索“微思研”)