# dp / dzeta implementation in MPAS-A

This post was from a previous version of the WRF&MPAS-A Support Forum. Please do not add new replies here and if you would like the thread moved out of the Historical / Archive section then contact us, making sure to include the link of the thread to be moved.

#### henrys

##### New member
I am trying to understand the implementation of dp / dzeta on line 4763 in atm_compute_dyn_tend_work() and its use in the horizontal momentum equation on line 4784.

It is formed beginning with:
dpdz(k,iCell) = -gravity*(rb(k,iCell)*(qtot(k,iCell)) + rr_save(k,iCell)*(1.+qtot(k,iCell)))
Is the intent to represent gravity * moist-density? If so, does this lead to an exact representation of dp / dzeta or an approximation (hydrostatic approx?)? My background isn’t in atmospheric science so I am probably missing something. Also, if this represents gravity * moist-density, shouldn’t rb be multiplied by 1.+qtot(k,iCell) instead of just qtot(k,iCell) to form the moist-density?
No need for a lengthy explanation, just point me to an appropriate reference.
Thanks!
-Henry

#### skamarock

##### New member
Hi Henry,

Yes, this is an approximation, and we introduced it a few years ago (well after the main 2012 model description paper was published). The formulation of this term is described in the paper

Skamarock, W. C., Ong, H., & Klemp, J. B. (2021). A Fully Compressible Nonhydrostatic Deep-Atmosphere Equations Solver for MPAS, Monthly Weather Review, 149(2), 571-583. https://doi.org/10.1175/MWR-D-20-0286.1

Look at the discussion between equations (21) and (22) in the paper, and let me know if you have any questions.

Bill

#### henrys

##### New member
Hi Bill,
Thanks, that explains the hydrostatic approximation!
However, I'm still confused by the computation of rho-m used in this approximation on line 4763 (in the current release). Shouldn't rho-d-base ('rb' in the code) be multiplied by (1 + qv + qc + ...) instead of (qv + qc + . . .) since
rho-m = (1 + qv + qc + ...) * rho-d = (1 + qv + qc + . . .)(rho-d-base + rho-d-perturbation)
Or is there a reason that rho-d-base is only multiplied by (qv + qc + . . .) in this case?
The current version of the code is:
dpdz(k,iCell) = -gravity*(rb(k,iCell)*(qtot(k,iCell)) + rr_save(k,iCell)*(1.+qtot(k,iCell)))
where qtot = (qv + qc + ...), rr_save = rho-d-perturbation, and rb = rho-d-base
Thanks!
-Henry

#### henrys

##### New member
Hi Bill,
Thanks for explaining that the formula on line 4763 in mpas_atm_time_integration.F represents the perturbation in moist density with respect to a reference state given by the dry density at hydrostatic equilibrium. I wrongly assumed that the reference state would be the moist density at hydrostatic equilibrium which I now understand would not make sense as a reference state.