4/3-km Simulations of WRF version 3.1 and 3.1.1

The Problem

This image at right image shows the fine-scale striations in low-level cloud water that are particularly unrealistic over the open ocean. Here is a loop showing how that low-level cloud field develops in time, and here is another showing how the 1-hour precipitation evolves.

Here is what the 1-km visible satellite imagery shows for this period, and here is a high resolution MODIS image and a lower resolution MODIS image. Here is the Quillayute sounding for 0Z on the 8th.

Case Studies

Datenamelist.wps, namelist.input,
wrfinput*, wrfbdy*
Other input data:
Vtables, GRIB files, etc.
sample 1.33-km outputs
00Z Dec 21, 2008InputsRaw Inputs
12Z Nov 7, 2009InputsRaw InputsOutputs from fullynested v3.3 run
00Z Apr 16, 2011InputsRaw Inputs

Working on Solutions

To help fix this, several approaches have been tried:
1) turning off the cumulus scheme for this domain
2) turning on 6th-order diffusion in various amounts.
3) Trying a different NCEP model for initialization.

Solution


4) Moving the western boundary farther away from the parent boundary and increasing the over-water trajectory for the inner domains (cases 34. weisdom and 35. wei2dom) seem to be the solution. Here is a loop of the various domains. This loop of OLR and this zoomed in loop over a common area illustrate how these changes in domain configuration allow the clouds over water to break into much more realistic structures. Thanks to Wei Wang from NCAR's MMM division for coming up with this.


The loops in this table illustrate the attempts and how they impact the simulations.
InitializationDomainProductHourCases (control click to select multiple)
Case Name(s)
namelist.input file
namelist.input diff from std
Description Low cloud loops 1-hour precip loops Offshore vertical cross-section loops
Comparing All Hours to std run Comparing just hour 9 to std Comparing All Hours to std run Comparing just hour 9 to std Comparing All Hours to std run Comparing just hour 9 to std
All CasesEvery Case qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
1. UW WRF-GFS
std
namelist.input
current standard run, with Kain-Frisch
Domain Plot
qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
2. wrfv31lsmrrtmqnudge2
stdnocuqn2
namelist.input
diff from std
no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
3. wrfv31lsmrrtmqn2diff6
namelist.input
diff from std
no KF, 6th order diffusion, factor = 0.12 (default) qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
4. wrfv31lsmrrtmqn2diff6f36
namelist.input
diff from std
no KF, 6th order diffusion, factor = 0.36 qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
5. wrfv31lsmrrtmqn2diff6f50
namelist.input
diff from std
no KF, 6th order diffusion, factor = 0.50 qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
6. wrfv31myjrrtm
namelist.input
diff from std
MYJ PBL, no KF, no 6th order diffusion qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
7. wrfv31qnserrtmqnudge2
namelist.input
diff from std
QNSE PBL, no KF, no 6th order diffusion qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
8. wrfv311acm2rrtmqnudge2
namelist.input
diff from std
ACM2/Pleim PBL, Pleim LSM, no KF, no 6th order diffusion, 3.1.1 code qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
9. wrfv31mynnqn2
namelist.input
diff from std
MYNN PBL, no KF, no 6th order diffusion qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
10. wrfv31nofdda
namelist.input
diff from std
YSU PBL, no FDDA, no KF, no 6th order diffusion qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
11. fullynested
namelist.input
diff from std
fully nested std run, all domains run together with feedback turned on, YSU PBL, no KF, no 6th order diffusion qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
12. wrfv31damp1
namelist.input
diff from std
upper-level diffusive damping (damp_opt = 1, dampcoef=0.01), no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
13. wrfv31damp2
namelist.input
diff from std
upper-level diffusive damping (damp_opt = 1, dampcoef=0.1), no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
14. wrfv311stdadv
namelist.input
diff from std
v3.1.1, no positive-definite moisture advection, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
15. wrfv311monotonic
namelist.input
diff from std
v3.1.1, monotonic moisture advection, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
16. wrfv311stauffer
namelist.input
diff from std
v3.1.1, doubled vertical mixing coefficients K, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
17. wrfv311stauffer2
namelist.input
diff from std
v3.1.1, halved vertical mixing coefficients K, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
18. wrfv311stauffer3
namelist.input
diff from std
v3.1.1, 1/4 vertical mixing coefficients K, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
19. wrfv311stauffer4
namelist.input
diff from std
v3.1.1, 1/8 vertical mixing coefficients K, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
20. wrfv311stauffer5
namelist.input
diff from std
v3.1.1, 1-1.5-2 times vertical mixing coefficients Km and Kt, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
21. wrfv311diffopt0
namelist.input
diff from std
v3.1.1, no turbulence or explicit numerical filters diff_opt=0, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
22. wrfv311hadv3
namelist.input
diff from std
v3.1.1, horizontal momentum and scalar advection at 3rd instead of 5th order, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
23. wrfv311rk2
namelist.input
diff from std
v3.1.1, Runge-Kutta 2nd instead of 3rd order, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
24. wrfv311closer
namelist.input
diff from std
v3.1.1, western boundary closer to coast, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
25. wrfv311gwd
namelist.input
diff from std
v3.1.1, Gravity Wave Drag turned on for all domains, no KF, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
26. wrfv311dtreduced
namelist.input
diff from std
v3.1.1, Reduced time-step for 4/3-km grid (4 instead of 8 seconds), no cumulus param, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
27. wrfv311ustar2
namelist.input
diff from std
v3.1.1, Increased ustar (friction velocity) by factor of 2, no cumulus param, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
28. wrfv311myjmod
namelist.input
diff from std
v3.1.1, MYJ with PSU modification, no cumulus param, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
29. wrfv311ustar3
namelist.input
diff from std
v3.1.1, Increased ustar (friction velocity) by factor of 2 only over land, no cumulus param, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
30. wrfv311ustar4
namelist.input
diff from std
v3.1.1, Increased ustar (friction velocity) by factor of 1.5 only over land, no cumulus param, no 6th order diffusion, new Q nudging qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
32. fullynested.v33
namelist.input
diff from std
fully nested std run using version 3.3, all domains run together with feedback turned on, YSU PBL, KF, no 6th order diffusion qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
33. fullynested.v33nokf
namelist.input
diff from std
fully nested std run using version 3.3, all domains run together with feedback turned on, YSU PBL, no KF, no 6th order diffusion qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
34. weisdom
namelist.input
diff from std
Domain Plot
fully nested std run using version 3.1.1, bigger 12- and 4-km domains, smaller 4/3-km run together with feedback turned on, YSU PBL, no KF, no 6th order diffusion
qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
35. wei2dom
namelist.input
diff from std
Domain Plot
fully nested std run using version 3.1.1, bigger domains run together with feedback turned on, YSU PBL, no KF, no 6th order diffusion
qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop
36. wei3dom
namelist.input
diff from std
Domain Plot
fully nested std run using version 3.1.1, bigger 12 and 4-km run together with feedback turned on, YSU PBL, no KF, no 6th order diffusion
qclst loop qclst loop pcp1 loop pcp1 loop cx_ns loop cx_ns loop

Description of WRF namelist options.
qclst std loop