Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should log(P) be interpolated linearly in height instead of P? #996

Open
jjguerrette opened this issue Oct 17, 2022 · 1 comment
Open

Should log(P) be interpolated linearly in height instead of P? #996

jjguerrette opened this issue Oct 17, 2022 · 1 comment
Assignees

Comments

@jjguerrette
Copy link
Contributor

jjguerrette commented Oct 17, 2022

The MPAS_to_physics subroutine interpolates pressure linearly with the height coordinate (see below).

pres2_p(i,k,j) = fzm_p(i,k,j)*pres_p(i,k,j) + fzp_p(i,k,j)*pres_p(i,k-1,j)

As the model levels get further apart near the top, this will tend to produce pressures that are too large since pressure varies approximately exponentially with height. It would be more accurate to interpolate log(P), then convert back to P afterward (similar to what is done for the model top extrapolation on L415). Although I do not know how pres2_p is used after this calculation, this could be a source of inaccuracy.

Note that the interpolation of P is inconsistent with core_init_atmosphere, which interpolates log(P).

See https://github.com/JCSDA-internal/mpas-jedi/issues/795 for more discussion.

EDIT: also see the related WRF publication, https://journals.ametsoc.org/view/journals/mwre/140/12/mwr-d-12-00045.1.xml

@liujake @mgduda @ldfowler58 @byoung-joo @metdyn

@1JunGu
Copy link

1JunGu commented Mar 10, 2024

Like this request #1042 about isobaric height diagnostic using logarithmic interpolation

! switch to use ln(pressure) for more accurate vertical interpolation, WCS 20230407
pressure2(k,iCell) = exp(w1*log(pressure(k,iCell))+w2*log(pressure(k-1,iCell)))

The MPAS_to_physics and other similar subroutines should use this.
@mgduda @ldfowler58

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants