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
4 changes: 2 additions & 2 deletions src/core_atmosphere/Externals.cfg
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[MMM-physics]
local_path = ./physics_mmm
protocol = git
repo_url = https://github.com/NCAR/MMM-physics.git
tag = 20250616-MPASv8.3
repo_url = https://github.com/Songyou184/MMM-physics.git
branch=KIM_GWDO
required = True

[GSL_UGWP]
Expand Down
21 changes: 20 additions & 1 deletion src/core_atmosphere/Registry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,7 @@
<var name="ol2"/>
<var name="ol3"/>
<var name="ol4"/>
<var name="elvmax"/>
<var name="soilcomp"/>
<var name="soilcl1"/>
<var name="soilcl2"/>
Expand Down Expand Up @@ -2278,7 +2279,7 @@
<nml_option name="config_gwdo_scheme" type="character" default_value="suite" in_defaults="false"
units="-"
description="configuration of gravity wave drag over orography"
possible_values="`suite',`bl_ysu_gwdo',`bl_ugwp_gwdo',`off'"/>
possible_values="`suite',`bl_kim_gwdo',`bl_ugwp_gwdo',`off'"/>

<nml_option name="config_ngw_scheme" type="logical" default_value="false" in_defaults="false"
units="-"
Expand Down Expand Up @@ -2451,6 +2452,22 @@
units="s"
description="Relaxation time to initial values in 1-d OML"
possible_values="Non-negative real values"/>
<nml_option name="config_gwdo_factor" type="real" default_value="2.0" in_defaults="false"
units="-"
description="Effective grid length ratio in kim_gwdo scheme"
possible_values="Non-negative real values"/>
<nml_option name="config_gwdo_nonhyd" type="logical" default_value="false" in_defaults="false"
units="-"
description="Logical index for nonhydrostatic effect in kim_gwdo scheme"
possible_values="true. or .false."/>
<nml_option name="config_kim_tofd" type="logical" default_value="false" in_defaults="false"
units="-"
description="Tubulent orographic form drag (tofd) in kim_gwdo scheme"
possible_values="true. or .false."/>
<nml_option name="config_tofd_factor" type="real" default_value="0.003" in_defaults="false"
units="-"
description="Factor in kim_tofd scheme"
possible_values="Non-negative real values"/>
</nml_record>

<var_struct name="diag_physics" time_levs="1">
Expand Down Expand Up @@ -3782,6 +3799,8 @@

<var name="ol4" type="real" dimensions="nCells" units="unitless"
description="effective orographic length for north-westerly flow"/>
<var name="elvmax" type="real" dimensions="nCells" units="m"
description="elevation maximum over a grid cell"/>

<!-- GSL GWDO fields - meso-scale -->
<var name="var2dls" type="real" dimensions="nCells" units="m"
Expand Down
10 changes: 6 additions & 4 deletions src/core_atmosphere/physics/mpas_atmphys_control.F
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ module mpas_atmphys_control
! * in the mesoscale_reference suite, replaced the MM5 surface layer scheme with the MM5 revised surface layer
! scheme as the default option for config_sfclayer_scheme.
! Laura D. Fowler ([email protected]) / 2024-06-18.
! * renamed "bl_ysu_gwdo" to "bl_kim_gwdo"
! Songyou Hong ([email protected]) / 2025-08-24.


contains
Expand Down Expand Up @@ -133,7 +135,7 @@ subroutine physics_namelist_check(configs)
if (trim(config_microp_scheme) == 'suite') config_microp_scheme = 'mp_wsm6'
if (trim(config_convection_scheme) == 'suite') config_convection_scheme = 'cu_ntiedtke'
if (trim(config_pbl_scheme) == 'suite') config_pbl_scheme = 'bl_ysu'
if (trim(config_gwdo_scheme) == 'suite') config_gwdo_scheme = 'bl_ysu_gwdo'
if (trim(config_gwdo_scheme) == 'suite') config_gwdo_scheme = 'bl_kim_gwdo'
if (trim(config_radt_lw_scheme) == 'suite') config_radt_lw_scheme = 'rrtmg_lw'
if (trim(config_radt_sw_scheme) == 'suite') config_radt_sw_scheme = 'rrtmg_sw'
if (trim(config_radt_cld_scheme) == 'suite') config_radt_cld_scheme = 'cld_fraction'
Expand All @@ -145,7 +147,7 @@ subroutine physics_namelist_check(configs)
if (trim(config_microp_scheme) == 'suite') config_microp_scheme = 'mp_thompson'
if (trim(config_convection_scheme) == 'suite') config_convection_scheme = 'cu_grell_freitas'
if (trim(config_pbl_scheme) == 'suite') config_pbl_scheme = 'bl_mynn'
if (trim(config_gwdo_scheme) == 'suite') config_gwdo_scheme = 'bl_ysu_gwdo'
if (trim(config_gwdo_scheme) == 'suite') config_gwdo_scheme = 'bl_kim_gwdo'
if (trim(config_radt_lw_scheme) == 'suite') config_radt_lw_scheme = 'rrtmg_lw'
if (trim(config_radt_sw_scheme) == 'suite') config_radt_sw_scheme = 'rrtmg_sw'
if (trim(config_radt_cld_scheme) == 'suite') config_radt_cld_scheme = 'cld_fraction'
Expand Down Expand Up @@ -211,7 +213,7 @@ subroutine physics_namelist_check(configs)

!gravity wave drag over orography scheme:
if(.not. (config_gwdo_scheme .eq. 'off' .or. &
config_gwdo_scheme .eq. 'bl_ysu_gwdo' .or. &
config_gwdo_scheme .eq. 'bl_kim_gwdo' .or. &
config_gwdo_scheme .eq. 'bl_ugwp_gwdo')) then

write(mpas_err_message,'(A,A20)') 'illegal value for gwdo_scheme: ', &
Expand Down Expand Up @@ -481,7 +483,7 @@ subroutine physics_compatibility_check(dminfo, blockList, streamManager, ierr)

call mpas_pool_get_config(blocklist % configs, 'config_gwdo_scheme', gwdo_scheme)

if (trim(gwdo_scheme) == 'bl_ysu_gwdo') then
if (trim(gwdo_scheme) == 'bl_kim_gwdo') then
maxvar2d_local = -huge(maxvar2d_local)
block => blockList
do while (associated(block))
Expand Down
1 change: 1 addition & 0 deletions src/core_atmosphere/physics/mpas_atmphys_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ subroutine physics_driver(domain,itimestep,xtime_s)
config_sfclayer_scheme

logical, pointer:: config_oml1d
logical, pointer:: config_gwdo_nonhyd, config_kim_tofd
real(kind=RKIND),pointer:: config_bucket_radt

!local variables:
Expand Down
Loading