Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

em_hill2d_x - WRFs pressure perturbation not equal to expected analytical solution

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


New member
em_hill2d_x - WRF pressure perturbation far off of analytical solution

Hi all! I'm currently having two main problems when running idealized simulations with em_hill2d_x. I'll split them up in two threads. Here's the one concerining the pressure perturbations.

Essentially for ideal situations the perturbation to the pressure field caused by the topography can be calculated from analytical equations. See, for instance, equation A9 in Barstad and Gronas (2006,

I've run a WRF simulation with em_hill2d_x with a sounding derived from:
U = 20 m/s (constant with height)
N = 0.01 s**-1 (constant with height)
Θ = 270 K (at the surface)
P = 1013.25 hPa (at the surface)

RH=100% or RH=0% - wet or dry, both have the same issue.

Topography: Witch of Agnesi ridge
1000 m height, 20000 m half width at half maximum
Ridge is located at the center of the domain.

namelist is attached, here's the domain definition
 time_step                           = 20,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 1,
 s_we                                = 1,
 e_we                                = 402,
 s_sn                                = 1,
 e_sn                                = 3,
 s_vert                              = 1,
 e_vert                              = 125,
 dx                                  = 2000,
 dy                                  = 2000,
 ztop                                = 25000.,

 mp_physics                          = 0,
 ra_lw_physics                       = 0,
 ra_sw_physics                       = 0,
 radt                                = 0,
 sf_sfclay_physics                   = 0,
 sf_surface_physics                  = 0,
 bl_pbl_physics                      = 0,
 bldt                                = 0,
 cu_physics                          = 0,
 cudt                                = 0,
 num_soil_layers                     = 5,

 rk_ord                              = 3,
 diff_opt                            = 2,
 km_opt                              = 1,
 damp_opt                            = 3,
 zdamp                               = 20000.,
 dampcoef                            = .1,
 khdif                               = 00,
 kvdif                               = 0,
 smdiv                               = 0.1,
 emdiv                               = 0.01,
 epssm                               = 0.1,
 time_step_sound                     = 6,
 h_mom_adv_order                     = 5,
 v_mom_adv_order                     = 3,
 h_sca_adv_order                     = 5,
 v_sca_adv_order                     = 3,
 non_hydrostatic                     = .true.,

WRF version / commit used:
commit d154456d9ca813b487872b7d685f6cc1da455e82
Merge: dd5c4c3 93e197c
Author: Ming Chen <>
Date:   Mon Jun 3 17:18:32 2019 -0600

    Finalize WRFV4.1.1 by merging bug fixes from release-v4.1.1 branch onto master.

I've also run the standard examples provided with WRF, where the sounding was slightly different and the mountain only 10km wide. I varied the height of the mountain as well (100m, 200m, 400m and 600m) but what I found was essentially the same (I checked up to timestep t=6h).

The expected analytical solution for the sounding/background state I used is given by the black curve, WRFs pressure perturbance at different time steps is plotted in various colours for the RH=0% case.

The longer the simulations progresses the larger the offset becomes, e.g. at t = 72 h it's shifted ~450 Pa to the negative. The basic shape of the curves compared to the analytical solution qualitatively is similar, but I don't understand where the offset comes from. Note that this also happens (although less pronounced) for other setups I tried (see paragraph before the last one).

My experience with WRF is limited, so I don't know how "close" one can reasonably expect the model (or any dynamical model) to be to the analytical solution. This seems a bit far off - at least to me. I'm also aware that something else might be wrong with my runs, however, I seem to be unable to find the issue in that case.


  • pperturbance.png
    153.4 KB · Views: 1,608
  • namelist.input
    3.4 KB · Views: 61
  • input_sounding.txt
    34.7 KB · Views: 67
Please see the response to your other post:
to see if that is relevant here too. Thanks.
We were able to solve this problem just by making the domain wider. E.g. by using 1400 horizontal grid points along the west-east direction instead of the standard setting of 404.