Skip to content
Open
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
10 changes: 9 additions & 1 deletion Registry/Registry.EM_COMMON
Original file line number Diff line number Diff line change
Expand Up @@ -1169,6 +1169,7 @@ state real OL1 ij misc 1 - i012rhd "OL
state real OL2 ij misc 1 - i012rhd "OL2" "NON-DIMENSIONAL EFFECTIVE OROGRAPHIC LENGTH FOR SOUTHERLY FLOW" ""
state real OL3 ij misc 1 - i012rhd "OL3" "NON-DIMENSIONAL EFFECTIVE OROGRAPHIC LENGTH FOR SOUTH-WESTERLY FLOW" ""
state real OL4 ij misc 1 - i012rhd "OL4" "NON-DIMENSIONAL EFFECTIVE OROGRAPHIC LENGTH FOR NORTH-WESTERLY FLOW" ""
state real ELVMAX ij misc 1 - i012rhd "ELVMAX" "MAXIMUM OROGRAPHIC HEIGHT" "m"

# Additional for GSL gravity wave drag suite
state real DTAUX3D_ls ikj misc 1 - rh "DTAUX3D_ls" "LOCAL U GWDO STRESS LARGE-SCALE" "m s-1"
Expand Down Expand Up @@ -2473,6 +2474,9 @@ rconfig integer bl_pbl_physics namelist,physics max_domains -1
rconfig integer tke_budget namelist,physics max_domains 0 rh "tke_budget" "" ""
rconfig integer ysu_topdown_pblmix namelist,physics 1 1 rh "ysu_topdown_pblmix" "" ""
rconfig integer shinhong_tke_diag namelist,physics max_domains 0 rh "shinhong_tke_diag" "" ""
rconfig logical shinhong_scu_mixing namelist,physics max_domains .false. rh "shinhong_scu_mixing" "strato-cumulus(scu ) downdraft mixing for shinhong pbl" ""
rconfig logical shinhong_nonlocal_flux namelist,physics max_domains .false. rh "shinhong_nonlocal_flux" ".false.:counter-gradient (ysu), .true.:shinhong-LES type nonlocal flux" ""
rconfig logical shinhong_ke_dissipation namelist,physics max_domains .false. rh "shinhong_ke_dissipation" "additional heating due to kinetic energy dissipation" ""
rconfig logical bl_mynn_tkeadvect namelist,physics max_domains .false. rh "bl_mynn_tkeadvect" "" ""
rconfig integer bl_mynn_cloudpdf namelist,physics 1 2 irh "bl_mynn_cloudpdf" "0:original, 1:Kuwano, 2:Chaboreau-Bechtold" ""
rconfig integer bl_mynn_mixlength namelist,physics 1 1 irh "bl_mynn_mixlength" "0:original,1:RAP/HRRR,2:new blending&cloud mix length" ""
Expand Down Expand Up @@ -2853,6 +2857,10 @@ rconfig integer damp_opt namelist,dynamics 1 3
rconfig integer rad_nudge namelist,dynamics 1 0 irh "rad_nudge" "" ""
rconfig integer gwd_opt namelist,dynamics max_domains 0 irh "gwd_opt" "" ""
rconfig integer gwd_diags namelist,dynamics 1 0 irh "gwd_diags" "switch to turn on extra gwd diagnostics if available for given gwd_opt" ""
rconfig real gwd_dx_factor namelist,dynamics max_domains 2. rh "gwd_dx_factor" "effective grid factor for kim gravity wave drag" ""
rconfig logical gwd_if_nonhyd namelist,dynamics max_domains .true. rh "gwd_if_nonhyd" "non_hydrostatic option for kim gravity wave drag" ""
rconfig logical kim_tofd namelist,dynamics max_domains .true. rh "kim_tofd" "turbulent form drag (tofd) option for kim gravity wave drag" ""
rconfig real tofd_factor namelist,dynamics max_domains .003 rh "tofd_factor" "factor in kim tofd scheme" ""
rconfig real zdamp namelist,dynamics max_domains 5000. h "zdamp" "" ""
rconfig real dampcoef namelist,dynamics max_domains 0.2 h "dampcoef" "" ""
rconfig real khdif namelist,dynamics max_domains 0 h "khdif" "" ""
Expand Down Expand Up @@ -3255,7 +3263,7 @@ package swintopt2 swint_opt==2 - state:swdown2
package aercuopt aercu_used==1 - state:aeromcu,CU_UAF,EFCS,EFIS,EFSS,qr_cu,qs_cu,nc_cu,ni_cu,nr_cu,ns_cu,ccn_cu,aerovar;aerocu:cu_sulfate,cu_seasalt,cu_dust1,cu_dust2,cu_dust3,cu_dust4,cu_phoocar,cu_phiocar,cu_phobcar,cu_phibcar

package slopeopt slope_rad==1 - -
package gwd_used_1 gwd_used==1 - state:oc12d,oa1,oa2,oa3,oa4,ol1,ol2,ol3,ol4,dtaux3d,dtauy3d,dusfcg,dvsfcg
package gwd_used_1 gwd_used==1 - state:oc12d,oa1,oa2,oa3,oa4,ol1,ol2,ol3,ol4,elvmax,dtaux3d,dtauy3d,dusfcg,dvsfcg
package gwd_used_3 gwd_used==3 - state:var2dls,oc12dls,oa1ls,oa2ls,oa3ls,oa4ls,ol1ls,ol2ls,ol3ls,ol4ls,var2dss,oc12dss,oa1ss,oa2ss,oa3ss,oa4ss,ol1ss,ol2ss,ol3ss,ol4ss
package gwd_diags_used_3 gwd_diags_used==3 - state:dtaux3d_ls,dtauy3d_ls,dtaux3d_bl,dtauy3d_bl,dtaux3d_ss,dtauy3d_ss,dtaux3d_fd,dtauy3d_fd,dusfcg_ls,dvsfcg_ls,dusfcg_bl,dvsfcg_bl,dusfcg_ss,dvsfcg_ss,dusfcg_fd,dvsfcg_fd
package nogwdopt gwd_opt==0 - -
Expand Down
4 changes: 2 additions & 2 deletions arch/Externals.cfg
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[MMM-physics]
local_path = ./phys/physics_mmm
local_path = ./physics_mmm
protocol = git
repo_url = https://github.com/NCAR/MMM-physics.git
tag = 20240626-MPASv8.2
branch = testing-branch

required = True

Expand Down
14 changes: 12 additions & 2 deletions dyn_em/module_first_rk_step_part1.F
Original file line number Diff line number Diff line change
Expand Up @@ -701,6 +701,10 @@ SUBROUTINE first_rk_step_part1 ( grid , config_flags &
& ,LakeMask=grid%LakeMask & !lake
& ,restart_flag=restart_flag & !flag showing if is a restart timestep
#endif
! TOFD for KIM gwdo scheme
& ,kim_tofd=config_flags%kim_tofd &
& ,tofd_factor=config_flags%tofd_factor &
& ,VAR2D=grid%var2d &
! CLM Varaibles
& ,NUMC=grid%numc,NUMP=grid%nump,SABV=grid%sabv,SABG=grid%sabg, &
& LWUP=grid%lwup,SNL=grid%snl, &
Expand Down Expand Up @@ -1146,6 +1150,9 @@ SUBROUTINE first_rk_step_part1 ( grid , config_flags &
& ,ZNT=grid%znt &
& ,ysu_topdown_pblmix=config_flags%ysu_topdown_pblmix &
& ,shinhong_tke_diag=config_flags%shinhong_tke_diag &
& ,shinhong_scu_mixing=config_flags%shinhong_scu_mixing &
& ,shinhong_nonlocal_flux=config_flags%shinhong_nonlocal_flux &
& ,shinhong_ke_dissipation=config_flags%shinhong_ke_dissipation &
! paj: topo_wind
& ,CTOPO=grid%ctopo,CTOPO2=grid%ctopo2 &
! variables added for BEP
Expand Down Expand Up @@ -1242,13 +1249,16 @@ SUBROUTINE first_rk_step_part1 ( grid , config_flags &
& ,PEK_ADV=scalar(ims,kms,jms,P_pek_adv) &!TKEadvection
& ,PEP_ADV=scalar(ims,kms,jms,P_pep_adv) &!TKEadvection
!GWD for ARW
& ,GWD_OPT=config_flags%gwd_opt &
& ,gwd_diags=config_flags%gwd_diags &
& ,GWD_OPT=config_flags%gwd_opt &
& ,gwd_diags=config_flags%gwd_diags &
& ,dx_factor=config_flags%gwd_dx_factor &
& ,if_nonhyd=config_flags%gwd_if_nonhyd &
& ,DTAUX3D=grid%dtaux3d,DTAUY3D=grid%dtauy3d &
& ,DUSFCG=grid%dusfcg,DVSFCG=grid%dvsfcg &
& ,VAR2D=grid%var2d,OC12D=grid%oc12d &
& ,OA1=grid%oa1,OA2=grid%oa2,OA3=grid%oa3,OA4=grid%oa4 &
& ,OL1=grid%ol1,OL2=grid%ol2,OL3=grid%ol3,OL4=grid%ol4 &
& ,elvmax=grid%elvmax &
& ,SINA=grid%sina,COSA=grid%cosa &
& ,dtaux3d_ls=grid%dtaux3d_ls,dtauy3d_ls=grid%dtauy3d_ls &
& ,dtaux3d_bl=grid%dtaux3d_bl,dtauy3d_bl=grid%dtauy3d_bl &
Expand Down
4 changes: 4 additions & 0 deletions main/depend.common
Original file line number Diff line number Diff line change
Expand Up @@ -627,6 +627,10 @@ module_madwrf.o: \
module_bl_ysu.o: \
ccpp_kind_types.o \
physics_mmm/bl_ysu.o

module_bl_shinhong.o: \
ccpp_kind_types.o \
physics_mmm/bl_shinhong.o


module_bl_myjpbl.o: \
Expand Down
3 changes: 2 additions & 1 deletion phys/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,7 @@ target_sources(
# Shared physics
physics_mmm/bl_gwdo.F90
physics_mmm/bl_ysu.F90
physics_mmm/bl_shinhong.F90
physics_mmm/cu_ntiedtke.F90
physics_mmm/module_libmassv.F90
physics_mmm/mp_radar.F90
Expand All @@ -274,4 +275,4 @@ target_include_directories(
${PROJECT_NAME}_Core
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
)
7 changes: 4 additions & 3 deletions phys/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -242,16 +242,17 @@ PHYSMMM_MODULES = \
physics_mmm/mp_wsm6.o \
physics_mmm/mp_wsm6_effectRad.o \
physics_mmm/mp_radar.o \
physics_mmm/bl_gwdo.o \
physics_mmm/bl_ysu.o
physics_mmm/bl_gwdo.o \
physics_mmm/bl_shinhong.o \
physics_mmm/bl_ysu.o

OBJS =

LIBTARGET = physics
TARGETDIR = ./

$(LIBTARGET) :
(cd .. && ./tools/manage_externals/checkout_externals --externals ./arch/Externals.cfg)
(./../tools/manage_externals/checkout_externals --externals ./../arch/Externals.cfg)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this change for?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a test, and matches what's done in Externals.cfg.

$(MAKE) $(J) non_nmm ; \
$(AR) $(ARFLAGS) ../main/$(LIBWRFLIB) $(MODULES) $(OBJS) \
$(FIRE_MODULES) $(DIAGNOSTIC_MODULES_EM) $(PHYSMMM_MODULES)
Expand Down
11 changes: 9 additions & 2 deletions phys/module_bl_gwdo.F
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ subroutine gwdo(u3d,v3d,t3d,qv3d,p3d,p3di,pi3d,z, &
rublten,rvblten, &
dtaux3d,dtauy3d,dusfcg,dvsfcg, &
var2d,oc12d,oa2d1,oa2d2,oa2d3,oa2d4,ol2d1,ol2d2,ol2d3,ol2d4, &
sina,cosa,znu,znw,p_top, &
elvmax,sina,cosa,znu,znw,p_top, &
cp,g,rd,rv,ep1,pi, &
dt,dx,kpbl2d,itimestep, &
dx_factor,if_nonhyd, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte, &
Expand Down Expand Up @@ -78,6 +79,8 @@ subroutine gwdo(u3d,v3d,t3d,qv3d,p3d,p3di,pi3d,z, &
integer,intent(in),dimension(ims:ime,jms:jme):: kpbl2d

real(kind=kind_phys),intent(in):: dt,cp,g,rd,rv,ep1,pi
real(kind=kind_phys),intent(in):: dx_factor
logical ,intent(in):: if_nonhyd
real(kind=kind_phys),intent(in),optional:: p_top

real(kind=kind_phys),intent(in),dimension(kms:kme),optional:: &
Expand All @@ -90,6 +93,7 @@ subroutine gwdo(u3d,v3d,t3d,qv3d,p3d,p3di,pi3d,z, &
oc12d, &
oa2d1,oa2d2,oa2d3,oa2d4, &
ol2d1,ol2d2,ol2d3,ol2d4, &
elvmax, &
sina,cosa

real(kind=kind_phys),intent(in),dimension(ims:ime,kms:kme,jms:jme):: &
Expand Down Expand Up @@ -126,7 +130,7 @@ subroutine gwdo(u3d,v3d,t3d,qv3d,p3d,p3di,pi3d,z, &
integer:: i,j,k

real(kind=kind_phys),dimension(its:ite):: &
var2d_hv,oc12d_hv,dx_hv,sina_hv,cosa_hv
var2d_hv,oc12d_hv,dx_hv,sina_hv,cosa_hv,elvmax_hv
real(kind=kind_phys),dimension(its:ite):: &
oa2d1_hv,oa2d2_hv,oa2d3_hv,oa2d4_hv,ol2d1_hv,ol2d2_hv,ol2d3_hv,ol2d4_hv
real(kind=kind_phys),dimension(its:ite):: &
Expand Down Expand Up @@ -195,6 +199,7 @@ subroutine gwdo(u3d,v3d,t3d,qv3d,p3d,p3di,pi3d,z, &
ol2d2_hv(i) = ol2d2(i,j)
ol2d3_hv(i) = ol2d3(i,j)
ol2d4_hv(i) = ol2d4(i,j)
elvmax_hv(i) =elvmax(i,j)
enddo

call bl_gwdo_run(sina=sina_hv,cosa=cosa_hv &
Expand All @@ -211,6 +216,8 @@ subroutine gwdo(u3d,v3d,t3d,qv3d,p3d,p3di,pi3d,z, &
,oa2d3=oa2d3_hv, oa2d4=oa2d4_hv &
,ol2d1=ol2d1_hv, ol2d2=ol2d2_hv &
,ol2d3=ol2d3_hv, ol2d4=ol2d4_hv &
,omax=elvmax_hv &
,dx_factor=dx_factor,if_nonhyd=if_nonhyd &
,g_=g,cp_=cp,rd_=rd,rv_=rv,fv_=ep1,pi_=pi &
,dxmeter=dx_hv,deltim=dt &
,its=its,ite=ite,kte=kte,kme=kte+1 &
Expand Down
Loading