为什么要设置eta_levels呢?
在一般的模式研究中,当涉及到下垫面对于模拟的影响,就会使用到eta_levels。
- 不同的地区的下垫面不同,有的是平原、有的是高原、有的是湖泊有的是高山。地面的海拔高度不同,所以按照位势高度来分层,对于模拟结果会有较大影响
- 以青藏高原为例,对于模式模拟的结果会造成较大的误差。
eta_levels的计算公式
eta=(P-Ptop)/(Pbot-Ptop)
-
P代表某一层的气压,也就是你需要研究的那一层,Ptop(p_top_requested)代表模式顶层气压,Pbot代表海平面气压或地面气压。(WRF中好像是10hpa,不太确定)。从表达式可以看出,地面的eta值就是1,顶层就是0。这样一来,无论某个地区的下垫面的海拔高度是多少,它的eta坐标值都统一成1。
-
模式默认的pbot = 1000hPa ,ptop = p_top_requested , ZNW变量是模式设置的eta levels
-
当然,在模式的结果分析中,我们更想知道的是某个eta坐标对应的位势高度,比如说我们要研究离地60m高度的风速,就有必要进行二者转换。
转换公式如下所示:
gmp=(PH+PHB)/9.81-HGT
- PH和PHB以及HGT都是模式结果中已有的变量。HGT是当地地面海拔高度。
对于WRF,README.namelist
给了两种默认eta levels
的设置,28层和35层的~
eta_levels = 1.000, 0.990, 0.978, 0.964, 0.946,
0.922, 0.894, 0.860, 0.817, 0.766,
0.707, 0.644, 0.576, 0.507, 0.444,
0.380, 0.324, 0.273, 0.228, 0.188,
0.152, 0.121, 0.093, 0.069, 0.048,
0.029, 0.014, 0.000,
eta_levels = 1.000, 0.993, 0.983, 0.970, 0.954,
0.934, 0.909, 0.880, 0.845, 0.807,
0.765, 0.719, 0.672, 0.622, 0.571,
0.520, 0.468, 0.420, 0.376, 0.335,
0.298, 0.263, 0.231, 0.202, 0.175,
0.150, 0.127, 0.106, 0.088, 0.070,
0.055, 0.040, 0.026, 0.013, 0.000
链接:eta_levels
此外,ncl有函数wrf_user_intrp3d
可以将wrf输出结果插值到指定的气压层
此外,这里给出49层的eta_levels,仅供参考:
e_vert = 49, 49, 49,
dzstretch_s = 1.1
p_top_requested = 1000,
num_metgrid_levels = 38,
num_metgrid_soil_levels = 4,
parent_grid_ratio = 1, 3, 3,
parent_time_step_ratio = 1, 3, 3,
feedback = 1,
smooth_option = 0
eta_levels = 1.000, 0.998, 0.996, 0.993, 0.989, 0.983, 0.975,
0.965, 0.955, 0.945, 0.930, 0.915, 0.900, 0.875,
0.850, 0.825, 0.800, 0.775, 0.750, 0.725, 0.700,
0.675, 0.650, 0.625, 0.600, 0.575, 0.550, 0.525,
0.500, 0.475, 0.450, 0.425, 0.400, 0.375, 0.350,
0.325, 0.300, 0.275, 0.250, 0.225, 0.200, 0.175,
0.150, 0.125, 0.100, 0.075, 0.050, 0.025, 0.000,
https://github.com/HanXiang0721/Note-Numerical-Methods/blob/master/WRF%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.md