本文主要是介绍表面强迫1:用于表面施力的WRF模型配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
WRF大气模型
概述了如何使用WRF为FVCOM生成强制。
下载
WRF 需要注册才能下载代码。
为了以最小的运行模型运行,您需要下载:
- WRF-ARW-主要的WRF模型
- WPS -WRF预处理工具
- geog-地理数据。使用完整数据集(约48GB未压缩)或最小数据集(小得多)。
WRF还需要一些库:
-
netCDF
-
JasPer
-
zlib
-
libpng
-
mpich
这些可以从WRF 网站上获得。
汇编
图书馆
对于台式机Fedora Linux计算机,系统mpich用于WRF,但其他依赖项也已编译。一个示例脚本显示了建立在Fedora Linux系统库的步骤。该脚本放置在已下载WRF的目录中的新目录中$HOME/Models/WRF/LIBRARIES。
WRF
编译WRF必须在编译并安装了库之后进行(如果使用了wiki中的脚本,那就是$HOME/Models/WRF/LIBRARIES)。主要的WRF源代码(WRFV3目录)在中$HOME/Models/WRF。我使用了一个构建脚本来编译WRF,以便在整个集群(即分布式内存而不是共享内存)中并行使用。
WPS
要配置WRF运行所需的数据,需要安装WPS。由于WPS利用WRF功能,因此WPS的编译必须在WRF本身之后进行。编译WPS后,我将其源代码放在$HOME/Models/WRF目录中,并使用另一个构建脚本来构建必要的二进制文件。
WPS网格配置
运行WRF的第一步是使用WPS生成必要的输入文件。namelist.wps示例显示了英国架的3域嵌套配置。使用geogrid.exe产生用作主要WRF模式输入的netCDF网格。
强制数据
NCEP FNL全球输出
使用WRF的最简单方法是将GRIB格式的数据用作强制。NCEP FNL全球对流层运行模型的数据(1999年7月至今)可从CISL研究档案库免费获得。仅当在CISL上收到一个帐户(免费)时,数据才可用,并且一旦授予帐户,就可以批量下载数据。还有可以用来下载数据在一定时间内一个shell脚本这里。
数据下载完毕后,需要使用$HOME/Models/WRF/WPSWRF提供的link_grib.csh脚本将它们链接到WPS目录(如果您一直在使用此Wiki中的脚本)。之后,ungrib.exe需要运行二进制文件以生成WRF的正确格式(从GRIB文件中提取必要的变量)。一个Vtable文件必须被符号链接到$HOME/Models/WRF/WPS目录中第一个(对NCEP FNL数据,该文件可从信达国际证券网站)。示例namelist.wps也必须位于输出为的目录中link_grib.csh。然后metgrid.exe需要运行以将强制数据插值到模型网格中。
它运行的一个示例脚本link_grib.csh,ungrib.exe和metgrid.exe步骤都在一起,可以发现在这里。它要求目录布局如下:
.├── bin├── grids└── templates 其中bin包含link_grib.csh脚本和ungrib.exe和metgrid.exe二进制文件,grids包含模型网格生成(geogrid.exe)的输出,模板包含模板namelist.wps和Vtable。
准备脚本的 输出将放置在每年要处理的目录中。
ECMWF ERA临时
或者,可以使用ECMWF的ERA-Interim数据强制执行WRF。该过程类似于NCEP FNL数据的过程。下表显示了使用ERA-Interim运行WRF所需的变量。
与NCEP FNL数据一样,该过程将下载所需的变量,并使用将其从grib转换为WRF中间格式ungrib.exe。此外,文件在插入之前需要先应用系数。 calc_ecmwf_p.exemetgrid.exe
与NCEP数据一样,这些脚本采用以下目录结构:
.├── bin├── grids└── templates 广场下面的链接进入页面的模板文件templates目录,WPS前处理二进制文件(ungrib.exe,metgrid.exe和calc_ecmwf_p.exe)到bin你的WRF电网的netCDF文件到grids。
此bash脚本会自动从模板下载WRF所需的ECMWF ERA-Interim数据。一个单独的脚本将这些原始ECMWF ERA-Interim文件从grib转换为WRF中间格式。最后,此脚本将WRF中间文件插入到WRF强制文件中。
有关编译WRF的说明, 请参见编译部分,或按照官方说明进行操作。
运行WRF
WRF实际上是两个程序:real.exe和wrf.exe。
real.exe对输入文件进行预处理,并为主wrf.exe程序做准备,仅需进行“冷启动”即可运行(即从全局初始条件开始)。
wrf.exe是实际的WRF模型。它可以从冷启动(带有wrfbdy文件)或从重新启动(带有wrfrst_d01_2003-01-01_00:00:00每个域的一组文件)运行。
为了在ARCHER上运行WRF ,我编写了一个PBS提交脚本,它将在给定时间段内运行WRF(在PBS脚本中配置)。它要求模型名称列表(namelist.input)存在于目录中models(名称列表文件名为$year-$month.input-给定年份的每个月一个)。输出存储在中output/$year,日志(rsl.out.*和rsl.error.*)移到logs。输入文件应位于一个名为的目录中input/$year(这些文件是的输出metgrid.exe)。总之,此Wiki中的示例使用的目录结构为:
run├── input│ ├── 2000│ ├── ...│ └── 2010├── launch│ └── wrf_2000-2010.pbs├── logs├── models│ ├── 2000-01.input│ ├── 2000-02.input│ ├── ...│ ├── 2010-11.input│ └── 2010-12.input└── output├── 2000│ ├── 01│ ├── ...│ ├── 12│ └── restart├── ...└── 2010├── 01├── ...├── 12└── restart
后处理输出
FVCOM不能直接使用WRF输出。相反,FVCOM提供了许多例程来将WRF输出更正为FVCOM初始化的格式和变量类型。使用的主要原理之一是wrf_to_fvcom.f90可以在FVCOM源代码中找到。这是一个串行程序,因此在没有MPI的情况下进行编译。
为了稍微简化此过程,我在FVCOM源代码目录中包含了该wrf_to_fvcom.f90程序的makefile 。我还修改了以毫巴为单位的输出压力,并采用了一个新选项()来指定计算热通量参数的中心纬度(以前,它默认为George's Bank)。COARE2.6例程中的迭代次数()也已从6减少到3,以提高解决方案的稳定性(有时进行6次迭代有时会生成NaN值)。 wrf_to_fvcom.f90-latitudenits
这篇关于表面强迫1:用于表面施力的WRF模型配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!