Open MicroTed opened 4 years ago
@MicroTed You mentioned in your Forum posting that when you set up the experiment,dz > dx. I assume that you've also done experiment where your constant dz is less than dx. If you did, what happens there?
I don't recall off-hand. I'll need to rerun that. (The files are on a storage that is currently offline.)
On May 2, 2020, at 4:00 PM, weiwangncar notifications@github.com wrote:
@MicroTed You mentioned in your Forum posting that when you set up the experiment,dz > dx. I assume that you've also done experiment where your constant dz is less than dx. If you did, what happens there?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
@weiwangncar I've done a couple dx=1km tests, and the problem does not seem to appear with maximum dz=700m. The examples in the links used dx=500m.
For otherwise the same settings, a test with dx=700 makes the waves. Still there with dx=750m, but slightly slower growth and w_max at +/-18m/s. At dx=850, w_max is around 12 m/s (wavelength about 3dx). At dx = 950, w is down to 1 cm/s background noise and no obvious wave structure.
@MicroTed Thanks for the testing. This is very interesting to know. There may be an explanation for this. We will see what we can find out.
@MicroTed Do you have terrain in your set up?
No terrain. Just a flat domain using em_quarter_ss.
On May 3, 2020, at 11:01 PM, weiwangncar notifications@github.com wrote:
@MicroTed Do you have terrain in your set up?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
By the way, here is my custom ideal init:
https://www.nssl.noaa.gov/users/mansell/public_html/wrf/module_initialize_ideal.F
@MicroTed Do you use damp_opt = 2 in these runs?
Yes: damp_opt = 2,
But I think we tested changing that and it didn't matter. (Namelist.input files are also in the tgz files)
@MicroTed Ever tried damp_opt = 3?
@weiwangncar OK, I just tested that, and the behavior doesn't change. Maybe slows the initial growth a bit, but still reaches w up top 30 m/s.
Increasing dt from 1 to 3 eliminates the waves. Perhaps a time constant is involved?
@MicroTed When there is no large waves in W, where does the max vertical motion occur? And when there is large wave in W, where does max W occur?
@weiwangncar Without the spurious waves, there are mainly just vertical plane waves of tiny amplitude. If I compile with -fp-model precise and use doubly-periodic boundary conditions, there is no noise generated, and with no other perturbation then nothing happens. I think there has to be at least a little noise for the waves grow from.
@weiwangncar Also, the links above include netcdf wrfout files if you'd like to have a look.
@MicroTed I was asking the questions because it was noted that between the two setups, there are differences of model layer thickness near where the wave started. See the attached image which shows the layer thickness between the no-wave case (right) and wave case (left) . So let's assume one can keep the levels between level 45 to 53 the same as the no-wave case, and then makes levels above that as constant dz, would that make a difference?
@weiwangncar I recall making a few tests with different heights where constant dz started, but I think it didn't matter. A colleague went back and looked at some simulations that had just a couple layers where the dz values were very close, and there were hints there of similar waves. (I didn't look at them myself, however). I suppose I could try to reproduce that.
@MicroTed We would appreciate that if you could reproduce that. Thanks.
@weiwangncar OK, I'll work on that. In the meantime, I set up a grid with constant dz throughout the domain. The waves remain mostly in the top part of the domain, above the tropopause in the stable layer. There are some ripples below that, but low amplitude (1m/s or less). Netcdf output file here:
https://www.nssl.noaa.gov/users/mansell/public_html/wrf/wrfout_waves_dzconst
@MicroTed Wonder if you can zip the file. What is the dz value?
@weiwangncar dz=700 and it is netcdf4, so it is already mostly compressed, but I can make a tgz
@MicroTed What about setting dz = 500 m or less?
@weiwangncar This archive for dz=700 (constant) includes the input sounding (from which the z-levels are taken), namelist.input, wrfinput, and wrfout:
https://www.nssl.noaa.gov/users/mansell/public_html/wrf/wrfout_waves_dzconst.tgz
@MicroTed Thanks.
@weiwangncar Here is the test you asked for earlier, where there is a layer of constant dz and then a second stretch above. The constant layer has dz=850, and the waves are loosely confined to this layer (which is also in the isothermal layer in the upper domain). The levels and dz values are given below (they will differ very slightly in wrf z_base)
https://www.nssl.noaa.gov/users/mansell/public_html/wrf/wrfout_2ndstretch.tgz
z1d: level, z-scalar, dz 1 5.00000E+01 1.00000E+02 2 1.50000E+02 1.00000E+02 3 2.50000E+02 1.00000E+02 4 3.50000E+02 1.00000E+02 5 4.50000E+02 1.00000E+02 6 5.50000E+02 1.00000E+02 7 6.50000E+02 1.00000E+02 8 7.50000E+02 1.00000E+02 9 8.50000E+02 1.00000E+02 10 9.50000E+02 1.00000E+02 11 1.05000E+03 1.00000E+02 12 1.15345E+03 1.06891E+02 13 1.26402E+03 1.14256E+02 14 1.38221E+03 1.22129E+02 15 1.50855E+03 1.30545E+02 16 1.64359E+03 1.39541E+02 17 1.78794E+03 1.49156E+02 18 1.94223E+03 1.59434E+02 19 2.10716E+03 1.70420E+02 20 2.28345E+03 1.82163E+02 21 2.47189E+03 1.94716E+02 22 2.67332E+03 2.08133E+02 23 2.88862E+03 2.22475E+02 24 3.11876E+03 2.37805E+02 25 3.36476E+03 2.54191E+02 26 3.62771E+03 2.71707E+02 27 3.90878E+03 2.90430E+02 28 4.20921E+03 3.10443E+02 29 4.53035E+03 3.31834E+02 30 4.87362E+03 3.54700E+02 31 5.24054E+03 3.79142E+02 32 5.63274E+03 4.05267E+02 33 6.05197E+03 4.33193E+02 34 6.50009E+03 4.63043E+02 35 6.97909E+03 4.94950E+02 36 7.49109E+03 5.29056E+02 37 8.03837E+03 5.65511E+02 38 8.62337E+03 6.04480E+02 39 9.24868E+03 6.46133E+02 40 9.91707E+03 6.90655E+02 41 1.06315E+04 7.38248E+02 42 1.13952E+04 7.89118E+02 43 1.22115E+04 8.43494E+02 44 1.30583E+04 8.50000E+02 45 1.39083E+04 8.50000E+02 46 1.47583E+04 8.50000E+02 47 1.56083E+04 8.50000E+02 48 1.64583E+04 8.49999E+02 49 1.73083E+04 8.50000E+02 50 1.81795E+04 8.92500E+02 51 1.90943E+04 9.37125E+02 52 2.00549E+04 9.83982E+02 53 2.10635E+04 1.03318E+03 54 2.21225E+04 1.08484E+03 55 2.32344E+04 1.13908E+03 56 2.44020E+04 1.19604E+03 57 2.55695E+04 1.19604E+03
@weiwangncar To answer the question about dz=500 (with dx=dy=500): With otherwise identical settings (time step, etc.), I do not get the waves with constant dz=500. I also tried dz=500 with dx=400, and that seemed to be OK, too, but I have not tried a smaller dt yet.
@MicroTed Another suggestion is to see if increasing values either epssm or emdiv helps.
@weiwangncar Those parameters seem to have no effect for the following tests: epssm = 0.2 / emdiv=0.01 : no difference epssm = 0.3 / emdiv=0.01 : no difference epssm = 0.1 / emdiv = 0.1 : no difference
A pseudo-2D test with clean WK sounding also sets off the waves. Here's the netcdf output:
https://www.nssl.noaa.gov/users/mansell/public_html/wrf/wrfout_d01_2018-05-01_20
I just set V = 0 and N-S periodic, with 11 points N-S, 101 E-W.
No problem with Ri numbers: smallest value is 2.7.
I posted in the forum back in February, so I'll try bumping it here:
https://forum.mmm.ucar.edu/phpBB3/viewtopic.php?f=58&t=8894
Basically, when I set up a vertical grid where dz becomes constant, waves with about 2km wavelength appear above about 10km. They show up best when the number of small steps is larger than needed for stability. (Equivalently, a smaller dt than needed also does the trick.) The waves (w) can grow large enough to cause model instability. Changing dz to a continuous stretch makes the waves disappear. Curious.
I generated the initial condition by having ideal.exe read in a sounding with set levels and use those exact levels (well, pretty close).
I have a couple ideal wrf inputs here:
https://www.nssl.noaa.gov/users/mansell/public_html/wrf/n67waves.tgz
https://www.nssl.noaa.gov/users/mansell/public_html/wrf/n67nowaves.tgz
(Our ftp site is not responding at the moment.) The same phenomenon shows up in both 3.9.1.1 and 4.1.3 (the two that we've tested).
Any ideas? I'm guessing few people have set up WRF this way.