表面强迫1:用于表面施力的WRF模型配置

本文概述了如何使用WRF大气模型为FVCOM生成强制数据,包括下载、编译WRF和WPS,配置网格,处理NCEPFNL和ECMWF数据,运行WRF模型,以及将输出转换为FVCOM可用格式的全过程。

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.cshungrib.exemetgrid.exe步骤都在一起,可以发现在这里。它要求目录布局如下:

    .
    ├── bin
    ├── grids
    └── templates

其中bin包含link_grib.csh脚本和ungrib.exemetgrid.exe二进制文件,grids包含模型网格生成(geogrid.exe)的输出,模板包含模板namelist.wpsVtable

准备脚本的 输出将放置在每年要处理的目录中。

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.exemetgrid.execalc_ecmwf_p.exe)到bin你的WRF电网的netCDF文件到grids

bash脚本会自动从模板下载WRF所需的ECMWF ERA-Interim数据。一个单独的脚本将这些原始ECMWF ERA-Interim文件从grib转换为WRF中间格式。最后,此脚本将WRF中间文件插入到WRF强制文件中。

有关编译WRF的说明, 请参见编译部分,或按照官方说明进行操作

运行WRF

WRF实际上是两个程序:real.exewrf.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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值