WRF設定模式垂直層

chinagod發表於2024-09-10

翻譯自WRF論壇https://forum.mmm.ucar.edu/threads/stretched-vertical-levels-information.14975/#post-37729

設定模式垂直層​

Eta 層由 real 自動計算,基於namelist選項“e_vert.”所設定的層數。然而,完整的eta 層次可以由namelist選項“eta_levels.”來顯式的指定。層次的數目必須和eta 面的數目(e_vert)相一致.

使用的方法是由namelist選項“auto_levels_opt.”設計的。通常,auto_levels_opt=2, 使用底層和頂層縮放係數(dzstretch_s and dzstretch_u) 來對層次根據log p進行縮放,從厚度“dzbot.”開始,直到最大厚度(max_dz)。當厚度達到max_dz/2時,縮放的變換從“dzstretch_s”到“dzstretch_u”.
另外一個選項時設定auto_levels_opt=1, 這將假設已知前幾個層,然後生成等高度間距的層次,直到模式的頂層。
Given are two distributions for 28 and 35 levels.
給出了28和35層的兩個分佈。
當dz_bot=50m,max_dx=1000m時,最小層次數是dzstretch和p_top的函式:
_images/real_fig1.png
  • dzstretch設定成1.3,則在5km(第13層)以下的厚度將達到1km-*通常不推薦
  • dzstretch設定成1.2,則在7km(第19層)左右的厚度將達到1km
  • dzstretch設定成1.1,則在5km(第36層)以下13厚度將達到1km
  • dzstretch設定成1.1,在最底下的1km有12層,最底下10km有34層
  • dzstretch設定成1.2,在最底下的1km有9層,最底下10km有22層
  • dzstretch設定成1.3,在最底下的1km有8層,最底下10km有18層

當使用了dzstretch_sdzstrech_u時,最少的層次數
_images/real_fig2.png

To avoid max thickness in the upper troposphere, stretching levels must extend above the tropopause before going to constant d (logp). This can be done by using low “dzstretch_u” values (but larger than ~1.02) to reach the tropopause, while also stretching fast enough to compensate the lapse rate.
為了避免對流層上層的最大厚度,拉伸的層次必須在達到常數 d (logp) 之前延伸到對流層頂以上。這可以透過使用較低的“dzstretch_u”值(但大於~1.02)來達到對流層頂,同時拉伸得足夠快以補償遞減率。
For additional flexibility, use namelist options
  • dzbot: the thickness of the first model layer between full levels (default value is 50 m)
  • max_dz: the maximum layer thickness allowed with the default value of 1000 m.

https://www2.mmm.ucar.edu/wrf/users/wrf_users_guide/build/html/initialization.html#initialization-for-real-data-cases

Setting Model Vertical Levels

Note: All namelist options mentioned in this section are set in the &domains record in namelist.input, and this section is specific to real.exe only.

Model vertical levels are determined by one of two ways.

  1. Eta levels are automatically computed by the real program, based on the number of levels set by the namelist value for “e_vert.”

  2. User-specification of each eta level: Users may opt to explicitly define each full eta level by utilizing the namelist option “eta_levels” (model eta levels from 1 to 0), with the total number of eta_levels equaling the number of eta surfaces allocated (namelist value for e_vert).

Option 1 is the most commonly used practice, as the real program ensures a reasonable set of levels. When doing so, the method used to determine the specific levels is based on the setting for namelist option “auto_levels_opt.”

  • auto_levels_opt = 1 : An older method that assumes a known first several layers, then generates equi-height spaced levels up to the model top.

  • auto_levels_opt = 2 : The default method, which uses a surface stretching factor (dzstretch_s) and an upper stretching factor (dzstretch_u) to stretch eta levels according to logP, starting from thickness dzbot, and up to the max thickness (max_dz). The stretching transitions from “dzstretch_s” to “dzstretch_u” by the time the thickness reaches max_dz/2.

    The following definitions and default information may also be useful:
    • dzbot: the thickness of the first model layer between full levels (default value is 50 m)

    • max_dz: the maximum layer thickness allowed with the default value of 1000 m.

Tips for Choosing Stretching Factors

  • To avoid max thickness in the upper troposphere, stretching levels must extend above the tropopause before going to constant d (logP). This can be done by using low “dzstretch_u” values (but larger than ~1.02) to reach the tropopause, while also stretching fast enough to compensate the lapse rate.

  • Typically a thin surface layer should be used.

  • The best practice is to first choose dzbot, then max_dz (which typically should remain at 1 km), then choose the stretching factors. It is ideal to find the minimum number of levels needed to work with the other values chosen. For e.g., if desiring more levels near the surface, use a smaller dzstretch_s.

  • Use trial and error, only changing one or two factors at a time, while keeping others constant.

  • Look at real.exe output to see printouts of values used.

  • Additional resource: WRF - More Runtime Options WRF Tutorial presentation

See the tables below for reasonable e_vert settings for dzbot=50 and dzbot=30.

_images/initialization_auto_levels_opt_1.png

_images/initialization_auto_levels_opt_2.png

_images/initialization_auto_levels_opt_3.png

_images/initialization_auto_levels_opt_4.png

相關文章