diff --git a/src/core_atmosphere/Registry.xml b/src/core_atmosphere/Registry.xml
index 8e29d94716..9ce0fc4c6a 100644
--- a/src/core_atmosphere/Registry.xml
+++ b/src/core_atmosphere/Registry.xml
@@ -410,6 +410,7 @@
+
@@ -1755,7 +1756,7 @@
+ packages="mp_nssl2m_in;tempo_qh_in"/>
+ packages="mp_nssl2m_in;tempo_qh_in"/>
-
+
+
scalars(index_qh,:,:)
+
+ do j = jts, jte
+ do k = kts, kte
+ do i = its, ite
+ qh_p(i,k,j) = qh(k,i)
+ enddo
+ enddo
+ enddo
+ endif
+
case("mp_nssl2m")
call mpas_pool_get_dimension(state,'index_ni',index_ni)
call mpas_pool_get_dimension(state,'index_nr',index_nr)
@@ -1139,7 +1154,7 @@ subroutine microphysics_to_MPAS(configs,mesh,state,time_lev,diag,diag_physics,te
!local pointers:
character(len=StrKIND),pointer:: mp_scheme
character(len=StrKIND),pointer:: nssl_moments
- logical,pointer:: config_tempo_hailaware, config_tempo_aerosolaware
+ logical,pointer:: config_tempo_hailaware, config_tempo_aerosolaware, config_tempo_qh
integer,pointer:: index_qv,index_qc,index_qr,index_qi,index_qs,index_qg
integer,pointer:: index_nc,index_ni,index_nr,index_nifa,index_nwfa
!TEMPO/NSSL
@@ -1175,6 +1190,7 @@ subroutine microphysics_to_MPAS(configs,mesh,state,time_lev,diag,diag_physics,te
call mpas_pool_get_config(configs,'config_microp_scheme',mp_scheme)
call mpas_pool_get_config(configs,'config_nssl_moments',nssl_moments)
call mpas_pool_get_config(configs,'config_tempo_hailaware',config_tempo_hailaware)
+ call mpas_pool_get_config(configs,'config_tempo_qh',config_tempo_qh)
call mpas_pool_get_config(configs,'config_tempo_aerosolaware',config_tempo_aerosolaware)
call mpas_pool_get_array(mesh,'zz' ,zz )
@@ -1403,6 +1419,20 @@ subroutine microphysics_to_MPAS(configs,mesh,state,time_lev,diag,diag_physics,te
enddo
endif
+ if (config_tempo_qh) then
+ call mpas_pool_get_dimension(state,'index_qh' ,index_qh )
+
+ qh => scalars(index_qh,:,:)
+
+ do j = jts, jte
+ do k = kts, kte
+ do i = its, ite
+ qh(k,i) = qh_p(i,k,j)
+ enddo
+ enddo
+ enddo
+ endif
+
case("mp_nssl2m")
call mpas_pool_get_dimension(state,'index_ni' ,index_ni )
call mpas_pool_get_dimension(state,'index_nc' ,index_nc )
diff --git a/src/core_atmosphere/physics/mpas_atmphys_packages.F b/src/core_atmosphere/physics/mpas_atmphys_packages.F
index 2a93385302..7cc2410843 100644
--- a/src/core_atmosphere/physics/mpas_atmphys_packages.F
+++ b/src/core_atmosphere/physics/mpas_atmphys_packages.F
@@ -39,9 +39,9 @@ function atmphys_setup_packages(configs,streamInfo,packages,iocontext) result(ie
character(len=StrKIND),pointer:: config_convection_scheme
character(len=StrKIND),pointer:: config_pbl_scheme
character(len=StrKIND),pointer:: config_lsm_scheme
- logical,pointer:: config_tempo_hailaware, config_tempo_aerosolaware
+ logical,pointer:: config_tempo_hailaware, config_tempo_aerosolaware, config_tempo_qh
logical,pointer:: mp_kessler_in,mp_thompson_in,mp_thompson_aers_in,mp_wsm6_in,mp_nssl2m_in,nssl3m_in
- logical,pointer:: mp_tempo_in, tempo_hailaware_in, tempo_aerosolaware_in
+ logical,pointer:: mp_tempo_in, tempo_hailaware_in, tempo_aerosolaware_in, tempo_qh_in
logical,pointer:: cu_grell_freitas_in,cu_kain_fritsch_in,cu_ntiedtke_in
logical,pointer:: bl_mynn_in,bl_mynnedmf_in,bl_ysu_in,bl_myj_in
logical,pointer:: lsm_noah_in,lsm_ruc_in
@@ -64,6 +64,7 @@ function atmphys_setup_packages(configs,streamInfo,packages,iocontext) result(ie
call mpas_pool_get_config(configs,'config_nssl_moments',config_nssl_moments)
call mpas_pool_get_config(configs,'config_tempo_hailaware',config_tempo_hailaware)
+ call mpas_pool_get_config(configs,'config_tempo_qh',config_tempo_qh)
call mpas_pool_get_config(configs,'config_tempo_aerosolaware',config_tempo_aerosolaware)
nullify(mp_kessler_in)
@@ -83,6 +84,9 @@ function atmphys_setup_packages(configs,streamInfo,packages,iocontext) result(ie
nullify(tempo_hailaware_in)
call mpas_pool_get_package(packages,'tempo_hailaware_inActive',tempo_hailaware_in)
+
+ nullify(tempo_qh_in)
+ call mpas_pool_get_package(packages,'tempo_qh_inActive',tempo_qh_in)
nullify(mp_wsm6_in)
call mpas_pool_get_package(packages,'mp_wsm6_inActive',mp_wsm6_in)
@@ -112,6 +116,7 @@ function atmphys_setup_packages(configs,streamInfo,packages,iocontext) result(ie
mp_tempo_in = .false.
tempo_aerosolaware_in = .false.
tempo_hailaware_in = .false.
+ tempo_qh_in = .false.
mp_wsm6_in = .false.
mp_nssl2m_in = .false.
nssl3m_in = .false.
@@ -132,6 +137,9 @@ function atmphys_setup_packages(configs,streamInfo,packages,iocontext) result(ie
if (config_tempo_hailaware) then
tempo_hailaware_in = .true.
endif
+ if (config_tempo_qh) then
+ tempo_qh_in = .true.
+ endif
elseif(config_microp_scheme == 'mp_nssl2m') then
mp_nssl2m_in = .true.
IF ( config_nssl_moments == 'nssl3m' ) THEN
@@ -145,6 +153,7 @@ function atmphys_setup_packages(configs,streamInfo,packages,iocontext) result(ie
call mpas_log_write(' mp_tempo_in = $l', logicArgs=(/mp_tempo_in/))
call mpas_log_write(' tempo_aerosolaware_in = $l', logicArgs=(/tempo_aerosolaware_in/))
call mpas_log_write(' tempo_hailaware_in = $l', logicArgs=(/tempo_hailaware_in/))
+ call mpas_log_write(' tempo_qh_in = $l', logicArgs=(/tempo_qh_in/))
call mpas_log_write(' mp_wsm6_in = $l', logicArgs=(/mp_wsm6_in/))
call mpas_log_write(' mp_nssl2m_in = $l', logicArgs=(/mp_nssl2m_in/))
call mpas_log_write(' nssl3m_in = $l', logicArgs=(/nssl3m_in/))
diff --git a/src/core_init_atmosphere/Registry.xml b/src/core_init_atmosphere/Registry.xml
index 28733ea23c..e678ef131f 100644
--- a/src/core_init_atmosphere/Registry.xml
+++ b/src/core_init_atmosphere/Registry.xml
@@ -406,6 +406,7 @@
+