创建和编辑Vtable文件

Posted jiangleads

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建和编辑Vtable文件相关的知识,希望对你有一定的参考价值。

网上有关于ERA-Interim 驱动WRF的帖子和用ERA5(模式层)驱动WRF的帖子。但没有ERA5气压层驱动的例子,以下是一些尝试

关于变量表Vtables (翻译自WRF手册 ,第3-39(61页))

创建和编辑Vtables

虽然提供了众多数据集的Vtables,但是ungrib不可能以GRIB格式预测每种可能的气象数据来源。当ungrib.exe处理新的数据源时,用户可以从头开始创建新的Vtable,也可以使用现有的Vtable作为示例。

每个Vtable包含7个或11个字段,具体取决于Vtable是用于GRIB1的数据还是GRIB2的数据。该Vtable的字段分为三类:描述如何在GRIB文件中识别数据的字段描述如何通过ungrib和metgrid程序识别数据的字段,以及GRIB Edition 2的特定字段。每个将要由 ungrib.exe 提取的变量,在Vtable中将会有一行或多行,其中多行用于在不同level tpye(层次类型)之间分割的数据。例如,地面层和高空层。在Vtable中的字段,必须在一行或一条中指定,并且取决于字段和层次的详细信息。

第一组字段——这些用来描述GRIB文件中的数据是如何识别的——在下面显示的Vtable的列标题下给出。

GRIB1| Level| From |  To  |
Param| Type |Level1|Level2|
-----+------+------+------+

其中的“GRIB1 Param”字段指定了气象场的GRIB码(GRIB code),他在该数据集集中是一个独一无二的数字。然而,不同的数据集中对于相同的变量场可能有不同的GRIB码——例如,高层温度的GRIB码在GFS数据中是11,而在ECMWF中是130。为了获取气象场的GRIB码,可以使用g1print.exe和g2print.exe工具。

得到一个GRIB码之后,“Level Type”,“From Level1”,和“From Level2”字段被用于确定需要去查找哪些场。如,使用“GRIB1 Param”字段,g1print.exe和g2print.exe可以去用来找到level fields的值。level fields的意义是依赖于“Level Type”场,见下表。

Level Level Type From Level1 To Level2
Upper-air 100 * (blank)
Surface 1 0 (blank)
Sea-level 102 0 (blank)
Levels at a sepecified height AGL 105

Height, in meters, of
the level above ground

(blank)
Fields given as layers 112

Starting level for the
layer

Ending level for
the layer

其中层次字段(层次类型112)被给定,起始和终止位置对于层次的单位由场本身决定,可以使用g1print.exe和g2print.exe工具找到合适的值。

 

Vtable中的第二组字段,用来描述数据是如何在metgrid和real 程序中被识别的,在下面显示的Vtable的列标题下给出。

| metgrid  | metgrid | metgrid                                 |
| Name     | Units   | Description                             |
+----------+---------+-----------------------------------------+

这三个字段中最重要的是“metgrid Name”场,其决定了当其通过ungrib写入中间文件时,将要被复制到气象场中的变量的名字。这个名字同样应当与METGRID.TBL文件的条目对应。所以,metgrid 程序可以确定气象场是如何水平的插值的。“metgrid Units”和“metgrid Description”字段分别定义了单位和变量简述。在这里,隆重指出,如果对于一个场没有给出描述,那么ungrib将不会将该场写入中间文件中

字段的最后一组,提供了GRIB2特定的信息,如下表所示。

|GRIB2|GRIB2|GRIB2|GRIB2|
|Discp|Catgy|Param|Level|
+-----------------------+

虽然在Vtable中包含这些字段并不会妨碍Vtable也用于GRIB1数据,但在Vtable中,GRIB2 字段仅仅对于GRIB2格式的数据集需要。例如,Vtable.GFS文件包含GRIB2 Vtable 字段,但也适用于1度(GRIB1)GFS和0.5度(GRIB2)GFS数据集。 由于已经为大多数已知的GRIB 2数据集提供了Vtable,因此目前不在此描述相应的Vtable字段。。。

例子 Vtable.GFS

GRIB1| Level| From |  To  | metgrid  | metgrid | metgrid                                 |GRIB2|GRIB2|GRIB2|GRIB2|
Param| Type |Level1|Level2| Name     | Units   | Description                             |Discp|Catgy|Param|Level|
-----+------+------+------+----------+---------+-----------------------------------------+-----------------------+
  11 | 100  |   *  |      | TT       | K       | Temperature                             |  0  |  0  |  0  | 100 |
  33 | 100  |   *  |      | UU       | m s-1   | U                                       |  0  |  2  |  2  | 100 |
  34 | 100  |   *  |      | VV       | m s-1   | V                                       |  0  |  2  |  3  | 100 |
  52 | 100  |   *  |      | RH       | %       | Relative Humidity                       |  0  |  1  |  1  | 100 |
   7 | 100  |   *  |      | HGT      | m       | Height                                  |  0  |  3  |  5  | 100 |
  11 | 105  |   2  |      | TT       | K       | Temperature       at 2 m                |  0  |  0  |  0  | 103 |
  52 | 105  |   2  |      | RH       | %       | Relative Humidity at 2 m                |  0  |  1  |  1  | 103 |
  33 | 105  |  10  |      | UU       | m s-1   | U                 at 10 m               |  0  |  2  |  2  | 103 |
  34 | 105  |  10  |      | VV       | m s-1   | V                 at 10 m               |  0  |  2  |  3  | 103 |
   1 |   1  |   0  |      | PSFC     | Pa      | Surface Pressure                        |  0  |  3  |  0  |   1 |
 130 | 102  |   0  |      | PMSL     | Pa      | Sea-level Pressure                      |  0  |  3  | 192 | 101 |
 144 | 112  |   0  |  10  | SM000010 | fraction| Soil Moist 0-10 cm below grn layer (Up) |  2  |  0  | 192 | 106 |
 144 | 112  |  10  |  40  | SM010040 | fraction| Soil Moist 10-40 cm below grn layer     |  2  |  0  | 192 | 106 |
 144 | 112  |  40  | 100  | SM040100 | fraction| Soil Moist 40-100 cm below grn layer    |  2  |  0  | 192 | 106 |
 144 | 112  | 100  | 200  | SM100200 | fraction| Soil Moist 100-200 cm below gr layer    |  2  |  0  | 192 | 106 |
 144 | 112  |  10  | 200  | SM010200 | fraction| Soil Moist 10-200 cm below gr layer     |  2  |  0  | 192 | 106 |
  11 | 112  |   0  |  10  | ST000010 | K       | T 0-10 cm below ground layer (Upper)    |  0  |  0  |  0  | 106 |
  11 | 112  |  10  |  40  | ST010040 | K       | T 10-40 cm below ground layer (Upper)   |  0  |  0  |  0  | 106 |
  11 | 112  |  40  | 100  | ST040100 | K       | T 40-100 cm below ground layer (Upper)  |  0  |  0  |  0  | 106 |
  11 | 112  | 100  | 200  | ST100200 | K       | T 100-200 cm below ground layer (Bottom)|  0  |  0  |  0  | 106 |
  85 | 112  |   0  |  10  | ST000010 | K       | T 0-10 cm below ground layer (Upper)    |  2  |  0  |  2  | 106 |
  85 | 112  |  10  |  40  | ST010040 | K       | T 10-40 cm below ground layer (Upper)   |  2  |  0  |  2  | 106 |
  85 | 112  |  40  | 100  | ST040100 | K       | T 40-100 cm below ground layer (Upper)  |  2  |  0  |  2  | 106 |
  85 | 112  | 100  | 200  | ST100200 | K       | T 100-200 cm below ground layer (Bottom)|  2  |  0  |  2  | 106 |
  11 | 112  |  10  | 200  | ST010200 | K       | T 10-200 cm below ground layer (Bottom) |  0  |  0  |  0  | 106 |
  91 |   1  |   0  |      | SEAICE   | proprtn | Ice flag                                | 10  |  2  |  0  |   1 |
  81 |   1  |   0  |      | LANDSEA  | proprtn | Land/Sea flag (1=land, 0 or 2=sea)      |  2  |  0  |  0  |   1 |
  81 |   1  |   0  |      | LANDN    | proprtn |                                         |  2  |  0  | 218 |   1 |
   7 |   1  |   0  |      | SOILHGT  | m       | Terrain field of source analysis        |  0  |  3  |  5  |   1 |
  11 |   1  |   0  |      | SKINTEMP | K       | Skin temperature                        |  0  |  0  |  0  |   1 |
  65 |   1  |   0  |      | SNOW     | kg m-2  | Water equivalent snow depth             |  0  |  1  | 13  |   1 |
     |   1  |   0  |      | SNOWH    | m       | Physical Snow Depth                     |  0  |  1  |     |   1 |
  33 |   6  |   0  |      | UMAXW    | m s-1   | U                 at max wind           |  0  |  2  |  2  |   6 |
  34 |   6  |   0  |      | VMAXW    | m s-1   | V                 at max wind           |  0  |  2  |  3  |   6 |
   2 |   6  |   0  |      | PMAXW    | Pa      | Pressure of max wind level              |  0  |  3  |  0  |   6 |
     |   6  |   0  |      | PMAXWNN  | Pa      | PMAXW, used for nearest neighbor interp |  0  |  3  |  0  |   6 |
   2 |   6  |   0  |      | TMAXW    | K       | Temperature at max wind level           |  0  |  0  |  0  |   6 |
   7 |   6  |   0  |      | HGTMAXW  | m       | Height of max wind level                |  0  |  3  |  5  |   6 |
  33 |   7  |   0  |      | UTROP    | m s-1   | U                 at tropopause         |  0  |  2  |  2  |   7 |
  34 |   7  |   0  |      | VTROP    | m s-1   | V                 at tropopause         |  0  |  2  |  3  |   7 |
   2 |   7  |   0  |      | PTROP    | Pa      | Pressure of tropopause                  |  0  |  3  |  0  |   7 |
     |   7  |   0  |      | PTROPNN  | Pa      | PTROP, used for nearest neighbor interp |  0  |  3  |  0  |   7 |
   2 |   7  |   0  |      | TTROP    | K       | Temperature at tropopause               |  0  |  0  |  0  |   7 |
   7 |   7  |   0  |      | HGTTROP  | m       | Height of tropopause                    |  0  |  3  |  5  |   7 |
-----+------+------+------+----------+---------+-----------------------------------------+-----------------------+
#
#  Vtable for GFS pressure-level data from the ncep server.
#  This version includes fields from the Tropopause and Max Wind levels used by WRF V3.6.1 and later.
#  NCEP has used multiple definitions of the soil temperature in their output and the Vtable attempts
#  to account for these possibilities. (Definition changed 14 Jan 2015).
#
#  ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.ccyymmddhh/    (note hh at end)
#
#                          approx.    grid    hours      domain  dx       notes
#                         file size   no.
#
#  gfs.t12z.pgrb2.0p25    220000 Kb   193  3-h to 240-h  global  0.25 deg  (26 p-levels plus sfc and trop, 1000 to 10 mb).
#  gfs.t12z.pgrb2.0p50     68000 Kb     4  3-h to 240-h  global  0.5  deg  (26 p-levels plus sfc and trop, 1000 to 10 mb).
#                                          
#  Prior to 12z 14 January 2015:
#
#  gfs.t12z.pgrb2f00       56000 Kb     4  3-h to 192-h  global  0.5  deg  (26 p-levels plus sfc and trop, 1000 to 10 mb).
#  gfs.t12z.pgrbf00.grib2  18000 Kb     3  3-h to 384-h  global  1.0  deg  (26 p-levels plus sfc and trop, 1000 to 10 mb).
#
#
#  As of mid-2017 the GFS provides two land mask fields in the pressure-level output. WPS uses LANDN if available
#  and renames it LANDSEA.
#
#  As of WPS V4.1 (April 2019) the default PMSL is changed to MSLET. MSLET is an unsmoothed sea level pressure.
#  NCEP included MSLET in their GFS files beginning 12z on 10 May 2011 and in their GDAS files at 12z 14 January 2015.
#  The smoother PRMSL is in all GFS/GDAS pressure files.
#  For GFS files prior to those dates use PRMSL as shown in the following line:
#  2 | 102  |   0  |      | PMSL     | Pa      | Sea-level Pressure                      |  0  |  3  |  1  | 101 |
#
#
#   Abbreviated history of GFS changes (all starting at 12 UTC)
#
# Sometime 2019     - Update to FV3 (requires WPS V4.0 or later)
# 19 July 2017      - Change to land mask and other terrestrial variables (requires WPS V3.9.1.1)
#                   - Change missing value, removal of grid 211 (80km conus). Flag value of .468 in soil moisture.
# 11 May 2016       - Assimilate AMSU-A radiances, AVHRR winds, CRTMv2.2.1, 4d hybrid das.
#                   - Add 5 stratospheric levels to ouput. UPP V7.0. Land surface and GWD upates.
# 14 January 2015   - Add MSLET to GDAS. Change from T574 (27km) to T1534 (13km). Fcst length to 240 h.
#                   - semi-lagrangian, uses rtgsst, Z0 dependent on vegetation type, CRTMv2.1.3, 0.25 deg output
# 10 May 2011       - Add MSLET to output. New thermal roughness length. Elevation of buoys to 10m.
#                   - Improved GSI, update CRTM. Recomputed BE.
# 27 July 2010      - T382 (35km) to T574 (27km). new pbl, gravity wave drag, updated deep convective scheme
# 13 May 2008       - RRTM radiation, aerosol, cloud overlap, windsat sfc winds, flow dependent bev.
# 25 September 2007 - Implement UPP.
# 31 May 2005       - T254L64 to T382L64. Change in soil output to 3 levels.
# 29 October 2002   - Change from T170L42  to T254L64. Model top changed from 2 hPA to .2 hPa

  

例子 (Vtable.ERA-interim.pl)

GRIB | Level| Level| Level| metgrid  |  metgrid | metgrid                                  |
Code | Code |   1  |   2  | Name     |  Units   | Description                              |
-----+------+------+------+----------+----------+------------------------------------------+
 129 | 100  |   *  |      | GEOPT    | m2 s-2   |                                          | 
     | 100  |   *  |      | HGT      | m        | Height                                   |
 130 | 100  |   *  |      | TT       | K        | Temperature                              |
 131 | 100  |   *  |      | UU       | m s-1    | U                                        |
 132 | 100  |   *  |      | VV       | m s-1    | V                                        |
 157 | 100  |   *  |      | RH       | %        | Relative Humidity                        |
 165 |  1   |   0  |      | UU       | m s-1    | U                                        | At 10 m
 166 |  1   |   0  |      | VV       | m s-1    | V                                        | At 10 m
 167 |  1   |   0  |      | TT       | K        | Temperature                              | At 2 m
 168 |  1   |   0  |      | DEWPT    | K        |                                          | At 2 m
     |  1   |   0  |      | RH       | %        | Relative Humidity                        | At 2 m
 172 |  1   |   0  |      | LANDSEA  | 0/1 Flag | Land/Sea flag                            |
 129 |  1   |   0  |      | SOILGEO  | m2 s-2   |                                          |
     |  1   |   0  |      | SOILHGT  | m        | Terrain field of source analysis         |
 134 |  1   |   0  |      | PSFC     | Pa       | Surface Pressure                         |
 151 |  1   |   0  |      | PMSL     | Pa       | Sea-level Pressure                       |
 235 |  1   |   0  |      | SKINTEMP | K        | Sea-Surface Temperature                  |
  31 |  1   |   0  |      | SEAICE   | fraction | Sea-Ice Fraction                         |
  34 |  1   |   0  |      | SST      | K        | Sea-Surface Temperature                  |
  33 |  1   |   0  |      | SNOW_DEN | kg m-3   |                                          |
 141 |  1   |   0  |      | SNOW_EC  | m        |                                          |
     |  1   |   0  |      | SNOW     | kg m-2   |Water Equivalent of Accumulated Snow Depth|
     |  1   |   0  |      | SNOWH    | m        | Physical Snow Depth                      |
 139 | 112  |   0  |   7  | ST000007 | K        | T of 0-7 cm ground layer                 |
 170 | 112  |   7  |  28  | ST007028 | K        | T of 7-28 cm ground layer                |
 183 | 112  |  28  | 100  | ST028100 | K        | T of 28-100 cm ground layer              |
 236 | 112  | 100  | 255  | ST100289 | K        | T of 100-289 cm ground layer             |
  39 | 112  |   0  |   7  | SM000007 | m3 m-3   | Soil moisture of 0-7 cm ground layer     |
  40 | 112  |   7  |  28  | SM007028 | m3 m-3   | Soil moisture of 7-28 cm ground layer    |
  41 | 112  |  28  | 100  | SM028100 | m3 m-3   | Soil moisture of 28-100 cm ground layer  |
  42 | 112  | 100  | 255  | SM100289 | m3 m-3   | Soil moisture of 100-289 cm ground layer |
-----+------+------+------+----------+----------+------------------------------------------+
#
#  For use with ERA-interim pressure-level output.
#
#  Grib codes are from Table 128
#  http://www.ecmwf.int/services/archive/d/parameters/order=grib_parameter/table=128/
#  
# snow depth is converted to the proper units in rrpr.F
#
#  For ERA-interim data at NCAR, use the pl (sc and uv) and sfc sc files. 

注:ERA5的变量字段可在官网查询https://apps.ecmwf.int/codes/grib/param-db

经过与ERA-Interm 的GRIB code对比,可以发现,ERA-Interim中GRIB码为39~42的变量描述为“土壤湿度“soil moisture,而在ERA5中,相应的GRIB码对应的变量描述为Volumetric soil water。所以,用ERA5驱动WRF时候下载土壤湿度时,应该下载的变量名是这个。

根据以上,照葫芦画瓢,相信可以成功ungrib ERA5 气压层的数据,具体信息成功后再更。

 

以上是关于创建和编辑Vtable文件的主要内容,如果未能解决你的问题,请参考以下文章

D-bus:无法创建属性:sd_bus_add_object_vtable 失败

使用 Qt 对 vtable 的未定义引用

undefined reference to `vtable for’”问题的原因及解决方法

Qtundefined reference to `vtable for xxx’

Qtundefined reference to `vtable for xxx’

Qtundefined reference to `vtable for xxx’