天天看點

cdf表格_WRFV3.1使用者手冊之中文版(非常難得之翻譯版)

登入後檢視更多精彩内容~

您需要 登入 才可以下載下傳或檢視,沒有帳号?立即注冊

cdf表格_WRFV3.1使用者手冊之中文版(非常難得之翻譯版)
cdf表格_WRFV3.1使用者手冊之中文版(非常難得之翻譯版)

x

本帖最後由 天目神眉 于 2011-9-29 16:04 編輯

Chapter 1: Overview

翻譯:by 澳洲的牛牛 laiwf

由于譯者水準有限,其中一定存在翻譯不妥的地方,希望大家能幫忙指正

Introduction

The Advanced Research WRF (ARW) modeling system has been in development for the past few years. The current release is Version 3, available since April 2008. The ARW is designed to be a flexible, state-of-the-art atmospheric simulation system that is portable and efficient on available parallel computing platforms. The ARW is suitable for use in a broad range of applications across scales ranging from meters to thousands of kilometers, including:

Idealized simulations (e.g. LES, convection, baroclinic waves)

Parameterization research

Data assimilation research

Forecast research

Real-time NWP

Coupled-model applications

Teaching簡介

Advanced Research WRF (ARW)模式系統在過去的數年中得到了發展。最近公布了第三版,從2008年4月開始可供使用。ARW是靈活的,最先進的大氣模拟系統,它易移植,并且有效的應用于各種作業系統。ARW适用于從米到成千上萬公裡尺度的各種天氣系統的模拟,它的功能包括:

理想化模拟(如,LES,對流,斜壓波)

參數化研究

資料同化研究

預報研究

實時數值天氣預報

耦合模式應用

教學The Mesoscale and Microscale Meteorology Division of NCAR is currently maintaining and supporting a subset of the overall WRF code (Version 3) that includes:

WRF Software Framework (WSF)

Advanced Research WRF (ARW) dynamic solver, including one-way, two-way nesting and moving nest.

The WRF Preprocessing System (WPS)

WRF Variational Data Assimilation (WRF-Var) system which currently supports 3DVAR capability

Numerous physics packages contributed by WRF partners and the research community

Several graphics programs and conversion programs for other graphics toolsAnd these are the subjects of this document.

The WRF modeling system software is in the public domain and is freely available for community use.

NCAR的中尺度以及微尺度氣象部門最近維護以及支援整個WRF(第三版)的代碼的子集,其中包括:

WRF軟體架構

Advanced Research WRF (ARW)動力求解方法,包括單向,雙向嵌套以及移動嵌套

預處理系統

WRF多種資料同化系統(WRF-Var),該系統還支援3維同化能力

為WRF合作夥伴以及研究論壇提供的數值實體包.

一些畫圖程式和轉換适合其他畫圖工具的程式這也是本文檔的主題。

WRF模式系統軟體現在是公開以及免費使用的。

As shown in the diagram, the WRF Modeling System consists of these major programs:

The WRF Preprocessing System (WPS)

WRF-Var

ARW solver

Post-processing & Visualization tools

如圖所示,WRF模式系統包括如下的主要部分:

WRF預處理系統

WRF參數同化系統

ARW求解程式

後處理以及可視化工具

WPS

This program is used primarily for real-data simulations. Its functions include 1) defining simulation domains; 2) interpolating terrestrial data (such as terrain, landuse, and soil types) to the simulation domain; and 3) degribbing and interpolating meteorological data from another model to this simulation domain. Its main features include:

·GRIB 1/2 meteorological data from various centers around the world

·Map projections for 1) polar stereographic, 2) Lambert-Conformal, 3) Mercator and 4) latitude-longitude

·Nesting

·User-interfaces to input other static data as well as met data

這個程式的主要用于實時數值模拟。其中包括:1)定義模拟區域;2)插值地形資料(如地勢,土地類型,以及土壤類型)到模拟區域;3)從其他模式結果中細緻網格以及插值氣象資料到此模拟區域。它的主要特點包括:

GRIB 1/2 格式全球格點氣象資料

地圖投影有1)極地投影,2)蘭伯特-保角投影,3)麥卡托投影以及4)經緯度投影嵌套

由使用者接口輸入其他資料及met 資料WRF-Var

This program is optional, but can be used to ingest observations into the interpolated analyses created by WPS. It can also be used to update WRF model's initial condition when WRF model is run in cycling mode. Its main features are as follows.

·      It is based on incremental variational data assimilation technique

·      Conjugate gradient method is utilized to minimized the cost function in analysis control variable space

·      Analysis is performed on un-staggered Arakawa A-grid

·      Analysis increments are interpolated to staggered Arakawa C-grid and it gets added to the background (first guess) to get final analysis at WRF-model grid

·      Conventional observation data input may be supplied both in ASCII or “PREPBUFR” format via “obsproc” utility

·      Multiple radar data (reflectivity & radial velocity) input is supplied through ASCII format

·      Horizontal component of the background (first guess) error is represented via recursive filter (for regional) or power spectrum (for global). The vertical component is applied through projections on climatologically generated averaged eigenvectors and its corresponding eigenvalues

·      Horizontal and vertical background errors are non-separable. Each eigen vector has its own horizontal climatologically determined length scale

·      Preconditioning of background part of the cost function is done via control variable transform U defined as B= UUT

·      It includes “gen_be” utility to generate the climatological background error covariance estimate via the NMC-method or ensemble perturbations

·      A utility program to update WRF boundary condition file after WRF-Var

該程式是可選擇的,但可用于将觀測資料融入到WPS所産生的插值分析中。它還可以在WRF模式處在循環模式運作時,用于更新WRF模式的初始條件.它的主要特點如下:

它是基于增量變分資料同化技術上而産生出來的

在分析控制變量空間,用共轭梯度法最小化成本函數

非交錯的 Arakawa A網格分析

增量分析插值到Arakawa C網格,以及附加到背景場(第一猜測場)以得到WRF模式格點的最終分析

通過使用“obsproc ”工具,可以輸入ASCII或者“PREPEUFR”格式的正常觀測資料

複合雷達資料(反射率與雷達速度)以ASCII格式輸入

背景場(初估計場)的水準分量誤差通過遞歸濾波器(區域範圍)或能量譜(全球範圍)表現。垂直分量則通過氣候學的平均特征向量以及其對應的特征值反映。

水準與垂直背景場誤差是不可分割的。每個特征向量的都有各自的水準氣候學尺度。

背景場的預處理函數是通過控制變量轉換U,其定義為B=UU^T

它包括通過NMC法或整體攝動法,用“gen_be”程式産生氣候學背景場誤差協方差估計

在WRF-Var後,用程式更新WRF的邊界條件檔案

ARW Solver

This is the key component of the modeling system, which is composed of several initialization programs for idealized, and real-data simulations, and the numerical integration program. It also includes a program to do one-way nesting. The key feature of the WRF model includes:·       Fully compressible nonhydrostatic equations with hydrostatic option

·       Regional and global applications

·       Complete coriolis and curvature terms

·       Two-way nesting with multiple nests and nest levels

·       One-way nesting

·       Moving nests

·       Mass-based terrain following coordinate

·       Vertical grid-spacing can vary with height

·       Map-scale factors for these projections:

o      polar stereographic (conformal)

o      Lambert-conformal

o      Mercator (conformal)

o      Latitude and longitude which can be rotated

·       Arakawa C-grid staggering

·       Runge-Kutta 2nd and 3rd order time integration options

·       Scalar-conserving flux form for prognostic variables

·       2nd to 6th order advection options (horizontal and vertical)

·       Monotonic transport and positive-definite advection option for moisture, scalar and TKE

·       Time-split small step for acoustic and gravity-wave modes:

o      small step horizontally explicit, vertically implicit

o      divergence damping option and vertical time off-centering

o      external-mode filtering option

·       Upper boundary aborption and Rayleigh damping

·       Lateral boundary conditions

o      idealized cases: periodic, symmetric, and open radiative

o      real cases: specified with relaxation zone

·       Full physics options for land-surface, planetary boundary layer, atmospheric and surface radiation, microphysics and cumulus convection

·       Grid analysis nudging using separate upperair and surface data and observation nudging

·       Spectral nudging

·       Digital filter initialization

·       Gravity wave drag

·       A number of idealized examples

這是模式系統的關鍵組成部分,它由幾個理想化,實時同化以及數值積分的初始化程式組成。它還包括了一個單向嵌套的程式。WRF 模式的關鍵特征有:

完全可壓縮非靜力方程帶有一個靜力選項

區域以及全球的應用

完整的科氏力以及曲率的條件

帶有多重嵌套和嵌套層次的雙向嵌套

單向嵌套

移動嵌套

地形跟随品質坐标

垂直格點大小随高度變化而變化

地圖投影方案

極地立體投影(保角映射)

蘭伯特保角投影

麥卡托(保角)投影

經緯度旋轉投影

Arakawa C格點

Runge-Kutta二階三階時間積分

标量保守通量預測變量

二階到六階平流選項(水準與垂直)

單調傳輸以及正定平流選項的水汽,标量,TKE

分時小步長的聲波以及重力波模式

小步長水準顯顯式,垂直隐式

輻散阻尼選項和垂直時間

外部模式濾波選項

上邊界吸收以及瑞利Rayleigh 阻尼

側邊界條件

理想化個例:周期邊界,對稱邊界以及開放輻射

真實個例:指定的開放區域

完整的實體選項:陸面,行星邊界層,大氣與表面輻射,微實體與積雲對流

使用上層空氣與地表資料以及觀測資料格點分析

光譜分析

初始化數字濾波器

重力波拖拽

數個理想化例子Graphics and Verification Tools

Several programs are supported, including RIP4 (based on NCAR Graphics), NCAR Graphics Command Language (NCL), and conversion programs for other readily available graphics packages: GrADS and Vis5D.

Program VAPOR, Visualization and Analysis Platform for Ocean, Atmosphere, and Solar Researchers (http://www.vapor.ucar.edu/), is a 3-dimensional data visualization tool, and it is developed and supported by the VAPOR team at NCAR ([email protected]).

Program MET, Model Evaluation Tools (http://www.dtcenter.org/met/users/), is developed and supported by the Developmental Testbed Center at NCAR ([email protected]).

The details of these programs are described more in the chapters in this user's guide.

圖形與驗證工具

該部分包括了:RIP4, NCAR 圖形指令語言 (NCL),以及為使用其他作圖軟體包:GrADS以及Vis5D的轉換程式。

VAPOR程式,海洋,大氣,太陽研究的可視化以及分析平台,是一個三維資料可視化工具,由NCAR的VAPOR工作組開發與維護。

MET程式,由NCAR的DTC工作組開發與維護。

這些程式的詳細資訊會在以後的章節進一步介紹。

Chapter 3: WRF Preprocessing System (WPS)

Chapter 3: WRF Preprocessing System (WPS)

翻譯by: SJ

Table of Contents

Meteor

• Installing the WPS

• Running the WPS

• Creating Nested Domains with the WPS

• Using Multiple Meteorological Data Sources

• Parallelism in the WPS

• Checking WPS Output

• WPS Utility Programs

• Creating and Editing Vtables

9

• Description of Namelist VariablesM

• Description of GEOGRID.TBL Options% x( v* o% g' A

• Description of index Options

• Available Interpolation Options in Geogrid and Metgrid. y9 B/ v8 _- b& ]

• Land Use and Soil Categories in the Static Data

介紹

WRF 前處理系統(WPS)是一個由三個程式組成的子產品,這三個程式的作用是為真實資料模拟準備輸入場。三個程式的各自用途為:geogrid确定模式區域并把 靜态地形資料插值到格點;ungrib從GRIB格式的資料中提取氣象要素場;metgird則是把提取出的氣象要素場水準插值到由geogrid确定的 網格點上。把氣象要素場垂直方向插值到WRF eta層則是WRF子產品中的real程式的工作。

上圖給出了資料在WPS的三個程式之間的轉換關系。正如圖像所示,WPS裡每個程式都會從一個共同的namelist檔案裡讀取參數。這個 namelist檔案按各個程式所需參數的不同分成了三個各自的記錄部分及一個共享部分,它們分别定義了WPS系統所要用到的各種參數。被三個程式各自用 到的表格檔案沒有在圖中顯示出來。盡管這些表格無需使用者改動,但是這些個表格卻提供了控制程式運作的額外資訊。GEOGRID.TBL, METGRID.TBL,和Vtable檔案将會在後文中被詳細介紹。

安裝WPS的步驟和安裝WRF的步驟基本相同,都提供了編譯的選項,隻是平台有所變化。當MPICH庫及合适的庫可以使用時,metgird和 geogrid程式可以用分布式記憶體來編譯,如果是這樣操作,那當使用者在設定大的模拟區域時就可以花更少的時間。但是ungrib程式卻不能使用并行,因 此隻能用單CPU來操作。

各個程式的功能; w* C/ E. N' y" U

WPS是由三個單獨的程式—geogrid,ungrib和metgird組成。當然,也包括了很多其它的應用程式,這些程式放在util目錄下。下面是對這三個主要程式的一個簡單描述,更詳細的内容将在後邊的章節進一步介紹。

程式

geogrid的目的是确定模拟區域,及把各種地形資料集插值到模式格點上。模拟區域的确定是通過設定namelist.wps檔案中的與 “geogrid”有關的參數來實作的。除了計算經緯度和地圖每個格點的比例因子外,geogrid還會根據預設值來插值土壤類型、地表利用類型、地形高 度、年平均深層土壤溫度、月季植被覆寫、月季反照率、最大的積雪反照率及斜坡的類别。可以通過WRF的官方網站來下載下傳這些場的全球資料集,而且這些資料可 以被看成是不随時間改變的,是以隻需下一次就可以了。很多資料集隻有在某一特定精度上才能使用,但是其它的則可在30",2', 5', 和10'中的任何一個精度使用;其中"的意思是弧秒而'則是代表弧分(具體見下面的表格)。盡管一個與模拟區域分辨率接近的地形資料被應用後,這個插值後 的地形場可能更具代表性,但是使用者仍是無需下載下傳所有可用的分辨率的資料(SJ認為還是全下載下傳的好)。盡管如此,那些希望應用擁有可以覆寫大範圍的格點空間 的區域的使用者,還是願意下載下傳所有分辨率的靜态地形資料。

除了插值預設的靜态資料,geogrid程式還可以插值進更多的連續的且不同種類的地形到模拟區域。可以通過應用表格檔案—GEOGRID.TBL來實作插 值新的或額外的資料集到模拟區域。GEOGRID.TBL檔案定義了所有可以被geogrid生成的地形場;它描述了插值一個地形場所需的方法,及所需數 據所放的具體位置。由geogrid生成的檔案的格式是WRF I/O API,是以可以通過選擇NetCDF I/O格式使geogrid生成NetCDF格式的輸出檔案,以便更友善的用一些外部軟體—ncview,NCL和最新版本的RIP4來實作可視化(畫出 地形圖)。

ungrib程式

ungrib 程式讀GRIB檔案,“抽出”資料,然後把它們用一個簡單的格式寫出來,這種格式就是“過渡”格式(格式是SJ的個人翻譯,具體參考英文文獻,及 writing data to the intermediate format一節以獲得關于這個格式的更多細節)。GRIB檔案包含随時間變化的氣象要素場,而且它是從其它區域或全球模式—如NCEP的NAM或GFS 模式而來的。ungrib程式可以讀GRIB1的資料,當然,如果編譯時選擇了GRIB2的選項,則就可以讀GRIB2的資料。

GRIB 檔案包含的要素場多于啟動WRF所需的數量。兩種不同格式的GRIB用了不同的編碼來确定變量和在GRIB檔案中的層次。ungrib用這些編碼表格— Vtable(variable tables)—來确定那些場需要從GRIB檔案裡提取出來并寫成過渡格式。關于編碼的細節可以在WMO GRIB文檔中找到。對于相同GRIB模式輸出檔案的各種Vtables可以在WPS主目錄下的/ungrib/Variable_Tables/裡。 WPS為NAM104和212格點、NAM AWIP格式、GFS、NCEP/NCAR再分析、RUC(氣壓坐标資料和混合坐标資料),AFWA的AGRMET地表模式輸出,ECMWF及其它資料 集。使用者可以以其它Vtable做模闆來為其它的模式輸出創造自己的Vtable;要進一步了解關于Vtable中要素場的細節,可以參考 creating and editing Vtables。

Ungrib 可以用三個使用者可選格式中任何一個來寫過渡資料,這三個格式是:WPS—一個新的格式,它包含了對接下來的程式有用的額外資訊;SI—WRF之前使用過的 過渡格式;MM5—用來向MM5模式輸入GRIB2資料。盡管WPS格式是被推薦使用的,但是這三個中的任何一個格式都可以被用來啟動WRF。

程式氣

metgrid程式的作用是把ungrib程式提取出的氣象要素場水準插值到geogrid确定的模拟區域上。這個插值後的資料可以被WRF的real程 序所識别并吸收。metgird插值的那些資料的時間段可以通過設定namelist.wps中share記錄部分來調整,而且每個模拟區域(最外圍區和 嵌套區)的時間都要單獨設定。與ungrib程式一樣,metgird所處理的資料也是随時間改變的,是以每次做新的模拟時,都要運作metgird程 序。

METGRID.TBL 檔案是用來控制如何把氣象要素場進行插值的。METGRID.TBL檔案為每個要素場都提供了一個區間,在這個區間裡,可能會确定諸如要素場的插值方式、 作為标記插值以及要素場所要插值的網格(如ARW的U,V;NMM的H,V)。由metgrid生成的檔案的格式是WRF I/O API,是以可以通過選擇NetCDF I/O格式使metgrid生成NetCDF格式的輸出檔案,以便更友善的用一些外部軟體—ncview,NCL和最新版本的RIP4來實作可視化(畫出 地形圖)。

運作WPSMe

運作WRF Preprocessing System(WPS)有如下三個步驟:

1,利用geogrid子產品确定一個模式的粗糙區域(最外圍的範圍),及其它嵌套區域

2,利用ungrib把模拟期間所需的氣象要素場從GRIB資料集中提取出來

3,利用metgird把上述的氣象要素場(第二步所做的工作)水準插值到模式區域(第一步所做的工作)中

當多個模拟在同一區域重複進行時,隻需要做一次第一步的工作即可(也就是說geogrid.exe所做出的地形資料—geo_em.d0*.nc可以重複 利用);是以,隻有随時間改變的資料才需要在每次模拟時用第二、三步來處理。類似的,如果在多次模拟中,氣象資料是類似的,但是地形區域卻不斷改變的話, 那第二步是可以省略的。下面是各個步驟的詳細說明:

Step 1: 确定模式區域

如 果WPS安裝成功,會在WPS根目錄下出現三個可執行程式—geogrid.exe, ungrib.exe和metgird.exe(原程式在各自的同名子目錄下)的連結。除了這三個可執行程式的連結,還有一個namelist.wps文 件。下面是一個WPS主目錄下各元件的清單:

drwxr-xr-x 2 4096 arch

-rwxr-xr-x 1 1672 clean氣

-rwxr-xr-x 1 3510 compile

-rw-r--r-- 1 85973 compile.output

-rwxr-xr-x 1 4257 configure

-rw-r--r-- 1 2486 configure.wps

drwxr-xr-x 4 4096 geogrid

lrwxrwxrwx 1 23 geogrid.exe -> geogrid/src/geogrid.exe

drwxr-xr-x 3 4096 metgrid

lrwxrwxrwx 1 23 metgrid.exe -> metgrid/src/metgrid.exe

-rw-r--r-- 1 1101 namelist.wps

-rw-r--r-- 1 1987 namelist.wps.all_options

-rw-r--r-- 1 652 namelist.wps.nmm

-rw-r--r-- 1 4786 README

lrwxrwxrwx 1 21 ungrib.exe -> ungrib/src/ungrib.exe

drwxr-xr-x 3 4096 utilMete

模式的最外層區域和其它嵌套區域都是在namelist.list中geogrid記錄裡設定的,另外,在share記錄裡也有需要設定的參數。下面是關 于這兩個部分的一個模闆,并且如果想獲得更多關于每個參數的可能設定及其目的的資訊,可以參考description of namelist variables

&share

wrf_core = 'ARW',

max_dom = 2,

start_date = '2008-03-24_12:00:00','2008-03-24_12:00:00',

; r$ g% N' i* a

interval_seconds = 21600,

io_form_geogrid = 2

/

&geogrid

parent_id = 1, 1,"

parent_grid_ratio = 1, 3,

M

j_parent_start = 1, 17,

s_we = 1, 1,

s_sn = 1, 1,

e_sn = 61, 97,M

geog_data_res = '10m','2m',

dy = 30000,!

map_proj = 'lambert',

ref_lat = 34.83,氣

ref_lon = -81.03,

truelat1 = 30.0,

truelat2 = 60.0,

geog_data_path = '/mmm/users/wrfhelp/WPS_GEOG/

/

為了總結一些列與 geogrid有關的share記錄中的典型改變,與WRF的動力核有關的wrf_core要首先被選擇。如果WPS要為ARW(Advanced Research WRF)模拟而運作,那wrf_core就設成‘ARW’,如果要為NMM(Nonhydrostatic Mesoscale Model)模拟的話,則設成‘NMM’。當選擇好動力核心後,接下來選擇max_dom,即區域(最外層的一個 嵌套數)的總數(當 wrf_core=‘ARW’)或者嵌套的層次(當wrf_core=‘NMM’)。因為geogrid生成的僅僅是時間獨立的資料,是以 start_date,end_date, 和 interval_seconds這些參數将被其忽略。另外,還有一些可選的選項,如opt_output_from_geogrid_path,如果設 成預設值,則由geogrid.exe生成的地形檔案将被放到目前工作目錄(WPS的主目錄),如果想放到别的目錄下,則根據需要修改即 可;io_form_geogrid則是設定地形資料輸出格式的。在geogrid的記錄部分,是關于模拟區域投影的設定,同時也設定了模式格點的大小和 所在位置。模式所用的地圖投影方式由map_proj來設定,其它用來設定投影的參數總結如下:Meteorological Numerical Model Union of China (MNMUC)中國氣象數值模式聯盟. _/ g# |& A& Y0 M

地圖投影方式/與相應投影方式有關的參數變量

'lambert' truelat1

truelat2 (optional)

stand_lon& C6

'mercator' truelat1

'polar' truelat1

stand_lon

'lat-lon' pole_lat

stand_lon

如果WRF是在一個局地區域裡運作,那粗糙區域(最外層區域)位置則是通過ref_lat和ref_lon來定位,它們分别确定了粗糙區域的緯度和經度。如 果也要處理嵌套區域,則它們的位置是通過i_parent_start 和j_parent_start來确定;更多關于設定嵌套區域的細節可以參考nested domains一節。接下來,粗糙區域的維數由dx和dy來确定,它們分别确定了x軸和y軸上标準格距的長度,而e_we和e_sn則分别給出了x軸(東 西方向)和y軸(南北方向)上的格點數(具體設定方案可見後邊description of namelist variables);對應'lambert', 'mercator', 和 'polar'投影方式,dx和dy的機關是'米',對于'lat-lon'投影方式,dx和dy的機關則是'度'。對于嵌套區域,隻有e_we和 e_sn可以用來确定格點的維數,格點的dx和dy是不能被設定的,因為它們的值已經被parent_grid_ratio和parent_id所決定 了,這兩個參數分别确定了嵌套的上一級區域(父區域)的格點距離與嵌套的格點距離的比值和嵌套的上一級區域的ID【】。

對于全球的模拟,粗糙區域(最外圍區域)的覆寫範圍就應該是全球,是以ref_lat和ref_lon就不在被使用,而且dx和dy也不應該再被設定,這 是因為這個格距将根據格點數被自動計算出來。同樣需要注意的是,經緯度投影(map_proj = 'lat-lon')是WRF中唯一支援全球區域(全球模拟)的投影方式。

除 了設定與模式區域的投影方式、位置和覆寫範圍有關的參數外,靜态資料集的路徑也必須通過參數geog_data_path被正确的設定。同樣,使用者可能會 通過設定geog_data_res參數來選擇靜态資料的分辨率以便于geogrid的內插補點,而分辨率的值要與GEOGRID.TBL中的資料分辨率吻 合。如果靜态資料集是從WRF官網下載下傳的,則可能的分辨率會包括'30s', '2m','5m', 和 '10m',分别對應的是30秒,2-,5-,10-分的資料【】。根據wrf_core所設值的不同,geogrid需要不同的GEOGRID.TBL 與之對應,因為WPS會根據動力核心的不同插值出不同的網格。如果wrf_core='ARW',則應該使用GEOGRID.TBL.ARW,如果是 wrf_core='NMM',則相應的要用GEOGRID.TBL.NMM。可以通過連結正确的GEOGRID.TBL檔案來正确使用它,原始的檔案放 在geogrid目錄裡(另一種方法是通過opt_geogrid_tbl_path參數來設定檔案的位置來使用它)。

$ ls geogrid/GEOGRID.TBL

lrwxrwxrwx 1 15 GEOGRID.TBL -> GEOGRID.TBL.ARW

如果想了解更多的關于各個參數的意義和可能的選項,可以參考description of the namelist variables。

在namelist.wps中設定了合适的模拟和嵌套區域,geogrid.exe就可以處理地形檔案了。在ARW的個例中,地形檔案被命名為 geo_em.d0N.nc,其中每個檔案中的N代表嵌套的序号。當運作NMM個例時,粗糙區域(外圍區)的地形資料檔案的名字為 geo_nmm.d01.nc,嵌套的檔案則是geo_nmm_nest.l0N.nc,其中N代表嵌套的級數。還需要注意的是,檔案的字尾會随參數 io_form_geogrid設定的不同而不同。運作geogrid.exe的指令是:

$ ./geogrid.exe% J# g$ h/ f4 o% u9 I) _

當程式運作成功後,會出現如下資訊氣

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" u/ {- {6 w" m6 H  A1 V6 W, H E

! Successful completion of geogrid. !

并 且WPS的主目錄下會出現地形檔案(或者出現在opt_output_from_geogrid_path所設定的目錄下)。如果沒有出現,可以通過檢查 geogrid.log來找出可能的失敗原因。如果想了解更多的關于檢查geogrid輸出結果的資訊,可以參考checking WPS output一節。

$ls

drwxr-xr-x 2 4096 arch#

-rwxr-xr-x 1 1672 clean

-rwxr-xr-x 1 3510 compile

-rw-r--r-- 1 85973 compile.output

氣象

-rw-r--r-- 1 2486 configure.wps

-rw-r--r-- 1 4745324 geo_em.d02.nc

drwxr-xr-x 4 4096 geogrid

lrwxrwxrwx 1 23 geogrid.exe -> geogrid/src/geogrid.exe

-rw-r--r-- 1 11169 geogrid.log9、

-rwxr-xr-x 1 1328 link_grib.csh

drwxr-xr-x 3 4096 metgrid

-rw-r--r-- 1 1094 namelist.wps

-rw-r--r-- 1 1987 namelist.wps.all_options

-rw-r--r-- 1 1075 namelist.wps.global

-rw-r--r-- 1 652 namelist.wps.nmm

drwxr-xr-x 4 4096 ungrib

lrwxrwxrwx 1 21 ungrib.exe -> ungrib/src/ungrib.exe

drwxr-xr-x 3 4096 util

Step 2:利用ungrib從GRIB檔案中提取氣象要素場

當已經下載下傳了GRIB格式的氣象資料後,提取要素場以轉成過渡格式的第一步所要做的參數設定涉及到“share”和“ungrib”兩個部分。下面是關于這兩部分的一個模闆:

&share

wrf_core = 'ARW',

start_date = '2008-03-24_12:00:00','2008-03-24_12:00:00',

interval_seconds = 21600,

io_form_geogrid = 2

/j

&ungrib) s) h8 D) V. ~9 ?

out_format = 'WPS',

/

在 “share”部分,與ungrib有關的參數是粗糙區域(外圍區)的開始和結束時間(start_date和end_date; 或者start_year, start_month, start_day, start_hour, end_year, end_month, end_day和end_hour)以及氣象資料檔案的時間間隔(interval_seconds)。在“ungrib”部分,參數 out_format是用來設定過渡資料檔案的格式的;metgird程式可以讀任何一個被ungrib支援的格式,是以雖然'WPS'是被推薦的格式, 但是'WPS','SI', 和'MM5'中的任何一個都可以作為選項被選擇;另外,使用者可以通過設定prefix參數來确定過渡資料檔案的儲存路徑和字首。例如,如果prefix被 設成'ARGRMET',那過渡資料的檔案名就是AGRMET:YYYY-MM-DD_HH,其中YYYY-MM-DD_HH是檔案中資料的真實的日期。

在合理的修改了 namelist.wps檔案後,Vtable檔案也是需要事先被提供的,并且GRIB檔案也要被連結(拷貝)到ungrib.exe所期望的目錄下(一 般是WPS的主目錄,如果WPS被安裝成功的話)。如果WPS要處理氣象資料,就要在Vtable的輔助下進行才行,即使Vtabel僅僅被象征性地以 Vtable來命名并連結到ungrib.exe所期望的目錄下(一般是WPS的主目錄)。例如,如果是來自GFS模式的GRIB資料,可以如此處理:

$ ln -s ungrib/Variable_Tables/Vtable.GFS Vtable

程式将嘗試以 GRIBFILE.AAA,GRIBFILE.AAB, …, GRIBFILE.ZZZ這樣的檔案名來讀取GRIB資料。為了能簡化把GRIB資料連結到到合适的目錄,并以這些名字來命名,程式提供了一個shell 的腳本link_grib.csh。這個腳本通過讀取一個以GRIB資料檔案名為清單的指令行參數來完成上述工作。例如,如果GRIB資料被下載下傳到一個 /data/gfs的目錄下,那這些檔案可以用下面的方法來進行連結:

$ ls /data/gfs/ j. ~! ~* G% Z

-rw-r--r-- 1 42728372 gfs_080324_12_00

-rw-r--r-- 1 48218303 gfs_080324_12_06

$ ./link_grib.csh /data/gfs/gfs*

上述操作完成後,WPS目錄下的清單将是如下所示:

drwxr-xr-x 2 4096 archM

-rwxr-xr-x 1 1672 clean

-rwxr-xr-x 1 3510 compile

-rwxr-xr-x 1 4257 configure

-rw-r--r-- 1 2486 configure.wps

-rw-r--r-- 1 1957004 geo_em.d01.nc

drwxr-xr-x 4 4096 geogrid

lrwxrwxrwx 1 23 geogrid.exe -> geogrid/src/geogrid.exe

-rw-r--r-- 1 11169 geogrid.log

lrwxrwxrwx 1 38 GRIBFILE.AAB -> /data/gfs/gfs_080324_12_06

-rwxr-xr-x 1 1328 link_grib.csh" s D9 H3 v: d4 K

drwxr-xr-x 3 4096 metgrid

-rw-r--r-- 1 1094 namelist.wps

-rw-r--r-- 1 1987 namelist.wps.all_options

-rw-r--r-- 1 1075 namelist.wps.global

-rw-r--r-- 1 652 namelist.wps.nmm

drwxr-xr-x 4 4096 ungrib

lrwxrwxrwx 1 21 ungrib.exe -> ungrib/src/ungrib.exe

drwxr-xr-x 3 4096 util

lrwxrwxrwx 1 33 Vtable -> ungrib/Variable_Tables/Vtable.GFS

修改完namelist.wps并連結了合适的Vtable和正确的GRIB檔案後,ungrib.exe就可以被執行以生成過渡資料格式的氣象資料檔案了。Ungrib可按如下指令進行操作:氣象,

數值$ ./ungrib.exe >& ungrib.outputMet

因為ungrib程式會産生一個數量相當可觀的輸出,是以這個操作是被推薦的,這樣可以把輸出間接地輸入到一個名字為ungrib.output的檔案中。如果ungrib.exe運作成功,過渡資料檔案将會在正确的目錄中出現,且則會有如下資訊被列印在檔案的最後部分:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!: K/ ? P% u# |# i/ b' z

! Successful completion of ungrib. !

B, n# Z! O- B* {# K) ^% R

這個過渡資料的檔案名将會以FILE:YYYY-MM-DD_HH的形式命名(除非prefix參數被設定成其它名字)

$ls

drwxr-xr-x 2 4096 archM

-rwxr-xr-x 1 1672 clean

-rwxr-xr-x 1 3510 compile

-rw-r--r-- 1 85973 compile.output

-rw-r--r-- 1 2486 configure.wps

-rw-r--r-- 1 154946888 FILE:2008-03-24_12

-rw-r--r-- 1 154946888 FILE:2008-03-24_18氣象

-rw-r--r-- 1 1957004 geo_em.d01.nc

-rw-r--r-- 1 4745324 geo_em.d02.nc7 v&

drwxr-xr-x 4 4096 geogrid

lrwxrwxrwx 1 23 geogrid.exe -> geogrid/src/geogrid.exe

-rw-r--r-- 1 11169 geogrid.log

lrwxrwxrwx 1 38 GRIBFILE.AAA -> /data/gfs/gfs_080324_12_00

lrwxrwxrwx 1 38 GRIBFILE.AAB -> /data/gfs/gfs_080324_12_06

drwxr-xr-x 3 4096 metgrid

lrwxrwxrwx 1 23 metgrid.exe -> metgrid/src/metgrid.exe

-rw-r--r-- 1 1987 namelist.wps.all_options

-rw-r--r-- 1 1075 namelist.wps.global

-rw-r--r-- 1 652 namelist.wps.nmm

-rw-r--r-- 1 4786 README

drwxr-xr-x 4 4096 ungrib

lrwxrwxrwx 1 21 ungrib.exe -> ungrib/src/ungrib.exeM

-rw-r--r-- 1 1418 ungrib.log

,

drwxr-xr-x 3 4096 util

ungrib/Variable_Tables/Vtable.GFSMete

WPS建立嵌套區域氣象

做帶嵌套的模拟試驗并不比做單層區域的難多少,嵌套區域的模拟和單層嵌套的不同之處在于,當運作geogrid和metgrid程式時,處理的将不止一個格點了。為了确定嵌套的大小和位置,将要設定一系列的namelist.wps中的參數,下面是設定一個嵌套的模闆:

&share

wrf_core = 'ARW',氣象

max_dom = 2,Meteo

start_date = '2008-03-24_12:00:00','2008-03-24_12:00:00', 、

end_date = '2008-03-24_18:00:00','2008-03-24_12:00:00',

interval_seconds = 21600,

io_form_geogrid = 2

Me

&geogrid

parent_id = 1, 1,

parent_grid_ratio = 1, 3,

j_parent_start = 1, 17,氣象

s_we = 1, 1,

s_sn = 1, 1,

e_sn = 61, 97,

geog_data_res = '10m','2m',

dx = 30000,

dy = 30000,

map_proj = 'lambert',

ref_lat = 34.83,M

ref_lon = -81.03,

truelat2 = 60.0,

stand_lon = -98.

/

設定 與嵌套有關的參數如上。在上邊這個例子中,“share”中第一個要改的是max_dom的數值,即總共的區域個數(最外圍區域 嵌套區)。由此,以後任 何與區域有關的參數都要設定N個值,每個值對應一個網格。“share”中唯一需要改變的是模拟的起止時間。每個模拟區域都要有一個起止時間與之對應,當 然這個時間的設定是有限制的,那就是子區域的起始時間一定要晚于或至少與其父區域(上一級區域)起始時間相等;同樣,終止時間也一定要早于或至少與父區域 的終止時間相等;而且,嵌套的起止時間的給定最好都和使用者想要嵌套啟動的時間一緻(即起始時間是嵌套的起始時間,并且終止時間也等于起始時間)。這是因 為,嵌套是從它的父區域得到的邊界條件,是以,除了WRF中用到網格松弛,或者說松弛分析,嵌套隻要在初始時間接受WPS的處理即可。但是很重要的一點 是,當運作WRF時,對每個區域的真實的起始時間卻是要在namelist.input檔案裡詳細給出的。

剩下要做的就是對geogrid 進行設定了。在這塊記錄中,通過改變參數parent_id來設定每個區域的父區域,除了粗糙區域(最外圍區)的父區域是自己本身外,每個區域都必須是另 一個區域的子區域。與每個區域的父區域的ID類似,每個父區域和其子區域的格點距離的比值是通過參數parent_grid_ratio來設定的。www.mnmuc.org4 x' k4 [$ W. F- Z8 `

接下來,需要通過參數i_parent_start和j_parent_start來設定子區域左下角在父區域内的位置(i,j),并且這個位置是在無參差 格點的情況下确定的。每個區域的格點維數都要通過參數s_we, e_we,s_sn,和e_sn來設定。關于與格點有關的設定的模闆在上圖已經給出。其中,每個網格在南北(s_sn)向和東西(s_we)向的起始格點 都要設定成1,而相應的終止(e_sn和e_we)格點則是區域的總維數,為了保證每個嵌套區域的右上角與父區域的無參差格點想重合, e_sn和e_we的大小必須要比parent_grid_ratio所設數值的N倍再大一個。同樣的,每個區域所要插值的源資料的分辨率(可參考 description of namelist variables)需要通過參數geog_data_res來設定。使用者可通過閱讀description of namelist variables獲得一個對namelist各個參數的完整描述。

metgrid程式可以插值不随時間變化的要素場,也能從多個源資料中獲得要素場并進行插值。第一個功能可以通過設定&metgrid記錄中的參 數constants_name來實作,這個參數可以用來設定一系列具有過渡格式的檔案的檔案名(如果需要還可包含路徑資訊),這些檔案裡面包含了不随時 間改變的要素場,并且在每次metgrid進行處理時都可以被用上,例如,短時模拟可能會用上常值SST(海表溫度)場—這個場隻需有一個時次的值就可以 了,用法如下:

&metgrid

/

或者

; o8 C

constants_name = 'LANDSEA', 'SOILHGT

/

第二個功能—從多個源資料裡獲得資源進行插值—在有兩個或兩個以上補充資料(随時間變化)且需要被合并到一起後進行real.exe處理的情況下是非常有 用的。可以通過&metgrid記錄中的參數fg_name設定一系列具有過渡格式的資料的字首(如果需要還可包含路徑資訊)來實作此功能。當給 出多個路徑-字首的設定,如果相同的氣象要素場在多個資料檔案中出現,則最後一次出現的數值将被使用,不論之前出現過多少次—靠後原則。是以,可以通過調 整源資料的順序來安排它們的優先級别。下面是一個關于使用插值地面要素場和高空風場到地形網格上的模闆:

&metgrid

fg_name = '/data/ungribbed/SFC', '/data/ungribbed/UPPER_AIR'

可 以通過合理的設定&ungrib記錄中的參數prefix來達到簡化從GRIB檔案中提取要素場的步驟。這個參數允許使用者控制ungrib程式所 生成的過渡檔案的路徑和檔案名。下面将給出這種方法在應用上的一個模闆。North American Regional Reanalysis (NARR)—北美區域再分析資料集被分為了三部分,分别是三維的大氣資料,地面資料和常值場資料,如果使用者想使用這種資料,可以通過腳本 link_grib.csh把3-D GRIB資料進行連結,然後再連結NARR Vtable到檔案Vtable(具體方法見ungrib程式一節),然後在運作ungrib之前通過設定&ungrib記錄裡的prefix使 得産生的過渡檔案有一個合适的字首,模闆如下:

&ungrib

Met

prefix = 'NARR_3D',

/

運作完ungrib.exe後,将會出現如下的檔案(附帶正确的日期):

NARR_3D:2008-08-16_15M

NARR_3D:2008-08-16_18

考慮到過渡檔案是一個三維場的資料,是以當處理地面資料時可以另外改一個prefix與之對應:

out_format = 'WPS',/ [

prefix = 'NARR_SFC',

/

再一次運作ungrib.exe,會另外出現如下的資料檔案:氣象,

NARR_SFC:2008-08-16_12

NARR_SFC:2008-08-16_15

NARR_SFC:2008-08-16_18

...

最後,當處理常值資料時,同樣要給出合适的prefix:

out_format = 'WPS',

prefix = 'NARR_FIXED',

/

第三次運作ungrib.exe後,會得到如下資料檔案:

NARR_FIXED:1979-11-08_007 ^2 @9 A5 Q2 `# y

為了清楚起見,常值資料最好省掉日期資訊。如,因為資料是靜态的,是以可以把上面提到的檔案名改為NARR_FIXED。在這個例子中,NARR常值資料 僅僅在一個特定的時次—1979年11月08日00時00分(UTC)可以使用,是以,當運作ungrib程式之前,使用者應該設定好&share 記錄中的起止日期;當然,在運作metgrid程式之前,這個日期還需再次被調整。

考慮到NARR資料集有三個過渡檔案,是以在運作metgrid.exe之前需要設定好&metgrid記錄裡的相關參數—constants_name和fg_name,模闆如下:

&metgrid3 D3 v# Y9 h* N  ^. @4 f6 E0 @

constants_name = 'NARR_FIXED',

4

/

盡管 可能性很小,但是還是會發生的一種情況是,當一個來自區域模式的氣象源資料不足以覆寫整個模拟區域時,則多個源資料将被使用,并且那些來着一個更大的區域 模式或全球模式的資料将被插值到剩下的模拟網格上。例如,為了能在有可能的區域上應用NAM的資料,剩下的區域應用GFS的資料,需要設定 namelist中的如下參數:

&metgrid

fg_name = '/data/ungribbed/GFS', '/data/ungribbed/NAM'

/

則插值後的結果如下圖:

如果要素場不會在其它源資料檔案中出現,那就不會有優先級一說,則metgrid進行的插值就會像正常情況下一樣,每個源資料都要覆寫整個模拟區域以免有的區域沒有資料。

WPS中并行

如 果WPS中設定的模拟區域的維數過于龐大以至于單CPU無法勝任,則用分布式存儲器的方式來運作geogrid和metgrid程式是一個解決辦法。為了 能把geogrid和metgrid程式以分布式存儲器的類型編譯,使用者必須在機器上安裝MPI庫,及在編譯時選中選項“DM parallel”。當編譯成功後,geogrid和metgrid程式就可以在mpirun和mpiexec的指令,或通過批隊列系統下運作了,具體的 運作方式則是根據機器的不同而定。正如之前提到的,ungrib程式是不能用并行運作的,而且ungrib程式對于記憶體的需求是獨立于geogrid和 metgrid程式之外的;是以,無論編譯時是否選擇“DM parallel”選項,ungrib總是會在單處理器下編譯且在單CPU下運作。

每 個标準的WRF I/O API 格式 (NetCDF, GRIB1, binary)都有一個相應的并行格式,但這需要在設定參數io_form(即io_form_geogrid和io_form_metgrid)時在原 有的值的基礎上加100來實作。當并行被使用時,每個CPU都會對其讀/寫的輸入/輸出的檔案進行分割,這些檔案的名字與在串行時的一樣,隻是多了一個4 位數的處理器ID來代表處理器的名字。例如,當用4個處理器來運作geogrid(io_form_geogrid=102)時,單粗糙區域(最外圍區) 就可以生成四個輸出檔案,分别是geo_em.d01.nc.0000, geo_em.d01.nc.0001, geo_em.d01.nc.0002和geo_em.d01.nc.0003。在并行的過程中,模式區域會被分成若幹矩形區域,每個處理器會分派一個單 獨的子區域,當讀/寫到WRF I/O API格式時,每個處理器也都隻會讀/寫它自己的那塊子區域。是以,如果geogrid程式使用并行,則metgrid運作時所使用的處理器個數要與 geogrid時的一樣。同樣的,如果metgrid使用并行運作時,則real.exe也需要用相同的處理器個數來運作。當然,在用多個處理器運作時, 還是可以用一個标準的輸入輸出格式的,此時,模式區域的所有資料都會被配置設定/收集到輸入/輸出中。最後,當用多個處理器運作geogrid或者 metgrid時,每個處理器都會寫一個獨立的log檔案(類似工作日記的檔案),這些log檔案的名字會附上4位數的處理器ID,以此作為I/O API檔案。

檢查WPS的輸出

當 運作WPS時,檢查它們的輸出是有幫助的。例如,當決定了嵌套的位置後,檢查下被插值的靜态地理資料和經緯度場是有益的;另一個例子,當向WPS輸入新的 源資料時—無論是靜态資料還是氣象要素場—檢查插值後的結果對通過geogrid和metgrid調整插值的方法也是有好處的。由于使用NetCDF格式 作為geogrid和metgrid的輸入輸出格式,使得一些列可以讀NetCDF資料的可視化工具都可以用來檢查那些被geogrid處理和 metgrid水準插值的氣象要素場的區域檔案。可以通過設定參數io_form_geogrid和io_form_metgrid為2來讓 geogrid和metgrid的結果以NetCDF格式輸出(2是這兩個參數的預設設定):

io_form_geogrid = 2,

/

io_form_metgrid = 2,% ?

/

在這些可用的工具中,ncdump,ncview和新的RIP4程式是比較好的。Ncdump是一個具有NetCDF庫的可以把NetCDF資料的變量及 屬性顯示出來的簡潔程式。在檢查geogrid生成的區域檔案中的區域參數(如東西、南北向維數,或區域中心點),或展示一個檔案中各要素場時都是有幫助 的。而ncview則提供了一個看NetCDF檔案中各要素場的互動式的方法。如果使用者想生成可以用在刊物上發表的各要素的圖檔,那新版的RIP4則是有 用的。新版RIP4不僅可以畫水準等值線、地圖背景,還可以在同一幅圖上還可以疊加很多要素場。從ungrib程式中輸出的檔案是以簡單的二進制格式 (‘WPS’, ‘SI’, 或 ‘MM5’)寫成的,是以大部分用于看NetCDF檔案的軟體都法使用了。盡管如此,一個以NCAR Graphics為基礎的應用軟體—plotfmt(包含在WPS核心中)可以解決這個問題。這個應用程式制作出的要素場的等值線可以通過一個多媒體軟體 來檢視。如果NCAR Graphics庫被正常安裝了,則當編譯WPS時,plotfmt會和其它一些應用程式一起被自動編譯。0 k& Q) x# ]& ^, D  S, o

WPS應用程式

處理WPS的三個主要程式—geogrid,ungrib和metgrid—WPS還有很多其它的應用程式會被編譯,并放在util目錄下。這些程式可以被用來檢查資料檔案,看模拟區域的位置,計算氣壓場及計算平均的地表溫度場。- x% F, t4 Z' l1 J, Y: k# [

A.        avg_tsfc.exe

程式是用來計算日平均地表溫度的,這些資料來自于過渡格式檔案,而它們的日期則是通過namelist.wps中的“share”記錄中的相關參數定的, 并且同樣考慮到了檔案之間的時間間隔,在計算平均值時,avg_tsfc.exe以namelist.wps中設定的起始時間為準,并用上盡可能多時次的 資料。如果一個中天沒有一個完整的時次,則不會有輸出檔案生成,這個程式也會立即停止。類似的,如果一個檔案的時次沒有包含在一個完整的24小時的周期 内,則這個檔案也将會被舍掉,例如,如果有5個過渡檔案,之間的時間間隔為6個小時,則最後一個檔案将被舍棄。計算出的平均場将以檔案的形式輸出,名字為 TAVGSFC,格式同樣是過渡格式。日平均的地表溫度可以被metgrid所使用,方法是在“metgrid”記錄部分中設定 constants_name=“TAVGSFC”。

B.        mod_levs.exe氣象

mod_levs.exe程式被用來移除過渡格式中資料的層次。這個層次将會儲存在新的namelist.wps中的相關部分:

press_pa = 201300 , 200100 , 100000 ,

95000 , 90000 ,

85000 , 80000 ,

75000 , 70000 ," c! x- }$ T* e3 _

65000 , 60000 ,

45000 , 40000 ,

35000 , 30000 ,

25000 , 20000 ,! Z

15000 , 10000 ,:

5000 , 1000

氣象,

在&mod_levs記錄部分中的參數press_pa是用來儲存層次清單的,這些确定的層次要與過渡格式檔案中的xlvl(具體參考WPS intermediate format)的值相比對。mod_levs程式要附帶兩個指令行參數作為它的輸入。第一個參數是要處理的過渡檔案的名字,第二個是輸出檔案的名字。從氣 象資料集中移除不需要的層次是很有用的。例如,當一個資料集被用來作為模式的初始條件,另一個則作為邊界條件,可以通過在第一個時間周期中用 metgrid的插值來提供初始條件,而邊界條件的資料集則用于其它時次來實作。如果兩個資料集的垂直層次相同,則無需再做其它工作,但是當它們的層次數 不同,則必須以最小的層次為标準,在有m層資料的檔案中移除(m-n)個層次,這裡m>n,并且m和n是兩個資料集中各自的層次數。必須有相同層次 的要求來自于real.exe的限制,它要求必須垂直層次必須是常值以便從中進行插值。

的應用隻 是處理兩個或更多具有不同垂直層次的資料集的一個臨時解決方法。如果使用者選擇使用mod_levs,則需要注意的是,盡管資料集之間垂直層次的設定可能不 同,但是所有資料都要有個地表的層次,并且當運作real.exe和wrf.exe時,參數p_top(namelist.input)必須被設定成所有 資料集中最低層次以下的某一層。. o5 c4 |& q) G B) s2 ^

C.        calc_ecmwf_p.exe8 n M, c) v2 p/ Y, d& y' A, Y- Q

在垂直插值氣象要素場的過程中,real程式要求在每個相同的層次上和其它氣象要素一樣都有一個3-D的氣壓場。calc_ecmwf_p.exe應用程 序可以被用于利用ECMWF的sigma坐标資料集來生成這樣一個氣壓場。考慮了地表氣壓場(地面氣壓場的記錄)及一些列系數A和 B,calc_ecmwf_p.exe可以在ECMWF的sigma坐标中的k層的(i,j)點計算出氣壓,即Pijk = Ak Bk*Psfcij。這些系數可sigma高度-系數的對應表中找到(http://www.ecmwf.int/products/da ... l_levels/index.html)。這個檔案被寫在普通的txt檔案,ecmwf_coeffs中。例如,16個sigma層的emcwf_coeffs檔案會包含以下内容:

0 0.000000 0.000000000" k*

1 5000.000000 0.000000000M

2 9890.519531 0.001720764

3 14166.304688 0.013197623

4 17346.066406 0.042217135

5 19121.152344 0.093761623

! w

7 18164.472656 0.268015683

9 12488.050781 0.510830879

10 8881.824219 0.638268471

11 5437.539063 0.756384850

13 783.296631 0.928746223

14 0.000000 0.972985268

15 0.000000 0.992281914

16 0.000000 1.000000000

考 慮到ungrib生成的過渡格式檔案和ecmwf_coeffs檔案,calc_ecmwf_p會在namelist.wps定義的整個時間周期中不停循 環,且每個時次都會生成一個額外的過渡格式檔案PRES:YYYY-MM-DD_HH,檔案裡包含了完整的sigma層次和3-D的相對濕度場。這個過渡 檔案可以通過在參數fg_name中添加‘PRES’使之與ungrib生成的過渡檔案一起被metgrid處理。

D.        plotgrid.exe

是一個以NCAR Graphics為基礎的應用程式,它的作用是畫出namelist.wps中定義的模拟區域的位置。程式對namelist.wps進行操作,是以無需 運作WPS的三個主程式。成功完成後,plotgrid生成了一個NCAR-G的元檔案,gmeta,這個檔案可以被idt所檢視。粗糙區域(最外圍區) 占據整個畫面,一個地圖輪廓包圍了粗糙區域,并且如果有嵌套區域則會以矩形框的形式被标注在最外圍區裡(見下圖)。這個程式在最初設定模拟區域或每次調整 模拟區域位置時很有用。目前,這個程式還不能畫出ARW中用lat-lon投影方式(map_proj = 'lat-lon')設定的區域。

E.        g1print.exe

g1print.exe唯一的一個指令行參數是GRIB1的檔案名。程式會畫出檔案中要素場,層次和資料的日期。下面是一個fnl檔案的模闆:

Copen: File = fnl_080801_00_00

Fortran Unit = 0

www.mnmuc.org0 I7 t3 @1 r2 O  b. u. V( X" J

rec GRIB GRIB  Lvl  Lvl  Lvl         Time      Fcst氣

Num Code name  Code one  two                   hour

----------------------------------------------------

2   7 HGT    100  975    0  2008-08-01_00:00 00

3   7 HGT    100  950    0  2008-08-01_00:00 00

4   7 HGT    100  925    0  2008-08-01_00:00 00

% \4 h, ^

286 230 5WAVA  100  500    0  2008-08-01_00:00 00Met

***** End-Of-File on C unit   3

F.g2print.exe. s( ]: A$ Y/ O7 c0 E. v

與g1print.exe類似,隻是它針對的是GRIB2的資料檔案。

G.plotfmt.exe

plotfmt.exe 是一個NCAR-G的程式,它畫的是過渡格式檔案的内容。程式唯一的指令行參數是要畫的檔案名,并且生成NCAR-G的元檔案,這個檔案裡包含了輸入檔案 中各個要素場的等值線圖。graphics的源檔案,gmeta,可以用idt來檢視,并且用ctrans來轉換成其它格式。下面是一個模闆:

H.rd_intermediate.exe

rd_intermediate.exe可以把過渡格式檔案中各要素的資訊都列印出來。

================================================

UNITS = Pa DESCRIPTION = Sea-level Pressure

DATE = 2008-08-09_00:00:00 FCST = 0.0000005 ]9

SOURCE = NCEP GFS GDAS/FNL       GRID   3

LEVEL = 201300.000000) a" ^3 h' {3 h: J/ i

I,J DIMS = 360, 181

IPROJ = 0

REF_X, REF_Y = 1.000000, 1.000000

REF_LAT, REF_LON = 90.000008, 0.000000

DLAT, DLON = -1.000000, 1.000000氣

DATA(1,1)=101440.000000

! x& p9 ^- ?) |$ b" O! X

================================================* T; v0 x& i5 t

…………………………………

[2 N7 I' m" _: a/ \7 o' J

FIELD = GHT

DATE = 2008-08-09_00:00:00 FCST = 0.000000

SOURCE = NCEP GFS GDAS/FNL       GRID   38

LEVEL = 1000.000000

I,J DIMS = 360, 181

IPROJ = 0

REF_X, REF_Y = 1.000000, 1.000000

DLAT, DLON = -1.000000, 1.000000

DATA(1,1)=31929.201172

SUCCESSFUL COMPLETION OF PROGRAM RD_INTERMEDIATE

把氣象要素場寫成過渡格式

ungrib的作用是讀取GRIB資料集并寫成一個簡單的過渡格式,這個格式是可以被metgrid所識别的。如果某氣象要素并不存在于GRIB1/2格 式中,則使用者就有必要把這類資料寫入過渡格式檔案中。幸運的是,過渡格式是一種相對簡單的并且順序固定的,且是由Fortran寫成的無格式資料。需要注 意的是,這些無格式寫入是用得big-endian byte order(最高位位元組在最前頭的排列順序),這種寫入方式可以由編譯所識别。下面來描述一下WPS的過渡格式;對SI或MM5的過渡格式熟悉的使用者會非 常容易熟悉WPS格式,因為它是非常類似的,而且WPS格式可以檢查Fortran的子程式,這些子程式(分别為metgrid/src /read_met_module.F90和metgrid/src/write_met_module.F90)可以讀寫所有的三種的過渡格式。當在寫 成WPS過渡格式時,2-D的要素場作為一個實型矩形數組來寫的。3-D的數組則會以垂直維數為基礎分成多個2-D數組,然後被獨立寫入。需要注意的是, 全球資料集—要麼是高斯投影,要麼是等距圓柱投影,而局地資料集—要麼是麥卡托投影,要麼是蘭伯托投影,再就是極射投影或等圓柱體投影。寫的順序用于在 WPS過渡格式中寫一個單獨的2-D數組,正如下面所示(注意:并不是所有定義的變量都是用來做一個給定資料的投影):) ?# P. q

integer :: version ! Format version (must =5 for WPS format)Me

integer :: nx, ny ! x- and y-dimensions of 2-d array

integer :: iproj ! Code for projection of data in array:c g9 n! {3 e) ]" S/ K) }/ a

! 0 = cylindrical equidistant

! 1 = Mercator

! 3 = Lambert conformal conic;

! 4 = Gaussian (global only!)

! 5 = Polar stereographicx(

real :: nlats ! Number of latitudes north of equator

! (for Gaussian grids)

real :: xfcst ! Forecast hour of data

real :: xlvl ! Vertical level of data in 2-d array

real :: startlat, startlon ! Lat/lon of point in array indicated by

! startloc string

real :: dx, dy ! Grid spacing, km

real :: xlonc ! Standard longitude of projection6

real :: truelat1, truelat2 ! True latitudes of projection

real :: earth_radius ! Earth radius, km

real, dimension(nx,ny) :: slab ! The 2-d array holding the data

logical :: is_wind_grid_rel ! Flag indicating whether winds are

! relative to source grid (TRUE) or, U8 V$ o

! relative to earth (FALSE)

character (len=8) :: startloc ! Which point in array is given by# s: I, F/ ^/ p) n9 }

! startlat/startlon; set either& f0 P  F* J0 L

! to 'SWCORNER' or 'CENTER 'M

character (len=9) :: field ! Name of the field

character (len=24) :: hdate ! Valid date for data YYYY:MM file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image001.gifD_HH:00:00

character (len=25) :: units ! Units of data

character (len=32) :: map_source ! Source model / originating center

character (len=46) :: desc ! Short description of data

write(unit=ounit) version

! 2) WRITE METADATAK( ^* w( f. Y4 n4 x3 J

! Cylindrical equidistant

if (iproj == 0) then

units, desc, xlvl, nx, ny, iproj

write(unit=ounit) startloc, startlat, startlon, &

deltalat, deltalon, earth_radiusr0 l) u( Y' p9 ]7 B

! Mercator

else if (iproj == 1) then

units, desc, xlvl, nx, ny, iproj

write(unit=ounit) startloc, startlat, startlon, dx, dy, &

truelat1, earth_radius

else if (iproj == 3) then% o% n q$ L- E0 ]: U& E9 ]" v6 C# x( L% B

write(unit=ounit) hdate, xfcst, map_source, field, &

write(unit=ounit) startloc, startlat, startlon, dx, dy, &

0 c; q. o7 o; l( c

! Gaussian

write(unit=ounit) hdate, xfcst, map_source, field, &

units, desc, xlvl, nx, ny, iproj

write(unit=ounit) startloc, startlat, startlon, &

! Polar stereographic

else if (iproj == 5) then

! q  {7 b, K/ I9 I

units, desc, xlvl, nx, ny, iproj

xlonc, truelat1, earth_radius

! 3) WRITE WIND ROTATION FLAG

write(unit=ounit) is_wind_grid_rel

! 4) WRITE 2-D ARRAY OF DATA

write(unit=ounit) slab

生成并編輯Vtables

盡管已經提供了很多Vtables,它們也對應了很多普遍使用的資料集,但是仍然不可能把所有與ungrib可使用的GRIB格式的資料集的相應 Vtables全部列舉。當一個新的源資料需要被ungrib.exe處理時,使用者可能需要自己生成一個新的Vtable,或者以某個已經有的 Vtable為模闆來修改。無論怎樣,對Vtable中各個要素場的意義和用法的基本了解都是有幫助的。每個Vtable可能會包含7個或11個要素場, 這取決于所使用的源資料是GRIB1格式還是GRIB2格式。每個Vtable中的要素場無非是以下三種中的一種:一,描述在GRIB檔案中資料如何被确 認的要素場;二,描述資料如何被ungrib.exe和metgrid.exe确認的要素場;三,确定GRIB2格式的要素場。每個被 ungrib.exe提取出的變量在Vtable中都會對應一或更多行,同時多行資料又會根據層次的不同分割—如地面高度和高空層。要素場在Vtable 檔案中是對應一行或全部行,取決于場和層次的具體情況。

第一個要素組—描述在GRIB檔案中資料如何被定義的量—的模闆如下:

Param| Type |Level1|Level2|

----- ------ ------ ------

GRIB1 參數規定了氣象要素場的GRIB編碼,是在資料集中一系列獨一無二的數字。盡管如此,不同的資料集可能會用不同的GRIB編碼标示相同的要素場—例 如,GFS資料集中的高層氣溫的GRIB碼是11,但是在ECMWF資料中則是130。為了找到某個要素場的GRIB碼,可以使用g1print.exe 和g2print.exe應用程式。在GRIB碼中,"Level Type", "From Level1",和"From Level2"是用來确定一個要素場可以在那些層次上找到。與"GRIB1 Param"一樣,g1print.exe和g2print.exe可以用來找出多層次要素場的值。多層要素場的意義取決于"Level Type",總結如下:

當分層的要素場(Level Type 112)被确定後,層次的起止點是有機關的,這個機關是決定于要素場本身;可以用g1print.exe和g2print.exe應用程式來看這些值。氣象,數值,模式,氣象數值模式,數值模式,氣象模式,海洋模式,氣候模式,WRF,MM5,Grapes,HYCOM,LICOM,同化,集合預報,模式聯盟,模式論壇0 R/ ]4 ~4 M6 t( E% y

Vtable的第二個要素場組是來描述在metgrid和real程式中資料如何被确認的,下面是個模闆:3 ?( Q& f. x0 K, M( E) [" T) b

| 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檔案中有GRIB2要素場并不能妨礙這個Vtable被GRIB1資料使用,而且GRIB2要素場僅僅在需要使用GRIB2資料集 時才會被用到。例如,Vtable.GFS檔案包含了GRIB2的要素場,但是卻可以被1°(GRIB1)的和0.5°(GRIB2)的GFS資料集使 用。由于WPS提供了很多與GRIB2格式相對于的Vtables,是以在此就不一一列舉了。

用Geogrid二進制格式寫靜态資料

geogrid.exe 用來插值的地形靜态資料以标準的2-D和3-D數值形式寫成一個簡單的二進制格式。當使用者有了新的靜态資料資源可以通過把資料寫成二進制形式讓WPS來使 用。geogrid格式支援單層或多層連續的場,場的分類(作為區域的分類)及為每種分類給出的一小部分的場。根據二進制格式的含義,下面給出了一個 30-second的USGS土地利用資料集及的模闆:

對 于一個主導分類的分類要素場,資料首先要存儲在一個規則的2-D整型數組中,每個整數都給出了與格點相對應的主導分類的說明。考慮到這個數組的作用,資料 是由低(空)到高(空)或由南向北一行行的寫入檔案中。例如,在上邊的圖中,n×m的數組的各個元素是按照x11, x12, ..., x1m, x21, ... , x2m, ... , xn1, ... , xnm的順序寫入的。盡管可以通過調整“index”檔案中的參數endian=little來設定資料集中排列順序為little-endian,在寫 入檔案時,每個元素是按big-endian的順序排列的(例如,對于4-位元組整數ABCD,位元組A被存儲在最低的位址中,而位元組D被存儲在最高的位元組 中)。而且雖然在一個數組中用所需的最小數字來代表一個完整的數值範圍是最好的,但在這裡一個檔案中必須用相同的為位數來存儲各個元素。當寫入二進制資料 時,不用頭檔案,記錄标志,或者多餘的位數。例如,一個兩位的1000×1000數組檔案的大小是2,000,000。因為Fortran無格式的寫記錄 标志,是以它是不可能直接寫出一個geogrid的二進制檔案的,但是可以通過用C或Fortran在寫或讀時調用read_geogrid.c和 write_geogrid.c(在geogrid/src目錄下)來實作。與主導分類類似的是連續或真實的要素場。像主導分類一樣,單層連續場作為2- D數組首先被組織,然後一行行寫入二進制檔案。盡管如此,因為一個連續長可以包含非整型或負值,是以每個檔案中的存儲表示有點複雜。數組中所有的元素都要 先被轉成整型。首先通過掃描所有的元素,找出有需要的精度的,然後把剩下的部分通過四舍五入來移除。例如,要求精度達到小數點後三位,則-2.71828 需要被舍入成-2.718。然後所有的的數組元素都被轉化成整數,如果有負數,則會有第二次轉化:如果用一個位元組儲存一個元素,則每個負數都會添加28; 如果是兩個位元組則是216;三個位元組是224;四個位元組是232。這對無需轉化成正數的過程很重要。最後的正的整數數組按照主導分類的格式被寫入檔案。多 層的聯系場類似單層的。對于一個n × m × r數組,先按照上邊的方法轉化成正的整數場,然後從低到高開始寫每個層次。分類場可以被看成是一個多層連續場的一部分,它的層次是k(1 ≤ k ≤ r)。當把一個場按照geogrid二進制格式寫入一個檔案時,使用者應該遵守geogrid程式的命名規則,即希望資料檔案的名字格式是xstart- xend.ystart-yend,其中xstart, xend, ystart,和yend分别是5位正整數,數值的起止x指針、起止y指針都包含在檔案中;指針起始為1,而不是0。是以,一個800×1200的數組 (如800行,1200列)可以被命名為00001-01200.00001-00800。當一個資料被分成多個部分,每個部分都是一個規則的矩形數組, 每個數組都是一個單獨的檔案。在這種情況下,數組相對的位置是由每個數組的檔案名中的x和y指針決定的。盡管如此,值得注意的是,資料集中的每個部分都要 有相同的x-和y-維數,并且每一塊資料不能互相重疊;并且每塊的起止都要在索引的範圍内。例如,全球的30-second的USGS地形資料集被分成多 個1200×1200的數組,每個數組都代表了一個10°×10°的區域;這個檔案的最西南角的位置是(90S, 180W),命名為00001-01200.00001-01200,而最東北角的位置是(90N, 180E),命名為42001-43200.20401-21600。如果資料集被分成多個小的部分,而且格點的數字不能在x-方向上被平分,那最後剩下 的幾列資料就要用标志數(index file檔案中參數missing_value确定)來填補。例如,一個x-方向上有2456個格點的資料集,如果分成3個部分的話,在規定範圍内每塊應 該是1–820,821–1640,和1641–2460,而2457-2460之間就要用标志數(類似缺測值)來填充。

因為起 止索引必須是5位數字,是以一個場是不能在x-或y-方向上超過99999個資料格點的,如果超過了,使用者要把這個資料集分成多個geogrid能識别的 小的部分。例如,一個大的全球資料集可以把東半球和西半球分成多個小的部分。除了二進制資料檔案,geogrid要求每一個資料集都有一個額外的說明文 件,即“index”檔案,是以,兩個資料集是不能放在同一個目錄下的。其實,當要處理資料集時,index檔案是最先被geogrid檢索的,因為這個 檔案裡包含了所有可能與用到的資料相關的有用資訊,下面是一個index的模闆:

type = continuous

signed = yes

projection = regular_ll

dx = 0.00833333

known_x = 1.0

known_y = 1.0

known_lat = -89.99583

known_lon = -179.99583

Meteo

tile_x = 1200

tile_z = 1

tile_bdr=3

description="Topography height"

使用者可以通過參考index file options來了解所有可能出現在index檔案中的參數及相關的意義。

再次向澳洲的牛牛,laiwf ,SJ三位大俠緻敬!!!