modis数据介绍_WRF运行参数介绍 | namelist (1)

d41bbdc021c97163f987285f33f82524.gif

6deb1a9dae7fd9eb7bc3e6545cf28d29.png 0  前言

上篇文章我们介绍了WRF模式的安装WRF数值模型学习记录  |  安装,接下来就该是WRF的运行了。

本文主要分为两个部分:

WRF模式运行流程 namelist简要介绍 WPS控制文件namelist.wps 6deb1a9dae7fd9eb7bc3e6545cf28d29.png 1  WRF运行流程

WRF包含两个内核(也叫动力学求解器),分别为ARW(Advanced Research WRF)和NMM(Nonhydrostatic Mesoscale Model)内核,比较常用的是前者,下面的图片就是其整体运行的流程图。

289cace6af04b604d8e01888809d98ac.png

(吐槽一下:记得当时毕业论文外审的时候,有个专家非要我把这张图片里面的英文换成中文,虽然我也不知道换了有啥用。 ~啥,你也不想换? ~同学,延毕了解一下! 2a0ce1b8e6da500f4ce7fab29bd8c8ef.png 2a0ce1b8e6da500f4ce7fab29bd8c8ef.png ~收到,这就去重新画图 b911835cc62ef1b66c44687a8ac6a531.png b911835cc62ef1b66c44687a8ac6a531.png )

WRF运行一般整体流程就是:准备数据(地形数据+气象数据) -> WPS -> WRF -> 运行结束,数据处理

48305ac8db05f1437e1734a38e018558.png

其中不得不提到两个参数控制文件

namelist.wps(WPS的控制文件)

namelist.input(WRF的控制文件)。

由于namelist.input中内容较多,我们在下一篇文章中介绍。

6deb1a9dae7fd9eb7bc3e6545cf28d29.png

2 namelist简要介绍

WRF数值模式主要是采用Fortran语言编写的,接下来大致介绍一下Fortran语言中的namelist语法,以便大家得到一个合适的namelist输入文件,避免基本语法问题导致的报错。

首先namelist是一个包含系列变量可编辑文件,可以用许多程序来打开,比如linux上的vi/vim/gedit,Windows上的记事本/word/VS+IVF,以及一些代码编辑器如sublime(可下载Fortran的插件,推荐入坑哈~~)等。

namelist在read/write语句中使用,当其中设置参数NML=指定的namelist时,即可读取指定namelist中的变量(数字或者字符串等),read或write语法如下所示

WRITE/READ(UNIT=number, FMT=format, NML=namelist, REC=record, IOSTAT=stat, ERR=errlabel, END=endlabel, ADVANCE=advance, SIZE=size)

接着简单了解一下namelist的具体语法规则。

比如这里设置一个新的namelist文件(命名为namelist.example),其内容如下:

&NAA   =    11,    12,   13,B   =    21,    22,    23,C   =    33,    32,    33,/

第一行为符号 "&"加上组名"NA";

第二、三、四行则为整型变量A、B、C,值之间用空格和逗号来分隔;

第四行以除号 "/" 来结尾,这样就构成了一个简单的namelist文件。

read(UNIT=100, NML=namelist.example)

通过代码,这样就可以直接在程序中读入变量A,B,C了。

小技巧:namelist中参数通常较多,常常面临着参数调试的问题,当需要删除或者调试其中部分变量时,可以在变量最前面添加感叹号"!" 来注释掉相应变量,避免删除后再加回来的麻烦,要取消注释的话直接删除"!"就可以了。

如下,在变量"A"前面加上"!",这样就不会读入变量"A"了。

! A   =    11,    12,   13,

6deb1a9dae7fd9eb7bc3e6545cf28d29.png

3 namelist.wps

WPS作为一个WRF数据的前处理部分,包含了三个运行程序,分别为

geogrid.exe:处理下载的地理数据

ungrib.exe:处理网格气象数据

metgrid.exe:将ungrib中处理的气象数据水平插值到网格中

具体控制文件为namelist.wps,这里以自己使用的namelist.wps为例进行介绍,其中分别包括了share、geogrid、ungrib、metgrid四个部分,下面进行详细介绍。

一、share部分

share部分为WPS整体参数(包括core的选择、运行层数、时间等)以及部分geogrid的设置。

&sharewrf_core = 'ARW',    (表示调用的是ARW这个核)max_dom  = 2,        (表示两层嵌套)start_date = '2016-01-01_00:00:00','2016-01-01_00:00:00',  (模式开始运行时刻)end_date   = '2016-01-31_18:00:00','2016-01-31_18:00:00',  (模式终止运行时刻)interval_seconds = 21600,  (输入气象数据的时间间隔,单位s,这里表示6h)io_form_geogrid = 2,       (一般均设置为2,表示netCDF格式)opt_output_from_geogrid_path = '../output/',  !(这个参数是可选的,表示生成地形数据geo_em.d01.nc等的存放位置,默认放在WPS目录下。为了防止WPS目录下文件太多,我在外面新建了一个output目录来存储WPS中输出的内容)debug_level = 0,          (常规设置为0即可)/

二、geogrid部分

其主要对应了geogrid.exe程序,功能包括定义模拟区域、确定空间分辨率、地图投影类型、选择地形数据种类等

&geogridparent_id         =   1,   1,  (每个域的父域的编号,第1个域均设置为1)parent_grid_ratio =   1,   5,  (相对于父域的空间嵌套比率,第1个域为1,其余的官方推荐设为3或5)i_parent_start    =   1,  44,  (在其父域中左下角的x坐标。同理第一个域为1)j_parent_start    =   1,  11,  (在其父域中左下角的y坐标。同理第一个域为1)e_we              =   90, 91,  (每个域的东西向维度)e_sn              =   50, 91,  (每个域的南北向维度)geog_data_res     = '10m','5m', (模型中要使用的地形数据的分辨率,然后会插值到网格点上。可选择的值分别为:10m、5m、2m、30s)dx = 50000,  (x 方向的网格空间分辨率,只用设置第一层,如果有多个domain会根据parent_grid_ratio进行换算)dy = 50000,  (同理,y 方向的网格空间分辨率)map_proj  = 'lambert',  (投影类型,可选择:'lambert'、'polar'、'mercator'、'lat-lon')ref_lat   =  42.9,  (最外层domain中心纬度值,再加上网格数和网格间距就可以确定了模拟区域)ref_lon   = 110.0,  (同理,最外层domain中心经度值)truelat1  =  30.0,  (真实纬度,与投影方式有关,与投影方式有关)truelat2  =  60.0,  (同上)stand_lon = 110.0,  (标准经度,实际图形以这条轴来展开,一般设置与ref_lon相同)geog_data_path = '/home/lisi/wrf/data/geog/',  (地理数据存放位置)/

部分参数演示

568e68003077fbce341495be18ba558d.png

! 示例1parent_id = 1, 1, 2, 1,

e760eaab26fd99d29483b92c7bd79d45.png

! 示例2i_parent_start = 1, 31,j_parent_start = 1, 17,

44c90a427eaeb7ff18a71504671e1236.png

! 示例3e_we  = 201, 304,e_sn  = 188, 289,

geog_data_res 设置说明

  1. 这里使用的是角度,单位为(m)和(s),和距离的换算大致为:10m (~19km), 5m (~9km), 2m (~4km), 30s (~0.9km)。

  2. 在分辨率选择上,按照官网的推荐,网格的间距(单位为km)略微大于地形数据的分辨率,比如网格间距为9km,则这里可以选择2m(约4km)。

  3. 模型常用的两种地形数据分别为USGS和MODIS,3.8以前版本默认使用USGS,3.8及以后版本默认使用MODIS数据。比如想在3.7版本使用MODIS数据,则可以设置如下:

  • 'modis_30s+10m'

  • 'modis_30s+5m'

  • 'modis_30s+2m'

  • 'modis_30s+30s'

三、ungrib部分

对应了ungrib.exe程序,功能是将模式所需要的气象数据提取成单独的文件,以供后面的metgrid.exe程序使用。

&ungribout_format = 'WPS',  (一般均设为'WPS')prefix = '../output/FILE',  (设置输出文件路径和前缀,其中'../output/'为存储位置,表示将输出的气象数据文件放到../output/这个目录下;'FILE'表示文件名的前缀,即输出的气象数据文件名类似于'FILExxxx')/

四、metgrid部分

对应了metgrid.exe程序,将气象数据插值到网格点上,并输出包含地形数据和气象数据的文件。

&metgridfg_name = '../output/FILE',  (对应了ungrib部分中的prefix参数)io_form_metgrid = 2,  (最终输出文件(met_em*.nc)的格式,一般设置为2(netcdf)即可)opt_output_from_metgrid_path = '../output/',  (输出文件的位置)/
6deb1a9dae7fd9eb7bc3e6545cf28d29.png 4 日常一唠

感觉开头完事难,每篇文章原创不易,还望各位大佬在下面来波分享点赞在看

如果您有宝贵的意见或者建议,可直接在公众号内发送消息哦。

再次祝您生活开心,学习愉快哈~~~

f081c86d5aa7b15cf691f029f7fb259b.png

08ab8e067b936bca5b1d463c72c08d8a.png

  • 10
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值