<p>After a bit of digging, it seems that vertically integrating the continuity equation in pressure coordinates (shown above) is a sound approach for estimating vertical motion in numerical model output <em><strong>at synoptic scales</strong></em>. I say synoptic scales, because the hydrostatic approximation is used when converting the initial continuity equation in height coordinates to pressure coordinates. In cases, where the horizontal grid spacing is fine enough to resolve deep convection and/or sharp gradients in terrain (&lt;~10km), the hydrostatic approximating is no longer valid, so you'll likely run into some problems.</p>
<p>My model grid spacing is very fine (4 km), so I got around this by applying a running-mean smoothing filter of ~150 km in the x&amp;y directions to the kinematic <span class="math-container">$\omega$</span> field. This filtered out the small-scale noise and preserved the large-scale signal. Some initial tests using this method against reanalysis data produced acceptable results, so I'm confident that this implementation is justifiable.</p>
<p>The major drawback of the kinematic method (errors in the ageostrophic wind propagating into estimates of <span class="math-container">$\omega$</span>) does not apply to model data where the accuracy in horizontal wind is approximated to several orders of digits. In observational data, where this order of accuracy does not exist, it's recommended to avoid the kinematic method. In some personal tests, I found that integrating divergence on isobaric levels in reanalysis data (ERA5) successfully reproduces the <span class="math-container">$\omega$</span> field within the reanalysis itself. Digging through the ECMWF technical notes confirms that continuity is used for their purpose of estimating <span class="math-container">$\omega$</span> in gridded data (specifically, they refer to Simmons &amp; Burridge (1980) - An Energy and Angular-Momentum Conserving Vertical Finite-Difference Scheme and Hybrid Vertical Coordinates [Specifically eqn (2.5). This is the approach ECMWF uses to solve for omega on hybrid vertical levels]).</p>
<p>Speaking subjectively, this method seems to be the easiest to implement and the most intuitive. In instances where <span class="math-container">$\omega$</span> is not available for your data and the phenomena you wish to study satisfies the hydrostatic approximation (such as in most GCMs or studies examining synoptic-scale features), the kinematic approach is justifiable.</p>

CC BY-SA 4.0
2023-03-09T17:36:02.120Z
2023-03-09T17:36:02.120Z
Brendan Wallace
<p>I have WRF data on isobaric levels that unfortunately does not contain a z-wind or omega field within the output, and I would like to produce some estimate as to the magnitude of synoptic-scale vertical motions.</p>
<p>Upon reviewing the three main methods of estimating vertical motion in prior papers (kinematic, thermodynamic, and QG-omega), I've decided that implementing the kinematic method might be the most straightforward method to understand and also seems to be best suited to my needs. I initially tried solving for the traditional QG-Omega equation, but I am really struggling with &quot;inverting&quot; the laplacian on the left-hand side of the equation, and so have now opted to approach this problem using the kinematic method. However, I'm running into some trouble working out the logic of using this method in my head.</p>
<p>Its derivation seems easy enough. Starting with the continuity equation in pressure coordinates:
<span class="math-container">$$
\frac{dw}{dp} + \frac{du}{dx} + \frac{dv}{dy} = 0
$$</span></p>
<p>we can rearrange and integrate to yield:</p>
<p><span class="math-container">$$
w_{p} = w_{p+\Delta p} + \int_{p}^{p+\Delta p} ( \frac{du}{dx} + \frac{dv}{dy})dp
$$</span></p>
<p>where w is vertical velocity, p is some reference pressure, u is zonal wind, and v is meridional wind.</p>
<p>Now the problem I'm running into is that much of the literature recommends against using the kinematic method for acquiring a realistic estimate of vertical motion. This seems mainly due to the fact that the geostrophic wind is non-divergent, and errors in the ageostrophic wind are large enough to significantly affect horizontal divergence. This makes sense to me for instances where one is using observations, since the goal is to match reality as closely as possible, and observational readings are prone to error both due to instrumentation and error that likely arises from the interpolation process from discrete observations onto a grid.</p>
<p>However, for model data, would this drawback still apply? There are no &quot;errors&quot; since the fields are continuous and the model is simulating everything based on its own assumptions. In that sense, I'm not looking to match reality, but rather match whatever the model's reality is. It seems to me like this is how the WRF model already calculates omega (indicated within the comments of the calc_ww_cp subroutine in the WRF code, although my Fortran is a bit too rusty to actually make sense of it). Basically, I'm looking for the most efficient way of obtaining a realistic quantity representing vertical motion within the model output.</p>
<p><em><strong>In that sense, is the integration of the continuity equation the best way of accomplishing this for numerical model output? Or is it worthwhile to pursue a different method?</strong></em></p>
<p>Thanks in advance, and I look forward to any fruitful discussions that can come out of this!</p>

CC BY-SA 4.0
2023-03-09T13:16:59.610Z
You should compile your findings into an answer :).
Joscha Fregin
CC BY-SA 4.0
2023-03-09T17:36:57.373Z
@JoschaFregin Thanks for the tip - updated this post with an answer!
Brendan Wallace
<meteorology><atmosphere><numerical-modelling>
Estimating atmospheric vertical motion from 3D fields in WRF output
Brendan Wallace
# Estimating atmospheric vertical motion from 3D fields in WRF output

(Asked by: username_0 on 2023-03-03)

I have WRF data on isobaric levels that unfortunately does not contain a z-wind or omega field within the output, and I would like to produce some estimate as to the magnitude of synoptic-scale vertical motions.

Upon reviewing the three main methods of estimating vertical motion in prior papers (kinematic, thermodynamic, and QG-omega), I've decided that implementing the kinematic method might be the most straightforward method to understand and also seems to be best suited to my needs. I initially tried solving for the traditional QG-Omega equation, but I am really struggling with "inverting" the laplacian on the left-hand side of the equation, and so have now opted to approach this problem using the kinematic method. However, I'm running into some trouble working out the logic of using this method in my head.

Its derivation seems easy enough. Starting with the continuity equation in pressure coordinates:
$$
\frac{dw}{dp} + \frac{du}{dx} + \frac{dv}{dy} = 0
$$

we can rearrange and integrate to yield:

$$
w\_{p} = w\_{p+\Delta p} + \int\_{p}^{p+\Delta p} ( \frac{du}{dx} + \frac{dv}{dy})dp
$$

where w is vertical velocity, p is some reference pressure, u is zonal wind, and v is meridional wind.

Now the problem I'm running into is that much of the literature recommends against using the kinematic method for acquiring a realistic estimate of vertical motion. This seems mainly due to the fact that the geostrophic wind is non-divergent, and errors in the ageostrophic wind are large enough to significantly affect horizontal divergence. This makes sense to me for instances where one is using observations, since the goal is to match reality as closely as possible, and observational readings are prone to error both due to instrumentation and error that likely arises from the interpolation process from discrete observations onto a grid.

However, for model data, would this drawback still apply? There are no "errors" since the fields are continuous and the model is simulating everything based on its own assumptions. In that sense, I'm not looking to match reality, but rather match whatever the model's reality is. It seems to me like this is how the WRF model already calculates omega (indicated within the comments of the calc\_ww\_cp subroutine in the WRF code, although my Fortran is a bit too rusty to actually make sense of it). Basically, I'm looking for the most efficient way of obtaining a realistic quantity representing vertical motion within the model output.

***In that sense, is the integration of the continuity equation the best way of accomplishing this for numerical model output? Or is it worthwhile to pursue a different method?***

Thanks in advance, and I look forward to any fruitful discussions that can come out of this!

**Tags:** meteorology, atmosphere, numerical-modelling

> **Comments:**
> **username_1**: You should compile your findings into an answer :).  
> **username_0**: @username_1 Thanks for the tip - updated this post with an answer!  

---

## 1 answers

### Answer by username_0 on 2023-03-09. Score: 2 | Accepted answer

After a bit of digging, it seems that vertically integrating the continuity equation in pressure coordinates (shown above) is a sound approach for estimating vertical motion in numerical model output ***at synoptic scales***. I say synoptic scales, because the hydrostatic approximation is used when converting the initial continuity equation in height coordinates to pressure coordinates. In cases, where the horizontal grid spacing is fine enough to resolve deep convection and/or sharp gradients in terrain (<~10km), the hydrostatic approximating is no longer valid, so you'll likely run into some problems.

My model grid spacing is very fine (4 km), so I got around this by applying a running-mean smoothing filter of ~150 km in the x&y directions to the kinematic $\omega$ field. This filtered out the small-scale noise and preserved the large-scale signal. Some initial tests using this method against reanalysis data produced acceptable results, so I'm confident that this implementation is justifiable.

The major drawback of the kinematic method (errors in the ageostrophic wind propagating into estimates of $\omega$) does not apply to model data where the accuracy in horizontal wind is approximated to several orders of digits. In observational data, where this order of accuracy does not exist, it's recommended to avoid the kinematic method. In some personal tests, I found that integrating divergence on isobaric levels in reanalysis data (ERA5) successfully reproduces the $\omega$ field within the reanalysis itself. Digging through the ECMWF technical notes confirms that continuity is used for their purpose of estimating $\omega$ in gridded data (specifically, they refer to Simmons & Burridge (1980) - An Energy and Angular-Momentum Conserving Vertical Finite-Difference Scheme and Hybrid Vertical Coordinates [Specifically eqn (2.5). This is the approach ECMWF uses to solve for omega on hybrid vertical levels]).

Speaking subjectively, this method seems to be the easiest to implement and the most intuitive. In instances where $\omega$ is not available for your data and the phenomena you wish to study satisfies the hydrostatic approximation (such as in most GCMs or studies examining synoptic-scale features), the kinematic approach is justifiable.


---

