Merge remote-tracking branch 'origin/release-v4.5'
[WRF.git] / doc / README.hybrid_vert_coord
blob84fa48b5ea6324fd0b0391fb7fd4fc821fd318b9
1 Hybrid Vertical Coordinate
2 --------------------------
4 v3.9
5 Starting with the WRF v3.9 release (Spring 2017), the option for a Hybrid 
6 Vertical Coordinate (HVC) has been added to the existing Terrain Following 
7 (TF) vertical coordinate in the WRF model. With v3.9, the HVC option 
8 requires that a user activate both a compile-time and a run-time flag. 
10 v4.0
11 With the release of WRF v4.0 (Summer 2018), the Hybrid Vertical Coordinate 
12 (HVC) and the original Terrain Following Coordinate (TFC) are both available 
13 via namelist settings. The code for both options is compiled into the model.
15 Users are STRONGLY cautioned about adding any code into the WRF model that
16 directly uses the column pressure (for example, mu, mub, etc). 
18 HVC: What is it, what's available
19 ---------------------------------
21 The HVC option is a "hybrid" vertical coordinate, in that the eta levels are 
22 terrain following near the surface, and then relax towards an isobaric surface
23 aloft.  The purpose of this coordinate option is to reduce the artificial 
24 influence of topography towards the top of the model.
26 The real program and the WRF model need to consistently use the same run-time 
27 setting for either TFC or HVC. The code will stop if the user mixes the vertical 
28 coordinate run-time settings between real and WRF (or between ideal and WRF). 
29 The v4.0 WRF code has been modified to use pre-v4.0 input and lateral boundary 
30 files, but only for the run-time choice of the TF (terrain following) 
31 coordinate option.
33 All of the ARW WRF atmosphere test cases are able to use the HVC option. The 
34 work to supply an initialization for all of the ideal cases has been completed 
35 since the first release of the HVC option. With v4.0, now all of the ideal and 
36 real cases are eligible to use hybrid_opt=2.
38 Choosing the TF vs the HVC Option
39 ---------------------------------
41 To turn on the HVC run-time option, a switch is set in the namelist.input file:
42 &dynamics
43  hybrid_opt = 2
46 This is a single entry value, which is set to "2" (activating the hybrid 
47 coordinate option) by default through the Registry. For completeness, to 
48 explicitly turn off the HVC option (turn on the TFC option) in the 
49 namelist.input file:
50 &dynamics
51  hybrid_opt = 0
54 A second run-time option is available for the HVC capability, which allows the 
55 user to select the eta level at which the WRF model surfaces become completely 
56 isobaric. Setting this value is not intuitive, and a reasonable value that 
57 should work globally has been set as the default. For sensitivity testing of 
58 the model results to the level at which the model eta coordinates become 
59 isobaric, the user may modify the critical eta level defined in the 
60 namelist.input file.
61 &dynamics
62  etac = 0.2
65 As the value of etac increases (from 0 towards 1), more eta levels are impacted 
66 as increasing numbers of levels (downward from the model top) are flattened 
67 out. On the one hand, that is a good thing, and this "flattening of the 
68 coordinate surfaces" is the entire purpose of the HVC option. However, over 
69 areas of high topography (not necessarily steep or complex), the vertical eta 
70 levels get too compressed when etac values get larger than about etac = 0.22. 
71 Over the Himalayan Plateau with a 10 hPa model lid, a value of etac = 0.25 
72 causes model failures. Globally then, a value of 0.2 is considered "safe".
73 The east-coast of the US would be able to use etac = 0.30, and pure oceanic
74 domains could probably use etac = 0.40.
76 How the code has been modified
77 ------------------------------
79 For the v3.9 release, the largest block of modifications required to the source 
80 code for the HVC capability is with the variable defined as the column pressure 
81 in the TF coordinate (referred to generally as "mu").  This is one of the 
82 variables that has both a perturbation and a base-state value, also staggerings 
83 for different variables, and even different time levels. All together, nearly 
84 thirty "mu" variables needed to be processed. For the HVC modification, the 2d 
85 "mu" fields still retain the meaning of column pressure, but the definition of 
86 d(p_dry))/d(eta) has been generalized, and is now 3d.
88 Almost all instances of a 2d "mu" field have been transformed into a 3d field 
89 with the application of two 1d arrays (a multiplication and an addition).  For 
90 the base-state "mu" and total "mu" fields, functionally this new field is 
91 defined as:
92 mu_new_3d(i,k,j) = c1(k) * mu(i,j) + c2(k)
94 For perturbation "mu" fields, only the multiplicative scaling is applied:
95 mu_new_3d(i,k,j) = c1(k) * mu(i,j)
97 Even with each instance of "mu" being scaled and most instances of "mu" getting 
98 an offset applied, the elapsed time to run the v3.9 TFC vs the v3.9 HVC was
99 quite small. With better simulation fidelity and no timing penalty, the decision
100 was made to incorporate the HVC code entirely into v4.0, and to have the default
101 behavior be HVC. Note that with v4.0, the code still reflects the explicit
102 multiplication and addition by the respective 1d arrays to reduce the need to 
103 have so many new 3d "mu" arrays.
105 Cautionary note
106 ---------------
108 Users are also warned that the original definitions of base-state and 
109 dry pressure are no longer generally valid. Most users will find either p'+pb 
110 or p_hyd as satisfactory pressure substitutes.
112 What to Notice on Output
113 ------------------------
115 There are a couple of ways to determine if the model output (and as stated 
116 previously, mandatorially the model IC and BC files also) was run with the 
117 HVC option.
119 Visually, with a simple netcdf viewer (such as ncview), look at the horizontal 
120 levels of the field "PB" in an area of topography. For a few consecutive levels 
121 downward from the model lid, each value on a specific level should be 
122 nearly identical (i.e. nearly isobaric). For the TF option, the signature of 
123 the topography is evident even at the penultimate level.
125 The netcdf files also have metadata included to indicate if the hybrid 
126 vertical coordinate option was used.
128 For code that used the TFC run-time option:
129 >ncdump -h wrfinput_d01 | grep HYBRID
130                 :HYBRID_OPT = 0 ;
132 For code that used the HVC run-time option:
133 >ncdump -h wrfinput_d01 | grep HYBRID
134                 :HYBRID_OPT = 2 ;
136 What WRF capabilities are OK with HVC
137 -------------------------------------
139 Tests have been conducted with a number of the WRF system's other signature 
140 features: FDDA, adaptive time stepping, DFI, global domains, nesting, moving nests, 
141 and ndown. All physical parameterization schemes fully support the HVC option.  
143 The WRF developers have worked in conjunction with the developers of the other 
144 major WRF system components. Both WRF DA 3dVAR and WRF Chem fully function with the 
145 hybrid coordinate. With the introduction of the HVC option, the standard WRF 
146 post-processing tools are also fully supported: NCL, UPP, and RIP.
148 What WRF capabilities are NOT supported with HVC
149 ------------------------------------------------
151 The one capability that is not functioning with the HVC option is vertical 
152 refinement. 
154 Registry information
155 --------------------
157 The Registry file that contains all of the information for the hybrid 
158 coordinate is Registry/registry.hybrid. In the comments at the top of this file 
159 is a brief description of the component pieces that constitute new 3d "mu": 
160 d(p_dry)/d(eta).