自助网站建设开发,修改 WordPress 模板,潍坊专科学校,it运维外包服务方案【WRF工具】MPAS#xff08;多尺度预测模型#xff09;-输出WRF初始和横向边界条件 MPAS概述模型概述主要特点 使用MPAS输出WRF初始和横向边界条件参考 从WPS的v3.9版本开始#xff0c;metgrid.exe程序能够从 跨尺度预测模型#xff08;The Model for Prediction Across Sc… 【WRF工具】MPAS多尺度预测模型-输出WRF初始和横向边界条件 MPAS概述模型概述主要特点 使用MPAS输出WRF初始和横向边界条件参考 从WPS的v3.9版本开始metgrid.exe程序能够从 跨尺度预测模型The Model for Prediction Across Scales, MPAS 读取netCDF格式的本机非结构化网格输出。本博客主要简介MPAS多尺度预测模型。
MPAS概述
官网-MPAS Overview
模型概述
MPAS多尺度预测模型是一个合作项目旨在开发大气、海洋及其他地球系统模拟组件用于气候研究、区域气候研究和天气预报。主要开发合作伙伴包括洛斯阿拉莫斯国家实验室LANL的气候建模组COSIM和国家大气研究中心NCAR。这两个主要合作伙伴共同负责MPAS框架、通用操作符和工具的开发LANL主要负责海洋和陆冰模型而NCAR主要负责大气模型。
主要特点
非结构化Voronoi网格 MPAS采用非结构化的Voronoi网格正式称为球面中心Voronoi划分SCVTs这使得模型能够进行球体的准均匀离散化和局部细化。C-grid离散化 模型使用C-grid离散化方法特别适合进行高分辨率的中尺度大气和海洋模拟。在C-grid中速度的法向分量是在网格边缘上进行预报的这提高了模拟的精度。陆冰模型 MPAS的陆冰模型利用SCVT的双重网格结构采用适用于有限元离散化的三角形Delaunay划分。
使用MPAS输出WRF初始和横向边界条件
WRF User Guide-Using MPAS Output for WRF Initial and Lateral Boundary Conditions
从WPS的v3.9版本开始metgrid.exe程序能够从跨尺度预测模型MPAS读取netCDF格式的本机非结构化网格输出然后metgrid.exe程序可以水平地将MPAS字段直接插入到由geogrid.exe程序定义的任何域以产生可由WRF real.exe程序使用的输出文件其方式与从中间文件插入的metgrid输出完全相同。 这样海洋资源系统的输出可用于为水资源资源提供初始和横向边界条件。
在运行MPAS模拟时必须设置输出流以包含初始化WRF模拟所需的最小字段集。对于MPAS v5.x下面的输出流应该足够了。
stream namewrf_ic_bctypeoutputfilename_templateMPAS.$Y-$M-$D_$h.ncoutput_interval3:00:00 var namextime/var_array namescalars/var namepressure/var namezgrid/var nametheta/var nameuReconstructZonal/var nameuReconstructMeridional/var nameu10/var namev10/var nameq2/var namet2m/var nameskintemp/var namesurface_pressure/var namemslp/var nametslb/var namesmois/
/stream在运行MPAS并定义合适的输出流之后将生成一组包含本地MPAS网格上字段的netCDF文件。由于这些文件不包含描述MPAS网格单元的位置、几何形状和连通性的字段因此必须将这些信息与来自MPAS仿真的“静态”文件一起提供给metgrid程序。因此有必要在metgrid命名列表记录中指定带有constants_name和fg_name变量的MPAS netCDF文件前缀为‘ MPAS: ’例如
metgridconstants_name ‘mpas:static.nc’fg_name ‘mpas:MPAS’
/在上面的例子中metgrid.exe程序将首先读取MPAS的静态文件。读取网格信息并计算从MPAS网格到由geogrid.exe程序定义的WRF域的重映射权重然后将处理前缀为“MPAS”后缀为YYYY-MM-DD_HH.nc的MPAS文件的所有时间段。real.exe程序就可以正常运行了。
ungrib.exe程序创建的中间文件中的数据可以通过metgrid程序与MPAS数据相结合。这可能是有用的例如利用其他来源的海温、海冰或陆地表面场。
下面显示了一个将MPAS数据与带有土壤数据带有‘ ERAI_SOIL ’前缀的ERA-Interim中间文件组合在一起的示例。
metgridconstants_name ‘mpas:static.nc’fg_name ‘mpas:MPAS’, ‘ERAI_SOIL’
/由于MPAS ‘ zgrid ’字段不随时间变化因此可以从MPAS周期输出流中省略然而在这种情况下‘ zgrid ’字段必须放在它自己的netCDF文件中该文件还必须将维度‘ Time ’定义为netCDF无限维度。然后这个文件比如‘ zgrid.nc ’可以使用constants_name namelist变量提供给metgrid程序例如
metgridconstants_name ‘mpas:static.nc’, ‘mpas:zgrid.nc’fg_name ‘mpas:MPAS’
/将‘ zgrid ’字段放在它自己的文件中可以节省相当大的空间当长MPAS模拟运行时或者当输出流用作WRF初始和边界条件以高时间频率写出来时。下面的python脚本可以作为如何将‘ zgrid ’字段提取到其自己的netCDF文件的示例。
from netCDF4 import Datasetfin Dataset(init.nc)
fout Dataset(zgrid.nc,w,formatNETCDF3_64BIT)
nCells fin.dimensions[nCells].size
nVertLevelsP1 fin.dimensions[nVertLevelsP1].sizefout.createDimension(dimnameTime,sizeNone)
fout.createDimension(dimnamenCells,sizenCells)
fout.createDimension(dimnamenVertLevelsP1,sizenVertLevelsP1)
fout.createVariable(varnamezgrid,datatypef,dimensions(nCells, nVertLevelsP1))
fout.variables[zgrid][:] fin.variables[zgrid][:]
fout.close()
fin.close()值得注意的是metgrid.exe使用本机MPAS输出尚未对并行即“dmpar”构建的WPS进行彻底测试因此从WPS v4.0版本开始建议在处理MPAS数据集时串行运行metgrid.exe。
此外在大型MPAS网格的情况下可能有必要增加metgrid代码中的两个常量的值这两个常量用于静态分配用于计算从MPAS网格到WRF域的重映射权重的几个数据结构。这两个常量如下所示位于WPS/src/metgrid/remapper.F 文件中。
! should be at least (earth circumference / minimum grid distance)
integer, parameter :: max_queue_length 2700! should be at least (nCells/32)
integer, parameter :: max_dictionary_size 82000 在更改这些常量的值之后必须重新编译metgrid。
参考