Skip to content

Add more (isobaric) diags to isolevels-v8#2

Open
zmoon wants to merge 11 commits into
isolevels-v8from
isolevels-v8-add-diags
Open

Add more (isobaric) diags to isolevels-v8#2
zmoon wants to merge 11 commits into
isolevels-v8from
isolevels-v8-add-diags

Conversation

@zmoon

@zmoon zmoon commented May 29, 2026

Copy link
Copy Markdown
Collaborator
  • check it works

zmoon added 11 commits May 29, 2026 11:54
not geopotential

it comes from the zgrid model variable (layer interface heights),
like the height_<lev>hPa variables
so ertel_pv is up-to-date when we compute ertel_pv_isobaric
instead of dtheta_dt_mp,
for the PV budget diagnostics computation decision

dtheta_dt_mp is computed in
src/core_atmosphere/physics/mpas_atmphys_interface.F
so maybe this was a typo
@zmoon zmoon marked this pull request as ready for review June 2, 2026 20:55
@zmoon zmoon requested a review from Copilot June 6, 2026 18:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the core atmosphere isobaric diagnostics set (isolevels-v8) by adding additional tendency and PV fields on isobaric surfaces, and ensures prerequisite diagnostics are computed by adjusting dependency checks and call ordering.

Changes:

  • Add new isobaric registry fields for explicit mixing heating, multiple physics/dynamics theta tendencies, and Ertel PV on isobaric levels.
  • Update PV diagnostics dependency logic so ertel_pv / dtheta_dt_mix are computed when their isobaric counterparts are requested.
  • Reorder diagnostics manager calls so PV diagnostics run before isobaric interpolation.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
src/core_atmosphere/diagnostics/Registry_isobaric.xml Registers additional isobaric output variables (tendencies, PV) and clarifies z-isobaric description.
src/core_atmosphere/diagnostics/mpas_pv_diagnostics.F Expands “need” logic to compute PV/mixing prerequisites when isobaric outputs are requested.
src/core_atmosphere/diagnostics/mpas_isobaric_diagnostics.F Interpolates additional fields to isobaric levels; adds new need_* flags and pool access for new diagnostics.
src/core_atmosphere/diagnostics/mpas_atm_diagnostics_manager.F Reorders setup/compute sequence so PV diagnostics precede isobaric diagnostics.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1259 to +1270
if (need_rthcuten_isobaric) then
do iCell = 1, nCells
do k = 1, nVertLevels
kk = nVertLevels + 1 - k
field_in(iCell,kk) = rthcuten(k,iCell)
end do
end do
call interp_tofixed_pressure(nCells, nVertLevels, nIsoLevelsT, press_in, field_in, press_interp, field_interp)
do k = 1, nIsoLevelsT
rthcuten_isobaric(k,1:nCells) = field_interp(1:nCells,k)
end do
end if
Comment on lines +1285 to +1296
if (need_rthmpten_isobaric) then
do iCell = 1, nCells
do k = 1, nVertLevels
kk = nVertLevels + 1 - k
field_in(iCell,kk) = rthmpten(k,iCell)
end do
end do
call interp_tofixed_pressure(nCells, nVertLevels, nIsoLevelsT, press_in, field_in, press_interp, field_interp)
do k = 1, nIsoLevelsT
rthmpten_isobaric(k,1:nCells) = field_interp(1:nCells,k)
end do
end if
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants