diff --git a/src/core_atmosphere/Registry.xml b/src/core_atmosphere/Registry.xml
index 4851e1cae7..f8a355ba95 100644
--- a/src/core_atmosphere/Registry.xml
+++ b/src/core_atmosphere/Registry.xml
@@ -424,6 +424,7 @@
+
@@ -2015,7 +2016,7 @@
+ packages="mp_nssl2m_in;tempo_hailcat_in"/>
+ packages="mp_nssl2m_in;tempo_hailcat_in"/>
-
-
diff --git a/src/core_atmosphere/physics/Registry_tempo.xml b/src/core_atmosphere/physics/Registry_tempo.xml
index fa861d5d7c..8f4c14e1ad 100644
--- a/src/core_atmosphere/physics/Registry_tempo.xml
+++ b/src/core_atmosphere/physics/Registry_tempo.xml
@@ -8,12 +8,17 @@
units="-"
description="Logical flag to turn on/off prognostic cloud droplet and aerosol number concentrations"
possible_values=".true. or .false."/>
-
+
+
+
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)
@@ -1150,7 +1165,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_hailcat
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
@@ -1189,6 +1204,7 @@ subroutine microphysics_to_MPAS(configs,mesh,state,time_lev,diag,diag_physics,te
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_aerosolaware',config_tempo_aerosolaware)
+ call mpas_pool_get_config(configs,'config_tempo_hailcat',config_tempo_hailcat)
call mpas_pool_get_array(mesh,'zz' ,zz )
call mpas_pool_get_array(mesh,'zgrid',zgrid)
@@ -1449,6 +1465,20 @@ subroutine microphysics_to_MPAS(configs,mesh,state,time_lev,diag,diag_physics,te
enddo
endif
+ if (config_tempo_hailcat) 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 620701ee0f..2e04bbb402 100644
--- a/src/core_atmosphere/physics/mpas_atmphys_packages.F
+++ b/src/core_atmosphere/physics/mpas_atmphys_packages.F
@@ -41,9 +41,9 @@ function atmphys_setup_packages(configs,streamInfo,packages,iocontext) result(ie
character(len=StrKIND),pointer:: config_lsm_scheme
character(len=StrKIND),pointer:: config_smoke_scheme
character(len=StrKIND),pointer:: config_dust_scheme
- logical,pointer:: config_tempo_aerosolaware,config_tempo_hailaware
+ logical,pointer:: config_tempo_aerosolaware,config_tempo_hailaware,config_tempo_hailcat
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_hailcat_in
logical,pointer:: cu_grell_freitas_in,cu_grell_freitas_li_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
@@ -68,6 +68,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_aerosolaware',config_tempo_aerosolaware)
call mpas_pool_get_config(configs,'config_tempo_hailaware',config_tempo_hailaware)
+ call mpas_pool_get_config(configs,'config_tempo_hailcat',config_tempo_hailcat)
nullify(mp_kessler_in)
call mpas_pool_get_package(packages,'mp_kessler_inActive',mp_kessler_in)
@@ -86,7 +87,10 @@ 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_hailcat_in)
+ call mpas_pool_get_package(packages,'tempo_hailcat_inActive',tempo_hailcat_in)
+
nullify(mp_wsm6_in)
call mpas_pool_get_package(packages,'mp_wsm6_inActive',mp_wsm6_in)
@@ -115,6 +119,7 @@ function atmphys_setup_packages(configs,streamInfo,packages,iocontext) result(ie
mp_tempo_in = .false.
tempo_aerosolaware_in = .false.
tempo_hailaware_in = .false.
+ tempo_hailcat_in = .false.
mp_wsm6_in = .false.
mp_nssl2m_in = .false.
nssl3m_in = .false.
@@ -131,6 +136,7 @@ function atmphys_setup_packages(configs,streamInfo,packages,iocontext) result(ie
mp_tempo_in = .true.
if (config_tempo_aerosolaware) tempo_aerosolaware_in = .true.
if (config_tempo_hailaware) tempo_hailaware_in = .true.
+ if (config_tempo_hailcat) tempo_hailcat_in = .true.
elseif(config_microp_scheme == 'mp_nssl2m') then
mp_nssl2m_in = .true.
IF ( config_nssl_moments == 'nssl3m' ) THEN
@@ -144,6 +150,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_hailcat_in = $l', logicArgs=(/tempo_hailcat_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_atmosphere/physics/physics_noaa/TEMPO b/src/core_atmosphere/physics/physics_noaa/TEMPO
index 9adf9ef282..5ea4b01e09 160000
--- a/src/core_atmosphere/physics/physics_noaa/TEMPO
+++ b/src/core_atmosphere/physics/physics_noaa/TEMPO
@@ -1 +1 @@
-Subproject commit 9adf9ef2827104640125f0c322e1218fce74e94c
+Subproject commit 5ea4b01e0991f22fd5fdea9f1099c9053debe919