From de95e37109358a4afc848eb35a25aed8b81bebc3 Mon Sep 17 00:00:00 2001 From: Lisa Bengtsson Date: Wed, 26 Jun 2024 17:23:09 +0000 Subject: [PATCH] Output tendency_of_vertically_diffused_tracer_concentration from MYNN PBL --- physics/PBL/MYNN_EDMF/mynnedmf_wrapper.F90 | 25 +++++++++++++++--- physics/PBL/MYNN_EDMF/mynnedmf_wrapper.meta | 29 +++++++++++++++++++++ 2 files changed, 51 insertions(+), 3 deletions(-) diff --git a/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.F90 b/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.F90 index 6dc068758..5c990dc5b 100644 --- a/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.F90 +++ b/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.F90 @@ -140,7 +140,7 @@ SUBROUTINE mynnedmf_wrapper_run( & & dqdt_cloud_droplet_num_conc, dqdt_ice_num_conc, & ! <=== ntlnc, ntinc & dqdt_water_aer_num_conc, dqdt_ice_aer_num_conc,& ! <=== ntwa, ntia & dqdt_cccn, & ! <=== ntccn - & flag_for_pbl_generic_tend, & + & tmf, flag_for_pbl_generic_tend, & & dtend, dtidx, index_of_temperature, & & index_of_x_wind, index_of_y_wind, ntke, & & ntqv, ntcw, ntiw, ntsw, & @@ -155,7 +155,8 @@ SUBROUTINE mynnedmf_wrapper_run( & & icloud_bl, do_mynnsfclay, & & imp_physics, imp_physics_gfdl, & & imp_physics_thompson, imp_physics_wsm6, & - & imp_physics_fa, & + & imp_physics_fa, imfdeepcnv, imfdeepcnv_c3, & + & imfdeepcnv_samf, & & chem3d, frp, mix_chem, rrfs_sd, enh_mix, & & nchem, ndvel, vdep, smoke_dbg, & & imp_physics_nssl, nssl_ccn_on, & @@ -205,7 +206,8 @@ SUBROUTINE mynnedmf_wrapper_run( & & bl_mynn_output, & & imp_physics, imp_physics_wsm6, & & imp_physics_thompson, imp_physics_gfdl, & - & imp_physics_nssl, imp_physics_fa, & + & imp_physics_nssl, imp_physics_fa, imfdeepcnv, & + & imfdeepcnv_c3, imfdeepcnv_samf, & & spp_pbl, & & tke_budget real(kind_phys), intent(in) :: & @@ -252,6 +254,7 @@ SUBROUTINE mynnedmf_wrapper_run( & & EL_PBL, Sh3D, Sm3D, qc_bl, qi_bl, cldfra_bl, dqdt_cccn real(kind_phys), dimension(:,:), intent(inout) :: & & qke_adv + real(kind_phys), dimension(:,:,:), intent(out) :: tmf !These 10 arrays are only allocated when bl_mynn_output > 0 real(kind_phys), dimension(:,:), intent(inout), optional :: & & edmf_a,edmf_w,edmf_qt, & @@ -555,6 +558,13 @@ SUBROUTINE mynnedmf_wrapper_run( & enddo enddo + do k=1,levs + do i=1,im + tmf(i,k,1)=0. + enddo + enddo + + ! Check incoming moist species to ensure non-negative values ! First, create height difference (dz) do k=1,levs @@ -1028,6 +1038,15 @@ SUBROUTINE mynnedmf_wrapper_run( & deallocate(save_qke_adv) endif + if(imfdeepcnv == imfdeepcnv_c3 .or. imfdeepcnv == imfdeepcnv_samf)then + !LB: save PBL q-tendency for use in prognostic closure + do k=1,levs + do i=1,im + tmf(i,k,1)=dqdt_water_vapor(i,k) + enddo + enddo + endif + CONTAINS SUBROUTINE dtend_helper(itracer,field,mult) diff --git a/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.meta b/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.meta index f2adfc4f5..94f30ad52 100644 --- a/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.meta +++ b/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.meta @@ -1150,6 +1150,14 @@ kind = kind_phys intent = inout optional = True +[tmf] + standard_name = tendency_of_vertically_diffused_tracer_concentration + long_name = updated tendency of the tracers due to vertical diffusion in PBL scheme + units = kg kg-1 s-1 + dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_vertical_diffusion_tracers) + type = real + kind = kind_phys + intent = out [flag_for_pbl_generic_tend] standard_name = flag_for_generic_tendency_due_to_planetary_boundary_layer long_name = true if GFS_PBL_generic should calculate tendencies @@ -1428,6 +1436,27 @@ dimensions = () type = integer intent = in +[imfdeepcnv] + standard_name = control_for_deep_convection_scheme + long_name = flag for mass-flux deep convection scheme + units = flag + dimensions = () + type = integer + intent = in +[imfdeepcnv_c3] + standard_name = identifier_for_c3_deep_convection + long_name = flag for C3 deep convection scheme + units = flag + dimensions = () + type = integer + intent = in +[imfdeepcnv_samf] + standard_name = identifer_for_scale_aware_mass_flux_deep_convection + long_name = flag for SAMF deep convection scheme + units = flag + dimensions = () + type = integer + intent = in [nssl_ccn_on] standard_name = nssl_ccn_on long_name = CCN activation flag in NSSL micro