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