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 @@ +