Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug fix for physics suites using C3 or SAS convection with MYNN PBL scheme #218

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 22 additions & 3 deletions physics/PBL/MYNN_EDMF/mynnedmf_wrapper.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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, &
Expand All @@ -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, &
Expand Down Expand Up @@ -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) :: &
Expand Down Expand Up @@ -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, &
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down
29 changes: 29 additions & 0 deletions physics/PBL/MYNN_EDMF/mynnedmf_wrapper.meta
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
Loading