-
Notifications
You must be signed in to change notification settings - Fork 1
/
hrrr.html
224 lines (194 loc) · 14.5 KB
/
hrrr.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
<!DOCTYPE html>
<html>
<head>
<title>WRF with HRRR</title>
<link rel="stylesheet" href="./css/brian_style.css" />
<script src="./js/site/siteopen.js"></script>
</head>
<body>
<a name="TOP"></a>
<script src="./js/site/sitemenu.js"></script>
<div id="content">
<h1 align="center">
How to Initialize WRF with HRRR Boundary Conditions</h1>
<!-- Tabs -->
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#tab1">About</a></li>
<li><a data-toggle="tab" href="#tab2">Download HRRR</a></li>
<li><a data-toggle="tab" href="#tab3">Vtable</a></li>
<li><a data-toggle="tab" href="#tab4">UNGRIB</a></li>
<li><a data-toggle="tab" href="#tab5">METGRID</a></li>
<li><a data-toggle="tab" href="#tab6">namelist.wps</a></li>
<li><a data-toggle="tab" href="#tab7">namelist.input</a></li>
<li><a data-toggle="tab" href="#tab8">Preliminary Results</a></li>
</ul>
<div class="tab-content">
<div id="tab1" class="tab-pane fade in active">
<h3>About the HRRR</h3>
<center><img width="350px" style="padding:5px 15px 5px 5px" src="https://rapidrefresh.noaa.gov/hrrr/hrrrcrefimage"></center>
<p>The High Resolution Rapid Refresh model, or HRRR, is a WRF based forecast modeling system nested in the Rapid Refresh model
with a resolution of 3 km and output every hour. More info and current forecasts can
be found on the <a href="https://rapidrefresh.noaa.gov/hrrr/"> HRRR homepage </a>
and <a href="http://nomads.ncep.noaa.gov/txt_descriptions/HRRR_doc.shtml">NWS documentation</a>.
The MesoWest group at the University of Utah archives raw
HRRR model output beginning with July 2016 for various research purposes.
To learn more about the HRRR archive and access past HRRR data, push the red button:
<br>
<center><a href='https://home.chpc.utah.edu/~u0553130/Brian_Blaylock/hrrr_FAQ.html' class='btn btn-lg btn-danger'>
HRRR Archive at the University of Utah</a></center>
<br>
<img align='right' style="padding-left:15px;" src="./images/HRRR_ad.png" width="350px">
<p>If you are trying to initialize your WRF simulation with HRRR model output, keep reading.
As far as we know, <a href="http://journals.ametsoc.org/doi/abs/10.1175/JAMC-D-16-0216.1">this work</a> was the first time HRRR analyses were used to initalize WRF boundary conditions.
The sequence of tabs above describes how
<i>"even you can initialize WRF simulations with HRRR boundary conditions"</i>
(said in your favorite infomercial voice).
<p>Advantages of using HRRR include its hourly 3 km resolution state of the
atmosphere (as opposed to using NAM's 6-hourly, 12 km resolution) and its advanced
data assimilation. We expect better initialization of WRF using the HRRR will improve simulations of thermally driven flows,
including slope flows and lake breezes, in the Salt Lake Valley.
<hr>
<p>It would be to your benefit to review ESRL's static fields
(namelists, Vtable, METGRID.TBL, geo_em.do1.nc, etc.)
for the different versions of the HRRR and RAP models below.
<p style="text-align:center">
<a class="btn btn-primary" href="https://rapidrefresh.noaa.gov/hrrr/HRRR/static/">HRRR Static</a>
<a class="btn btn-primary" href="https://rapidrefresh.noaa.gov/RAP/static/">RAP Static</a>
<hr>
<p>External Links:
<ul style="padding: 10px; margin-left:30px;">
<li><a href="https://rapidrefresh.noaa.gov/hrrr/">HRRR Homepage (ESRL)</a>
<li><a href="https://rapidrefresh.noaa.gov/hrrr/HRRR/static/"> HRRR Static Fields (i.e. Vtable, namelist.wps, METGRID.TBL, etc.)</a>
<li><a href="https://rapidrefresh.noaa.gov/internal/pdfs/HRRRv2-RAPv3-2015.png">HRRR v2 Description PDF</a>
</ul>
</div>
<div id="tab2" class="tab-pane fade">
<h3>Download HRRR data for WRF Boundary Conditions</h3>
<p>Step 1: Get HRRR analyses.
<p>You must get the full pressure field (prs) file.
You can get the current HRRR data from <a href="http://nomads.ncep.noaa.gov/">
NOMADS</a>.
<div class="alert alert-info">
<b>Note:</b> The <code>sfc</code> files are a subset of the <code>prs</code> files, so you only
need to retrieve the <code>prs</code> files.
</div>
<p>Unfortunately, historical HRRR data isn't archived by NCEP.
At the University of Utah we have an archive beginning July 15, 2016.
<p>Please refer to the FAQ page for
more information and for a link to download from the HRRR archive.
<p style="text-align:center">
<a class="btn btn-primary btn-lg" href="./hrrr_FAQ.html"><i class="fas fa-info-circle"></i> HRRR Archive FAQ</a>
<hr>
<p>Raw HRRR data is in GRIB2 format. You will use WRF's WPS
to prepare the HRRR analyses for WRF with the ungrib function.
<p>There are several ways you can read and view GRIB2 files.
You can print out the variable contents of the grib2 file by typing:
<div class="well well-sm">wgrib2 -v <i>filename.grib2</i></div>
<p>You can plot the grib2 data in Python using the pygrib module or
<a href="http://xarray.pydata.org/en/stable/examples/ERA5-GRIB-example.html">
xarray with cfgrib.
</a>
<a href="https://github.com/blaylockbk/pyBKB_v2/blob/master/demos/demo_pygrib_HRRR.ipynb">
<i class="fab fa-github"></i> Demo PyGrib on GitHub</a>.
<p>You can also view the data with ncview if you convert the GRIB2 to NetCDF
using <a href="http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/">wgrib2</a>.
<div class="well well-sm">wgrib2 filename.grib2 -netcdf filename.nc<br>ncview filename.nc</div>
</div>
<div id="tab3" class="tab-pane fade">
<h3>Vtable.hrrr</h3>
<p>The Vtable in WPS tells ungrib how to index and extract
data from the grib2 file. I created a Vtable for the HRRR <code>prs</code> data
you can copy and link in WPS. (Note, I made a minor edit based on some user feedback without testing it myself. If you have trouble, try using a previous commit by clicking the "History" button on GitHub).
<p style="text-align:center"><a class="btn btn-default btn-lg" href="https://github.com/blaylockbk/Ute-WRF-User-Group/blob/master/Blaylock/WPS_for_HRRR/Vtable.HRRR.bkb"><i class="fab fa-github"></i> Vtable.hrrr.bkb</a>
<p>I created this custom Vtable following the instructions in the <a href="http://www2.mmm.ucar.edu/wrf/users/docs/user_guide_V3/users_guide_chap3.htm#_Creating_and_Editing">
WRF User Guide</a>. I used the WPS utility <i>util/g2print.exe [name-of-grib2-file] > out.txt</i> to print out the contents and
create the custom Vtable based on the output. This version is different than
<a href="https://rapidrefresh.noaa.gov/hrrr/HRRR/static/">ESRL's' version</a> because the <code>prs</code> files in the HRRR archive are on pressure levels (GRIB2 level 100) and not hybrid levels (GRIB2 level 105). Also, some variables like <code>Ice Number Concentration</code> are not available in the HRRR <code>prs</code> file. On that note, if you are using the <code>nat</code> files from NOMADS, then you would need to modify this VTable accordingly with the correct GRIB2 Level code (i.e., use 105 instead of 100). <i>That's probably as clear as mud.</i>
<p>At any rate, my Vtable worked, but if you find errors or additions
please forward those to me 😄.
<div class="alert alert-success">
For more info on GRIB2 categories and codes, refer to the following resources:
<ul>
<li><a href="https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-5.shtml">NCEP GRIB2 Code Table 4.5</a></li>
<li><a href="https://apps.ecmwf.int/codes/grib/param-db?filter=grib2">ECMWF GRIB2 Parameter Database</a></li>
</ul>
</div>
</div>
<div id="tab4" class="tab-pane fade">
<h3>UNGRIB Requires JASPER Library</h3>
<p>Raw HRRR files are in GRIB2 format. In order to ungrib these
files WPS requires the JASPER library. When you configure
WPS it should say
<span style="color:green">"Found Jasper environment variables
for GRIB2 support..."</span>. Then configure WPS with a
"grib2 friendly" option. In WRFv3.7 I use option
<span style="color:red">7. Linux x86_64, PGI compiler (dmpar)</style>
<p>If you are on the University of Utah's CHPC computers,
set these environments:
<div class="well well-sm">
setenv JASPERLIB /uufs/chpc.utah.edu/sys/installdir/jasper/1.900.1-atmos07102015/lib<br>
setenv JASPERINC /uufs/chpc.utah.edu/sys/installdir/jasper/1.900.1-atmos07102015/include
</div>
<p>If you don't have JASPER, see
<a href="http://www2.mmm.ucar.edu/wrf/users/docs/user_guide_V3/users_guide_chap3.htm">
Chapter 3 of the WRF User Guide</a> for instructions to install JASPER.
<hr>
<h3>Trying to UNGRIB with HRRR-Alaska?</h3>
<p>There is an update to the rd_grib2.F file (WPS/ungrib/src/rd_grib2.F) that will allow you to ungrib
the experimental Alaska HRRR data. You should be able to use the regular HRRR without this, but it
doesn't hurt to give it a try. The reason this is necessary for Alaska HRRR grib files is that
Alaska HRRR data is on a polar stereograph projection, and processing for that type of projection is included in the updated script.
<p><a href='https://home.chpc.utah.edu/~u0553130/HRRR_WRF/rd_grib2_for-ungribbing-HRRR-alaska.F.txt'>GET THIS FILE</a>
</div>
<div id="tab5" class="tab-pane fade">
<h3>METGRID.TBL</h3>
<p>The METGRID Table tells METGRID how to interpolate the
meteorological fields from the UNGRIBed files on the WRF friendly grid. You may or may not need to use this custom METGRIB table (some users have said they didn't need it, but I needed it years ago).
<p style="text-align:center"><a class="btn btn-default btn-lg" href="https://github.com/blaylockbk/Ute-WRF-User-Group/blob/master/Blaylock/WPS_for_HRRR/METGRID.TBL.HRRR.bkb"><i class="fab fa-github"></i> METGRID.TBL.hrrr.bkb</a>
<p>If you find errors or have any suggestions please share 😄
</div>
<div id="tab6" class="tab-pane fade">
<h3>namelist.wps</h3>
<p><img src = 'https://home.chpc.utah.edu/~u0553130/HRRR_WRF/model_domains.png' style="width:90%; max-width:500px" class='style1'>
<p>Above shows the HRRR terrain height with water area colored blue.
Domain 1 (d01) has a grid spacing of 3km, same as the HRRR.
Domain 2 (d02) has a grid spacing of 1km.
<p style="text-align:center"><a class="btn btn-default btn-lg" href="https://github.com/blaylockbk/Ute-WRF-User-Group/blob/master/Blaylock/WPS_for_HRRR/namelist.wps.bkb.txt"><i class="fab fa-github"></i> namelist.wps.bkb</a>
</div>
<div id="tab7" class="tab-pane fade">
<h3>namelist.input</h3>
<p>This is my namelist.input file used to run real.exe and wrf.exe
<p style="text-align:center"><a class="btn btn-default btn-lg" href="https://github.com/blaylockbk/Ute-WRF-User-Group/blob/master/Blaylock/WPS_for_HRRR/namelist.input.bkb.txt"><i class="fab fa-github"></i> namelist.input.bkb</a>
</div>
<div id="tab8" class="tab-pane fade">
<h3>Comparing HRRR 3km with WRF 1km</h3>
<p> My <a href="./MS.html">master's thesis</a> used the described method
to initialize WRF with the HRRR to study a lake breeze event.
While that project didn't explore the benefits of using HRRR
as boundary conditions instead of the NAM or GFS, here is one
example of differences between the HRRR and the 1 km WRF simulation.
<p>Below compares the winds for the Salt Lake Valley subset from
the HRRR analysis and the WRF model at 1 km initialized by the
HRRR analysis. Notice the difference in the outline of the Great Salt Lake (blue)
between HRRR and WRF. This was a custom modification described
in my thesis. The observations from the TDWR is also shown.
The lake breeze in the HRRR never progressed, probably due to
ineffective data assimilation. The WRF simulated lake breeze
was strong an early probably because of the lack of strong
southerly winds. This is described in my these. Good thing
my method didn't fix everything or we'd all be out of a job.
<center><img align=center width="85%" style="max-width:600px; padding:3px;" src="./images/Example_Model_Winds.png"></center>
</div>
</div>
<br>
<br>
<hr>
<div class="well">
<i class="fa fa-book fa-fw"></i>
This work was first used in
<a style="color:#990000;font-weight:700;" href='http://journals.ametsoc.org/doi/abs/10.1175/JAMC-D-16-0216.1' target="_blank">Blaylock et al. 2017</a>
</div>
</div>
<script src="./js/site/siteclose.js"></script>
</body>
</html>