Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 36 additions & 6 deletions src/core_atmosphere/Registry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -601,7 +601,11 @@
<var name="q2"/>
<var name="t2m"/>
<var name="precipw"/>
<var name="precipci"/>
<var name="precipc"/>
<var name="precipr"/>
<var name="precipi"/>
<var name="precipg"/>
<var name="precips"/>
<var name="ctt"/>
<var name="dzs"/>
<var name="sh2o"/>
Expand Down Expand Up @@ -1008,7 +1012,11 @@
<var name="i_rainnc"/>
<var name="rainnc"/>
<var name="precipw"/>
<var name="precipci"/>
<var name="precipc"/>
<var name="precipr"/>
<var name="precipi"/>
<var name="precipg"/>
<var name="precips"/>
<var name="ctt"/>
<var name="cuprec"/>
<var name="i_rainc"/>
Expand Down Expand Up @@ -1077,7 +1085,12 @@
<var name="refl10cm_1km"/>
<var name="refl10cm_1km_max"/>
<var name="precipw"/>
<var name="precipci"/>
<var name="precipc"/>
<var name="precipr"/>
<var name="precipi"/>
<var name="precipg"/>
<var name="precips"/>
<var name="ctt"/>
<var name="ctt"/>
<var name="u10"/>
<var name="v10"/>
Expand Down Expand Up @@ -1263,6 +1276,11 @@
<var name="q2"/>
<var name="t2m"/>
<var name="precipw"/>
<var name="precipc"/>
<var name="precipr"/>
<var name="precipi"/>
<var name="precipg"/>
<var name="precips"/>
<var name="dzs"/>
<var name="zs"/>
<var name="ter"/>
Expand Down Expand Up @@ -2633,11 +2651,23 @@

<var name="precipw" type="real" dimensions="nCells Time" units="kg m^{-2}"
description="precipitable water"/>

<var name="precipc" type="real" dimensions="nCells Time" units="kg m^{-2}"
description="vertically-integrated cloud water content"/>

<var name="precipr" type="real" dimensions="nCells Time" units="kg m^{-2}"
description="vertically-integrated rain content"/>

<var name="precipi" type="real" dimensions="nCells Time" units="kg m^{-2}"
description="vertically-integrated cloud ice content"/>

<var name="precipg" type="real" dimensions="nCells Time" units="kg m^{-2}"
description="vertically-integrated graupel content"/>

<var name="precipci" type="real" dimensions="nCells Time" units="kg m^{-2}"
description="precipitable cloud and ice"/>
<var name="precips" type="real" dimensions="nCells Time" units="kg m^{-2}"
description="vertically-integrated snow content"/>

<var name="ctt" type="real" dimensions="nCells Time" units="K"
<var name="ctt" type="real" dimensions="nCells Time" units="C"
description="cloud top temperature"/>

<!-- ================================================================================================== -->
Expand Down
22 changes: 21 additions & 1 deletion src/core_atmosphere/physics/mpas_atmphys_driver_microphysics.F
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,7 @@ subroutine precip_to_MPAS(configs,diag_physics,its,ite)
integer,dimension(:),pointer:: i_rainnc

real(kind=RKIND),pointer:: config_bucket_rainnc
real(kind=RKIND),dimension(:),pointer:: precipw
real(kind=RKIND),dimension(:),pointer:: precipw,precipc,precipr,precipi,precipg,precips
real(kind=RKIND),dimension(:),pointer:: graupelnc,rainnc,snownc
real(kind=RKIND),dimension(:),pointer:: graupelncv,rainncv,snowncv,sr

Expand All @@ -594,6 +594,12 @@ subroutine precip_to_MPAS(configs,diag_physics,its,ite)

call mpas_pool_get_array(diag_physics,'i_rainnc' ,i_rainnc )
call mpas_pool_get_array(diag_physics,'precipw' ,precipw )
call mpas_pool_get_array(diag_physics,'precipc' ,precipc )
call mpas_pool_get_array(diag_physics,'precipr' ,precipr )
call mpas_pool_get_array(diag_physics,'precipi' ,precipi )
call mpas_pool_get_array(diag_physics,'precipg' ,precipg )
call mpas_pool_get_array(diag_physics,'precips' ,precips )

call mpas_pool_get_array(diag_physics,'graupelnc' ,graupelnc )
call mpas_pool_get_array(diag_physics,'graupelncv',graupelncv)
call mpas_pool_get_array(diag_physics,'rainnc' ,rainnc )
Expand All @@ -604,6 +610,11 @@ subroutine precip_to_MPAS(configs,diag_physics,its,ite)

do i = its,ite
precipw(i) = 0._RKIND
precipc(i) = 0._RKIND
precipr(i) = 0._RKIND
precipi(i) = 0._RKIND
precipg(i) = 0._RKIND
precips(i) = 0._RKIND
enddo

!variables common to all cloud microphysics schemes:
Expand Down Expand Up @@ -649,6 +660,15 @@ subroutine precip_to_MPAS(configs,diag_physics,its,ite)
!accumulated precipitation:
snownc(i) = snownc(i) + snowncv(i)
graupelnc(i) = graupelnc(i) + graupelncv(i)

do k = kts,kte
rho_a = rho_p(i,k,j) / (1._RKIND + qv_p(i,k,j))
precipc(i) = precipc(i) + qc_p(i,k,j) * rho_a * dz_p(i,k,j)
precipr(i) = precipr(i) + qr_p(i,k,j) * rho_a * dz_p(i,k,j)
precipi(i) = precipi(i) + qi_p(i,k,j) * rho_a * dz_p(i,k,j)
precipg(i) = precipg(i) + qg_p(i,k,j) * rho_a * dz_p(i,k,j)
precips(i) = precips(i) + qs_p(i,k,j) * rho_a * dz_p(i,k,j)
enddo
enddo
enddo

Expand Down