本文主要是介绍表面强迫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/WPS
WRF提供的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.exe
metgrid.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
-latitude
nits
这篇关于表面强迫1:用于表面施力的WRF模型配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!