WRF中namelist.wps与namelist.input参数详解

   作为一位的WRF初学者,在设置namelist.wps和namelist.input时,我总是感觉在设置namelist的时候较为模糊。于是,我通过参考官网方文档、网络上相关的资料和自己模拟时设置的经验,对namelist中的一些参数进行解析,以便我们更好的设置和理解这些参数。

1、namelist.wps

&share
Wrf_core=‘ARW’, #告诉WPS输入数据准备用哪个动态核心,可选‘ARW’或‘NMM’
Max_dom=2, #最大嵌套层数,包括粗域
start_date = ‘2011 - 10 - 01_00:00:00’,‘2011 - 10 - 01_00:00:00’,‘2011 - 10 - 01_00:00:00’, #模型模拟的开始时间
end_date = ‘2012 - 09 - 31_18:00:00’,‘2012 - 09 - 31_18:00:00’,‘2012 - 09 - 31_18:00:00’, #模型模拟的结束时间
interval_seconds= 21600 #输入数据的时间间隔,单位是秒,比如如果你ERA5的数据是6小时的分辨率,则应该是21600
io_form_geogrid=2, #geo_em*文件的输出格式,1=Binary,2=netCDF,3=GRIB1,因为 metgrid需要netCDF格式,所以一般设置为2
opt_output_from_geogrid_path #一个字符串,给出从geogrid输出文件的写入和读取位置的相对或绝对路径。默认值为“./”。
debug_level #一个整数值,指示不同类型的消息应发送到标准输出的范围。当debug_level设置为0时,只有通常有用的消息和警告消息才会写入标准输出。当debug_level大于100时,提供更多运行时详细信息的信息性消息也会写入标准输出。调试消息和专门用于日志文件的消息从不写入标准输出,而是始终写入日志文件。默认值为0。

&geogrid
parent_id = 1,1,2,#表示每个域的粗域的域号,粗域的域号默认为1,嵌套域就看被哪个粗域所包围,其粗域就是嵌套域的域号
parent_grid_ratio = 1,3,3,#嵌套时,粗域相对于嵌套域的格网水平比例,粗域的值默认为1。如果你不熟悉模型的话,建议将嵌套域比率设置为3或5,最好设置为3,不建议设置为偶数。若比率设置为3,母网格分辨率为27km,则第二层网格分辨率为27km/3=9km。
i_parent_start=1,19,28,#嵌套域的左下角在母域网格中x方向的起始位置,d01固定为1
在这里插入图片描述
j_parent_start = 1,16,21,#嵌套域的左下角在母域网格中Y方向的起始位置,d01固定为1。
e_we=74,115,109,# x方向的格点数,注意与网格数区别,格点数=网格数+1,嵌套网格的e_we必须大于母域网格比率的整数倍,确保嵌套网格的起始点始终在母域网格的格点上。
在这里插入图片描述
e_sn = 56,76,76,# y方向的格点数,建议网格分辨率不小于100*100,同时边界域每侧需预留10个(至少5个格网),如果人为分配域太小,将通过强制数据来确定解决方案。
geog_data_res =‘2m’,‘30s’,‘30s’,#插值静态地面数据时使用的源数据分辨率。MAX_DOM字符串列表,为每个嵌套指定一个对应的分辨率或由源数据+符号分隔的分辨率列表,将静态地面数据插入嵌套的网格时使用。对于每一个嵌套,该字符串都包含一个分辨率,该分辨率与GEOGRID.TBL中rel_路径或abs_路径规范中冒号前面的字符串相匹配。如果字符串中的分辨率与GEOGRID.TBL中某个字段的rel_路径或abs_路径规范中冒号前面的字符串不匹配,将会使用数据的默认分辨率。如果多个分辨率匹配,则匹配GEOGRID.TBL中rel_路径或abs_路径规范中字符串的第一个分辨率。将使用TBL文件。默认值为’default’。
dx =0.166916,# x方向上的格网分辨率。
dy = 0.166405,#y方向上的格网分辨率。
map_proj = ‘lat - lon’,#指定模拟域投影的字符串(所有域必须使用相同的投影)。对于ARW,可接受Lambert/Polar/Merctort/lon-lat投影,推荐dx=dy。如果如果模拟域处于高纬度,最好选择Polar投影,Lambert适合在中纬度进行投影;Merctort适合于低纬度地区或以东西向为主的地区;而全球ARW模拟则需要lon-lat(cylindrical equidistant)投影,它非常适合用于投影地球表面任何地方。
polar stereographic projection:称为正球面投影或正轴等角方位投影,是地图投影的一种,属于透视方位投影。其投影面切于地球两极之一或是割于指定的某一纬度,视点位于与之相对的极点上。
Lambert Conformal projection:称为兰伯特等角投影,是一种等角圆锥投影,由德国数学家兰伯特提出。它是用一圆锥与地球相切于一条纬线或相割于两个纬线上。该投影中经纬线形状与地表实际情况接近,适用于中纬度地区的中、小比例尺地图。
Merctort Projection:称为等角正切圆柱投影,由荷兰地图学家墨卡托在1569年拟定的,假设地球被包围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱面上,再把圆柱体展开,得到墨卡托投影地图。
lon-lat(cylindrical equidistant):称为等距圆柱也称为等矩形、简单圆柱、矩形或简易圆柱地图投影(当标准纬线是赤道时)。纬线和经线格网从东到西以及两极之间形成等积矩形。
在这里插入图片描述
ref_lat = 44.893,
ref_lon = 86.107,# 对于ARW,ref_lat和ref_lon给出域中已知位置的纬度和经度(建议将其设置为粗略域的中心-要更改此设置,还必须指定ref_x和ref_y-有关更多信息,请参阅WRF用户指南第3章)。
truelat1 = 44.893,
truelat2 = 44.893,# 对于Lambert conformal,ploar stereographic,and Mercator projections,它们是投影面与地球表面相切或相交的纬度。在这个纬度上,地图投影中的距离没有失真,而在其他纬度上,地球表面上的距离通过地图比例因子与投影表面上的距离有关,而有失真。这两个值和ref_lat的取值一样就行。
在这里插入图片描述
stand_lon = 86.107,#它是一个实际值,在ARW中,指平行于Lambert共形和极赤道投影中y轴的经度。对于常规经纬度投影,该值给出了绕地球地理极点的旋转。对于NMM,stand_lon被忽略。没有默认值。这个取值和ref_lon一样就行。
geog_data_path = ‘/home/annnabelle/WRF/WPS_GEOG’,#地形数据路径。
opt_geog_tbl_path:GEOGRID.TBL的存储位置,可选参数,若为共享编译代码,建议设置。
ref_x = 37.0,#等于 (E_WE/2.)
ref_y = 28.0,#等于(E_SN/2.)

&Ungrib
out_format = ‘WPS’,#设置为“WPS”、“SI”或“MM5”的字符串。如果设置为“MM5”,ungrib将以MM5 pregrid程序的格式写入输出;如果设置为“SI”,ungrib将以grib_prep.exe格式写入输出;如果设置为“WPS”,ungrib将以WPS中间格式写入数据。默认值为“WPS”。
prefix = ‘/home/annnabelle/WRF/WPS/ungrib/Paper3/3D’,#将用作ungrib创建的中间格式文件前缀的字符串;这里,prefix指的是中间文件的文件名前缀YYYY-MM-DD_HH中的字符串前缀。前缀可能包含相对或绝对路径信息,在这种情况下,中间文件将写入指定的目录。如果要在多个GRIB数据源上运行ungrib,此选项可能有助于避免重命名中间文件。默认值为“FILE”。

&metgrid
fg_name = ‘/home/annnabelle/WRF/WPS/ungrib/Paper3/3D’,‘/home/annnabelle/WRF/WPS/ungrib/Paper3/SFC’,#一组字符串,用于指定未加密数据文件的路径和前缀。路径可以是相对的,也可以是绝对的,前缀应该包含文件名的所有字符,包括但不包括日期前的冒号。如果指定了多个fg_名称,并且在两个或多个输入源中找到相同的字段,则最后遇到的源中的数据将优先于该字段的所有之前的源。默认值为空列表(即无气象字段)。
io_form_metgrid = 2,#表示输出的文件格式,可选择的选项有,1是二进制格式,2是netCDF格式,3是GRIB1格式,默认值是2(netCDF格式)。
opt_output_from_metgrid_path = ‘/media/annnabelle/Miao/WRF/ERA - Intermin/TB_Short/met/paper3_new3/2012’,#表示metgrid.exe运行后,输出的文件路径,默认值是当前的工作文件夹(./)。
opt_metgrid_tbl_path = ‘/home/annnabelle/WRF/WPS/metgrid/ ’ #METGRID.TBL 文件所在文件夹的路径,既可以是绝对路径也可以是相对路径,默认值是’./metgrid’。

2、namelist.input

&time_control
run_days = 365,#模型运行的天数。
run_hours = 18,#模型运行的小时长度,以小时为单位的运行时间注意:如果超过1天,可以同时使用run_days和run_hours,也可以只使用run_hours。例如,如果总运行时间为36小时,您可以将运行天数设置为1,运行小时数设置为12,或将运行天数设置为0,运行小时数设置为36。
run_minutes = 0,
run_seconds = 0,
start_year (max_dom) = 2011,2011,2011,#开始的年份
start_month (max_dom) = 09,09,09, #开始的月份
start_day (max_dom) = 01, 01, 01,#开始的天
start_hour (max_dom) = 00, 00, 00,#开始的小时
start_minute (max_dom) = 00, 00, 00,#开始的分钟
start_second (max_dom) = 00, 00, 00,#开始的秒
end_year (max_dom) = 2012,2012, 2012,#结束时间
end_month (max_dom) = 09, 09, 09,
end_day (max_dom) = 31, 31, 31,
end_hour (max_dom) = 18,18, 18,
end_minute (max_dom) = 00, 00, 00,
end_second (max_dom) = 00, 00, 00,
interval_seconds = 21600,#输入真实数据的时间间隔,即横向边界条件文件之间的时间间隔(以秒为单位)
input_from_file (max_dom) = .true., .true., .true.,#逻辑值,嵌套运行是否包含d01以外的域的输入文件,如果将此设置为ture,则对嵌套域允许real.exe程序为嵌套域创建wrfinput_d0
文件(如果设置为.false.,则嵌套域没有输出wrfinput_d0文件)。这些文件将在wrf.exe步骤期间作为输入读取。
history_interval(max_dom) = 60, 60, 60,#历史文件的输出间隔,单位是分钟。
frames_per_outfile(max_dom) = 1, 1, 1,#每个历史文件将写入多少时间段,当设置为1000时,仅仅输出一个文件,但文件里面包含多个时间段;当设置为1时,会输出多个文件,但每个文件只有一个时间段。如果运行移动嵌套,您应该为每个文件编写一个输出,以便为移动嵌套绘制正确的域。
restart = .false.,# 逻辑值,运行是否要重新开始。
restart_interval = 5000,#希望重新启动文件的写入间隔,以分钟为单位。
io_form_history = 2,#历史文件的输出格式,默认和推荐选择2,2是代表netCDF格式
io_form_restart = 2,#将写入重启文件(wrfrst_d0
)的输出格式,默认和推荐选择2,2是代表netCDF格式
io_form_input = 2,#输出文件(met_em_d0*)的格式,默认和推荐选择2,2是代表netCDF格式
io_form_boundary = 2,#wrfbdy文件的格式,默认和推荐选择2,2是代表netCDF格式
debug_level = 0,#默认值设置为0就好了
io_form_auxinput4 = 2,#默认设置为2就好了
auxinput4_inname = “wrflowinp_d” #下边界文件的输入文件名,设置为"wrflowinp_d"
auxinput4_interval (max_dom) = 360, 360,# 下边界文件的文件间隔,以分钟为单位。

&domains
time_step = 60,#集成的时间步长,以秒为单位,对于典型情况,建议使用5-6xDX(单位:km)的值。如果要使用多个垂直水平或地图比例因子远大于1,则需要使用较小的时间步长。如果出现CFL错误导致运行停止,这意味着运行变得不稳定,可能需要将该值降低到大约4x4x(甚至3x4x),如果你使用一个时间步长来平均划分你的历史时间间隔,这样你的输出时间间隔就会均匀。
time_step_fract_num = 0,#分数时间步长的分子
time_step_fract_den = 1,# 分数时间步长分母
max_dom = 2,#正在运行的域数
e_we (max_dom) = 74, 115, 109,#与namelist.wps是一致的
e_sn (max_dom) = 56, 76, 76,#与namelist.wps是一致的
e_vert (max_dom) = 35, 35, 35,实际达到的垂直(或Eta)水平数量real.exe将插入传入的数据,每个域的数字必须相同。Real.exe程序将根据请求的级别计算合理的级别,要查看这些级别列表,请使用这个命令,ncdump -v ZNW file_name,这里不推荐设置小于35,最好设置在40-60之间。
p_top_requested = 5000,#模型中使用的压力上限(单位:Pa),此级别在传入的WPS数据中可用。默认和推荐值为5000,并且不建议设置低于5000。
num_metgrid_levels = 31,#传入(来自WPS输入数据)垂直级别的数量,这取决于您使用的输入数据。如果你不确定你输入数据的这个值,那么你可以通过下面这个命令来查看:ncdump -h met_em.d0l >& log.ncdump
dx (max_dom) = 18557.299,6185.766,,2061.922,
dy (max_dom) = 18500.487,6166.829,, 2055.61,#x,y方向上的格网分辨率,与WPS不同(在WPS中,嵌套值是基于parent_grid_ratio来计算的),必须指定这些值,但必须和parent_grid_ratio保持一致,以米为单位。如果你确定这个值,你可以像上面一样,利用命令来获取这些值。
grid_id(max_dom) = 1, 2, 3,#域数,粗域默认设置为1,后面的依次类推。
parent_id (max_dom) = 1,1, 2,#与namelist.wps中的设置一样
i_parent_start (max_dom) = 1, 19, 28,#与namelist.wps中的设置一样
j_parent_start (max_dom) = 1, 16, 21,#与namelist.wps中的设置一样
parent_grid_ratio (max_dom) = 1, 3, 3,#与namelist.wps中的设置一样
parent_time_step_ratio (max_dom) = 1,3, 3,#这就是模型为嵌套域定义时间不长的方式。对于粗域将其设置为1,不强制要求将这些值与parent_grid_ratio相匹配。如果你对模型不熟悉,最好将其设置为3:1的比例,还建议每个域保持相同的比率。
feedback = 1,#代表是使用单向嵌套还是使用双向嵌套,0表示单向嵌套,1表示双向嵌套。
smooth_option = 0,#如果设置feedback=1,是否对嵌套区域的父域进行平滑,有三种选择,推荐设置为0,即不平滑。

&physics
Physics_suites #这是至WRF3.9V以来的一个新的选项,其中总共有两个选项,第一个是’CONUS’,第二个是’tropical’ ,关于具体的描述,可以看WRF用户手册的官网。
mp_physics (max_dom) = 3, 3, 3,#微物理选项,所有域都应使用相同的值。默认值是0。
ra_lw_physics (max_dom) = 3, 3, 3,#长波辐射选项
ra_sw_physics (max_dom) = 3, 3, 3,#短波辐射选项
radt (max_dom) = 10, 10, 10,#辐射物理通话间隔几分钟。建议每公里dx 1分钟(例如,10公里网格为10分钟);对所有嵌套使用相同的值。
sf_sfclay_physics (max_dom) = 1, 1, 1,#表层物理选项,每个域的值都应相同。
sf_surface_physics (max_dom) = 2,2, 2,#陆地表面模型选项,这个选项必须在运行real.exe之前进行选择,num_soil_layers必须和此项匹配,2代表Noah。
bl_pbl_physics (max_dom) = 1,1, 1,#行星边界层(PBL)选项-用于分配带有边界层涡流通量的表面通量,并允许PBL通过夹带增长。当你的模拟域格网大小大于500m时,你应该去设置这个选项。
bldt (max_dom) = 0, 0, 0,#边界层物理通话间隔,单位是分钟。对于每一个域,这应该设置为相同值,建议设置为0,即每一个时间步长。
cu_physics (max_dom) = 1, 1, 1,#积云参数化选项,对于格网大小大于10km,这个积云方案是必须设置的,当格网大小小于4km,在4km到10km之间这样一个灰色区域尽可能避免这个范围。但是,如果必须使用这种尺寸,可以尝试GF和MSKF方案(选择3和11),因为这些方案具有规模意识。
cudt (max_dom) = 5,5, 5,#积云物理通话间隔,单位是分钟,推荐是每一个时间步长,因为大多数积云方案运行成本低。
isfflx = 1,#确定表面热量和水分通量的选项,如果希望关闭某些表面物理选项的表面感热通量和潜热通量,就可以使用这个选项。它还可用与控制理想模型(如LES)中如何使用表面通量。
ifsnow = 0,#雪覆盖效应,只有当sf_surface_physics=1时才会其作用。1代表有雪覆盖效应,0代表没有雪覆盖效应。
icloud = 1,#计算辐射云分数的选项,使用云效果,默认设置为1。
surface_input_source = 1,#输入的土地利用和土地分类数据的格式,1代表WPS/geogrid,但是主导类别以及重新计算了。
num_soil_layers = 4,#地表模型中的土层数,如果以后选择使用其他LSM,则必须确保为新模型正确设置这个值,并重新运行real.exe。
sf_urban_physics (max_dom) = 1, 1,#激活城市冠层模型(仅适用于Naoh LSM)。所有域都应使用相同的值。1代表Single-layer UCM。
usemonalb = .true.,#.true.代表使用每月反照率图而不是表格值(建议sst_update=1),默认值是.false.。
rdlai2d = .true.,#使用输入数据中的LAI(叶面积指数)。如果sst_update为1,则LAI也将出现在wrflowinp文件中。
sst_update = 1,#如果设置为1则代表在模型模拟期间使用时变SST、海冰、植被比例和反照率的选项(在运行real.exe之前设置),默认值是0,没有sst update。

&fdda
grid_fdda (max_dom)= 1, 0, #1代表网格分析轻推,0代表关闭,2代表光谱分析轻推选项。
gfdda_inname = “wrffdda_d” #运行real时将生成的fdda输入文件的名称。
gfdda_interval_m(max_dom) = 360 #分析时间之间的时间间隔(以分钟为单位)。
gfdda_end_h (max_dom) = 5154 #预测开始后停止轻推的时间(单位:小时)。
io_form_gfdda = 2 #分析数据格式 ,2代表netCDF格式。
fgdt (max_dom) = 0 #分析轻推的计算频率(单位为分钟);推荐每个时间步长。
if_no_pbl_nudging_uv (max_dom) = 1 #默认值为0,轻推在边界层,1则是没有轻推u和v在边界层。
if_no_pbl_nudging_t (max_dom) = 1 #默认值为0,轻推在边界层,1则是没有在边界层中对温度进行微调。
if_no_pbl_nudging_q (max_dom) = 1 #PBL中没有轻推qvapor。
if_zfac_uv (max_dom) = 0 #0代表(默认)在所有层中微移uv,1代表将轻推限制在k_zfac_uv以上的级别。
k_zfac_uv = 10 #模型级别,低于该级别时,水uv的轻推将被关闭。
if_zfac_t (max_dom) = 0 #0代表(默认)在所有层中轻推t,1代表将轻推限制在k_zfac_t以上的级别。
k_zfac_t = 10 #模型水平,低于该水平时,水t的轻推将被关闭。
if_zfac_q (max_dom) = 0 #0代表(默认)在所有层中轻推q,1代表将轻推限制在k_zfac_q以上的级别。
k_zfac_q = 10 #模型水平,低于该水平时,q的轻推将被关闭。
guv (max_dom) = 0.0003 #u和v的推压系数(s-1)。
gt (max_dom) = 0.0003 #温度的微动系数(s-1)。
gq (max_dom) = 0.0003 #qvaopr的微动系数(s-1)。
if_ramping = 1 #0代表(默认)微动作为步长函数结束,1代表在周期结束时逐渐向下推。
dtramp_min = 60. # 斜坡功能的时间(单位:分钟)。

&dynamics
w_damping = 0, #垂直速度阻尼标志,0代表没有阻尼,1代表有阻尼。
diff_opt (max_dom) = 1, #湍流和混合选项 。
km_opt (max_dom) = 4, #涡流系数选项,1代表默认使用常量(khdif 和kvdif)、2代表…,4代表水平Smagorinsky一阶闭包(建议用于实际数据情况)。
diff_6th_opt (max_dom) = 0, 0, 0, # 六阶数值扩散,默认值是0代表没有六阶数值扩散。
diff_6th_factor (max_dom) = 0.12, 0.12, 0.12, #六阶数值扩散无量纲速率(最大值1.0对应于在一个时间步内完全消除2dx波),默认值是0.12。
base_temp = 290., #基态温度(单位:K),当模型顶部高于20公里(约50mb)时,此选项有助于改善模拟效果。注:此选项仅适用于真实数据,且仅适用于em。这是你所在区域中部海平面上的代表性温度,与该点的地形高度无关。典型范围在270-300K。该值必须在初始化、模型运行和重新启动期间保持不变。
damp_opt = 0, #上层阻尼标志,默认值为0,代表没有阻尼。
zdamp (max_dom) = 5000., 5000., 5000., #距模型顶部的阻尼深度(单位:m)。
dampcoef (max_dom) = 0.2, 0.2,0.2, #阻尼系数(参见阻尼选项)。
khdif (max_dom) = 0, 0, 0, #水平扩散常数(m2/s)。
kvdif (max_dom) = 0, 0, 0, #垂直扩散常数(m2/s)。
non_hydrostatic (max_dom) = .true., .true., .true., #在静水或非静水(默认)模式下运行模型。
moist_adv_opt (max_dom) = 1, 1, 1, # 正定或单调平流,有助于消除水分预测过高/过低,0代表没有边界或过滤器的平流,1是默认值代表湿度正定平流,2代表单调选项。
scalar_adv_opt (max_dom) = 1, 1, 1, #标量的平流选项。
/

&bdy_control
spec_bdy_width = 5, #指定边界值微动的行数,该值是’spec_zone’和’relax_zone’的总和。更宽的边界区可能对更粗糙的驱动数据更有效。
spec_zone = 1, #指定区域中的点数(特定边界条件选项),默认值设置为1。
relax_zone = 4, #松弛区域中的点数(特定边界条件选项)更宽的边界区域可能对更粗糙的驱动数据更有效。默认值是4。
specified = .true., .false., .false., #指定的边界条件,这里要说明d01可以用.true.,而其他域必须为.false.,这仅适用于真实数据情况。
nested (max_dom) = .false., .true., .true., #嵌套边界条件,嵌套域必须设置为.true.。
/

&namelist_qulit
nio_tasks_per_group = 0, #默认值为0表示no quilting。
nio_groups = 1, #默认值为1。
/

猜你喜欢

转载自blog.csdn.net/qq_40505953/article/details/124768253
wps