翻译自源网页:https://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.1/users_guide_chap4.html
介绍
WRF模式可以进行两大类模拟:具有理想初始化的模拟和利用真实数据的模拟。理想模拟通常根据现有的一维或二维观测为WRF模型生成初始条件文件,并假设简化的解析地形图。真实的数据情况通常需要WPS包的预处理,WPS包为每个大气和静态场提供适合于模型所选网格分辨率的保真度。WRF模型可执行文件本身不会通过选择一个初始化选项而改变(理想化的与实际的),但是WRF模型预处理器(real.exe和理想.exe程序)是根据用户的选择专门构建的。
real.exe和ideal.exe程序不能一起使用。real.exe和ideal.exe都是在WRF模型运行之前处理的程序。
理想情况与真实情况的划分如下:
- Ideal cases – initialization programs named “ideal.exe”
- 3d
- em_b_wave - baroclinic wave, 100 km
- em_fire – surface fire, 50 m
- em_heldsuarez – global case with polar filtering, 625 km
- em_les – large eddy simulation, 100 m
- em_quarter_ss - super cell, 2 km
- em_tropical_cyclone – hurricane, 15 km
- 2d
- em_grav2d_x – gravity current, 100 m
- em_hill2d_x – flow over a hill, 2 km
- em_seabreeze2d_x – water and land, 2 km, full physics
- em_squall2d_x – squall line, 250 m
- em_squall2d_y – transpose of above problem
- 1d
- em_scm_xy – single column model, 4 km, full physics
- Real data cases – initialization program named “real.exe”
- em_real – examples from 4 to 30 km, full physics
在./compile选择预报类型。在选择要研究的不同案例时,必须重新编译代码以选择正确的模式初始条件。例如,在配置设置architecture(使用./configure命令)之后,如果用户发出命令./compile em_real,那么初始化程序将使用module_initialize_real.F作为目标模块(./WRF/dyn_em/module_initialize*.F文件中的一个)
对于理想的初始化,可以使用文件组合来构建可执行文件。对于em_fire, em_heldsuarez, em_scm_xy和em_tropical_cyclone情况,存在一个单独的初始化文件。对于其余理想化的情况,使用文件./WRF/dyn_em/module_initialize_ideal.F。注意,这两种初始化程序的WRF预测模型是相同的。在每个初始化模块中,都会执行相同的活动:
- 计算位势和气柱压力的基本态/参考廓线
- 计算位势和气柱压的相对于基本态的扰动
- 初始化气象变量:u,v,位温,水汽混合比
- 定义模式坐标
- 将数据插值到模式的垂直坐标
- 初始化地图投影和物理表面的静态场;对于许多理想例子,这些都是简化的初始化,例如将地图因子设置为1,将地形高度设置为0
- 在退出处理这些预处理活动的例程之前,如果用户使用湿位温请求热场,则计算该诊断变量
real.exe程序和ideal.exe程序共享大部分源代码,以执行以下任务:
- 从namelist中读取数据
- 为请求的网格分配空间,并在运行时指定模式变量
- 生成初始条件文件
真实的数据案例会做一些额外的处理:
- 从WRF预处理系统(WPS)读取气象和静态输入数据
- 准备模型中使用的土壤场(通常,垂直插值到指定陆面方案所需的层次)
- 检查土壤类别、土地利用、陆面覆盖、土壤温度、海面温度是否一致
- 处理多个输入时段以生成侧边界条件,除非处理全球预测,否则需要这些条件
- 三维边界数据(u,v,位温,蒸汽混合比,总位势)与总柱压耦合
真实数据个例初始化
真实数据WRF例子是有输入数据输入到WRF前处理系统(WPS)的"real.exe"程序的。WPS中的这些数据最初是从以前运行的外部分析或预测模型生成的。原始数据很可能是GriB 格式的,并且很可能是通过首先从美国国家气象局的一个ftp站点匿名提取原始GriB数据到WPS中的。
例如,假设一个单网格WRF预报,条件如下:
- 从2000年1月24日1200 UTC到1月25日1200 UTC
- 原始GriB数据以6小时为增量
WPS将生成以下粗网格文件(起始日期到结束日期,以6小时为增量):
- met_em.d01.2000-01-24_12:00:00.nc
- met_em.d01.2000-01-24_18:00:00.nc
- met_em.d01.2000-01-25_00:00:00.nc
- met_em.d01.2000-01-25_06:00:00.nc
- met_em.d01.2000-01-25_12:00:00.nc
惯例是使用“met_”来表示从WPS“metgrid.exe”程序输出并输入到“real.exe”程序中的数据。名称的“d01”表示该数据引用的域,这个域允许嵌套。下一组字符是有效日期/时间(UTC),其中每个WPS输出文件只有一个时间片。文件扩展名后缀“.nc”表示WPS的输出格式,对于“real.exe”程序,该格式必须是netCDF中。对于区域预测,必须由“real.exe”处理多个时段,以便模型可以使用侧边界文件。WRF的全球选项只需要一个初始条件。
WPS包提供的数据可供“real.exe”程序在WRF系统中使用。
- 数据遵循WRF IO API。除非您正在开发特殊工具,否则请坚持使用netCDF选项在WPS包和“real.exe”之间进行通信。
- 数据已经被水平插值到每个变量的正确网格点错开,风被正确旋转到WRF模型地图投影。
- WPS要求的三维气象数据:气压、u、v、温度、相对湿度、位势高度
- 可在运行时向实际程序提供可选的三维水文气象数据,但这些场不会在粗网格侧边界文件中使用。可以从metgrid输出文件中输入名为QR、QC、QS、QI、QG、QH、QNI(雨、云、雪、冰、霰、冰雹和数值浓度的混合比)的场。
- 来自WPS的三维土壤数据:土壤温度、土壤湿度、土壤液体(可选,取决于WRF模型中的物理选择)
- 来自WPS的2D气象数据:海平面气压、地面气压、地面u和v、地面温度、地面相对湿度、初步地形高程
- 来自WPS的二维气象可选数据:海面温度、物理雪深、水当量雪深
- 物理表面的二维静态数据:地形高程、土地利用类型、土壤质地类型、时间插值月数据、海陆界面、输入模型地形高程
- 投影的二维静态数据:地图因子、科里奥利、投影旋转、计算纬度
- 常量:网格大小、网格距离、日期
- WPS数据可以是等压的,也可以是更广义的垂直坐标,其中每一列的压力都是单调的
- WPS的输出可以包括一个垂直坐标上的气象数据,以及另一个完全不同的垂直坐标上的三维数据(如排放量)
- 所有三维气象数据(风、温度、高度、湿度、压力)必须具有相同数量的垂直层次,变量必须具有完全相同的级别。例如,温度(例如)高于高度是不可接受的。另外,在第8层的高度的温度是700 hPa的温度,而在第8层高度的水平风分量是750 hPa的温度是不可接受的。
真实数据测试用例:2000年1月24日/12日至25日/12
- 可以从WRF下载页访问测试数据集。在“WRF模型测试数据”列表下,选择一月数据。这是一个74x6130公里的区域,中心位于美国东部。
- 确保已成功生成代码(下载中提供了精细网格嵌套的初始数据,因此可以使用基本嵌套选项生成代码),/WRF/main/real.exe和/WRF/main/WRF.exe必须同时存在。
- 在./WRF/test/em_real目录中,将一月案例的名称列表复制到默认名称
- cp namelist.input.jan00 namelist.input
- 将WPS文件(下载中的“met_em*”文件)链接到./WRF/test/em_real目录。
- 对于单处理器,要执行real程序,请键入real.exe(对于这个有五个时间段的小情况,这应该不到一分钟)。
- 运行“real.exe”程序后,文件“wrfinput_d01”和“wrfbdy_d01”应在此目录中;这些文件将直接由WRF模型使用。
- 接下来执行“wrf.exe”程序(键入wrf.exe),这只需要几分钟(在名称列表文件中只请求12小时的预测)。
- 输出文件wrfout_d01:2000-01-24_12:00:00应包含间隔3小时的12小时预测。
近期发布的注意事项
在WRFv4.0版本中,默认行为是包括湿位温选项和混合垂直坐标。这两个选项使向后兼容变得困难。
- 湿位势温度温度:use_theta_m = 0 (off), 1 (on)
在v3.8的WRF系统中引入了初始化湿位温能力。在v3.8到v3.9.1.1中,湿theta的所有处理都由模式处理。这导致在主解算器子程序内反复切换,因此变量网格%t_2的定义取决于子程序内的位置。代码现在已经被正确地移植,以便在真实/理想的预处理器中包含潮湿的theta选项,并且grid%t_2变量的含义始终相同。在v4.0中,所有真实和理想的情况都支持湿位温度选项。由于v4.0代码假定输入变量与湿θ的名称列表设置一致,因此通常不会使用早期版本的wrfinput_d0x和wrfbdy_d01文件。
如果用户有较旧的输入数据(v4.0之前的版本),并且如果用户关闭了潮湿θ选项,则可以使用wrfinput_d0x和wrfbdy_d01数据。
如果用户打开“湿位温度”选项,则只能使用新的wrfinput_d0x和wrfbdy_d01数据。
- 混合垂直坐标(HVC): hybrid_opt = 0 ((off), 2 (on)
自v3.9以来,WRF代码支持混合垂直坐标,但仅适用于实际数据初始化和2d希尔情况下的流量。在v4.0中,所有真实和理想的情况都支持使用HVC。混合垂直坐标和湿θ选项也适用同样的禁例。
如果用户有不使用HVC的旧输入数据(v4.0之前的版本),并且如果用户关闭WRF模型中的“混合垂直坐标”选项,则可以使用WRF input_d0x和wrfbdy_d01数据。
如果用户打开HVC选项,则只能使用新的wrfinput_d0x和wrfbdy_d01数据。
从v4.0开始,有一个新的namelist选项可用(force_use_old_data=.TRUE.)显式允许将旧的wrfinput_d0x和wrfbdy_d01文件引入WRF模型。
设置模式垂直层次
用户可以使用namelist的选项eta_levels显式定义完整的eta层次。给出了28和35个层次的分布。层次数必须与分配的eta面数一致(e_vert)。用户可以选择只请求层次的数量(使用e_vert),而real程序将计算值。从V4.0中,有两种方法可以选择auto_levels_opt=1(旧)或2(新)。旧的计算假设一个已知的前几层,然后生成等高间隔层直到到式顶部的。新方法具有表面和上层拉伸因子(dz_stretch_s和dz_stretch_u)用以根据log p来拉伸层次,厚度dzbot开始,直到最大厚度点(max_stretch_dz)。当厚度达到max_dz/2时,拉伸从dz_stretch_s过渡到dzstretch_u。
当dzbot=50 m 且 max_dz=1000 m时,层次数目最小值是dzstretch和p_top的函数
dzstretch\ptop |
50 |
30 |
20 |
10 |
1 |
1.1 |
44 |
47 |
50 |
54 |
67 |
1.2 |
32 |
35 |
37 |
41 |
54 |
1.3* |
28 |
31 |
33 |
37 |
50
|
*1.3 在低于约5km高度(13层)的层次的厚度达到1km,——一般不建议
1.2 在约7km高度(19层)的层次的厚度达到1km
1.1 在约13km高度(36层)的层次的厚度达到1km
dzstretch=1.1 在地面高度1km以下有12层,在10 km以下有34层
dzstretch=1.2 在地面高度1km以下有9层,在10km以下有22层
dzstretch=1.3 在地面高度1km以下有8层,在10 km以下有18层
使用dzstretch_s 和dzstretch_u时的层次数目的最小值
dzstretch\ptop |
50 |
30 |
20 |
10 |
1 |
1.2-1.02 |
53 |
58 |
62 |
67 |
81 |
1.2-1.04 |
46 |
49 |
51 |
55 |
68 |
1.2-1.06 |
41 |
44 |
47 |
50 |
63 |
1.3-1.1 |
33 |
36 |
39 |
43 |
56 |
为了避免在对流层上部出现最大厚度,在达到恒定的d(logp)之前,拉伸层次需要延伸到对流层顶以上。这可以通过使用足够低的dzstretch_u值(但大于~1.02)来达到对流层顶,同时拉伸足够快来补偿递减率。
可以使用另外两个namelist来增加灵活性:dzbot是第一个在全层之间的模式层的厚度(默认值为50 m),max_dz是允许的最大层厚度,其默认值为1000 m。