Skip to content
26 changes: 26 additions & 0 deletions src/core_atmosphere/Registry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,11 @@
description="Scale eddy viscosities with mesh-density function for horizontal diffusion"
possible_values=".true. or .false."/>

<nml_option name="config_deep_atmosphere" type="logical" default_value="false" in_defaults="true"
units="-"
description="Deep atmosphere configuration"
possible_values=".true. or .false."/>

<nml_option name="config_num_halos" type="integer" default_value="2" in_defaults="false"
units="-"
description="Number of halo layers for fields"
Expand Down Expand Up @@ -491,6 +496,10 @@
<var name="zb"/>
<var name="zb3"/>
<var name="dss"/>
<var name="rTildeCell"/>
<var name="rTildeLayer"/>
<var name="rTildeEdge"/>
<var name="rTildeVertex"/>
<var name="deriv_two"/>
<var name="defc_a"/>
<var name="defc_b"/>
Expand Down Expand Up @@ -901,6 +910,10 @@
<var name="fzm"/>
<var name="fzp"/>
<var name="zz"/>
<var name="rTildeCell"/>
<var name="rTildeLayer"/>
<var name="rTildeEdge"/>
<var name="rTildeVertex"/>
<var name="initial_time"/>
<var name="xtime"/>
<var name="Time"/>
Expand Down Expand Up @@ -1518,6 +1531,19 @@
<var name="dss" type="real" dimensions="nVertLevels nCells" units="unitless"
description="w-damping coefficient"/>

<!-- Nondimensional radii -->
<var name="rTildeCell" type="real" dimensions="nVertLevels nCells" units="unitless"
description="Nondimensional radius of cells"/>

<var name="rTildeLayer" type="real" dimensions="nVertLevelsP1 nCells" units="unitless"
description="Nondimensional radius of layer interfaces"/>

<var name="rTildeEdge" type="real" dimensions="nVertLevels nEdges" units="unitless"
description="Nondimensional radius of edges"/>

<var name="rTildeVertex" type="real" dimensions="nVertLevels nVertices" units="unitless"
description="Nondimensional radius of vertices"/>

<!-- Reference profiles -->
<var name="u_init" type="real" dimensions="nVertLevels" units="m s^{-1}"
description="u reference profile"/>
Expand Down
5 changes: 3 additions & 2 deletions src/core_atmosphere/diagnostics/mpas_pv_diagnostics.F
Original file line number Diff line number Diff line change
Expand Up @@ -1268,7 +1268,7 @@ subroutine atm_compute_pv_diagnostics(state, time_lev, diag, mesh)
integer :: iCell, k
integer, pointer :: nCells, nVertLevels, index_qv
real (kind=RKIND) :: pvuVal, missingVal, stratoPV
real (kind=RKIND), dimension(:,:), pointer :: theta, rho, theta_m, rho_zz, zz, dtheta_dt_mix, tend_theta_euler
real (kind=RKIND), dimension(:,:), pointer :: theta, rho, theta_m, rho_zz, zz, dtheta_dt_mix, tend_theta_euler, rTildeCell
type (field2DReal), pointer :: theta_f, uReconstructX_f, uReconstructY_f, uReconstructZ_f, w_f, epv_f
real (kind=RKIND), dimension(:,:,:), pointer :: scalars

Expand All @@ -1284,11 +1284,12 @@ subroutine atm_compute_pv_diagnostics(state, time_lev, diag, mesh)
call mpas_pool_get_array(diag, 'rho', rho)

call mpas_pool_get_array(mesh, 'zz', zz)
call mpas_pool_get_array(mesh, 'rTildeCell', rTildeCell)

do iCell=1,nCells
do k=1,nVertLevels
theta(k,iCell) = theta_m(k,iCell) / (1._RKIND + rvord * scalars(index_qv,k,iCell))
rho(k,iCell) = rho_zz(k,iCell) * zz(k,iCell)
rho(k,iCell) = rho_zz(k,iCell) * zz(k,iCell) / rTildeCell(k,iCell)**2 ! deep
end do
end do

Expand Down
Loading
Loading