diff --git a/src/core_atmosphere/physics/Registry_noahmp.xml b/src/core_atmosphere/physics/Registry_noahmp.xml
index 89d980f724..ec4c7b030a 100644
--- a/src/core_atmosphere/physics/Registry_noahmp.xml
+++ b/src/core_atmosphere/physics/Registry_noahmp.xml
@@ -16,7 +16,7 @@
-
diff --git a/src/core_atmosphere/physics/mpas_atmphys_control.F b/src/core_atmosphere/physics/mpas_atmphys_control.F
index b3162019e5..5867bcca53 100644
--- a/src/core_atmosphere/physics/mpas_atmphys_control.F
+++ b/src/core_atmosphere/physics/mpas_atmphys_control.F
@@ -372,10 +372,16 @@ subroutine physics_registry_init(mesh,configs,sfc_input)
case("sf_noah","sf_noahmp")
!initialize the thickness of the soil layers for the Noah scheme:
do iCell = 1, nCells
- dzs(1,iCell) = 0.10_RKIND
- dzs(2,iCell) = 0.30_RKIND
- dzs(3,iCell) = 0.60_RKIND
- dzs(4,iCell) = 1.00_RKIND
+ dzs(1,iCell) = 0.05_RKIND
+ dzs(2,iCell) = 0.10_RKIND
+ dzs(3,iCell) = 0.10_RKIND
+ dzs(4,iCell) = 0.10_RKIND
+ dzs(5,iCell) = 0.30_RKIND
+ dzs(6,iCell) = 0.35_RKIND
+ dzs(7,iCell) = 0.50_RKIND
+ dzs(8,iCell) = 1.00_RKIND
+ dzs(9,iCell) = 1.00_RKIND
+ dzs(10,iCell) = 1.50_RKIND
enddo
case default
diff --git a/src/core_atmosphere/physics/mpas_atmphys_driver_lsm_noahmp.F b/src/core_atmosphere/physics/mpas_atmphys_driver_lsm_noahmp.F
index 7b93e7cf62..e2eb8a8c55 100644
--- a/src/core_atmosphere/physics/mpas_atmphys_driver_lsm_noahmp.F
+++ b/src/core_atmosphere/physics/mpas_atmphys_driver_lsm_noahmp.F
@@ -842,14 +842,10 @@ subroutine lsm_noahmp_toMPAS(diag_physics,diag_physics_noahmp,output_noahmp,sfc_
snicexy(ns,i) = mpas_noahmp%snicexy(i,n)
snliqxy(ns,i) = mpas_noahmp%snliqxy(i,n)
enddo
- do ns = 1,nsnow
+ do ns = 1,nzsnow
n = ns - nsnow
zsnsoxy(ns,i) = mpas_noahmp%zsnsoxy(i,n)
enddo
- do ns = nsnow+1,nzsnow
- n = ns - nsoil + 1
- zsnsoxy(ns,i) = mpas_noahmp%zsnsoxy(i,n)
- enddo
enddo
diff --git a/src/core_atmosphere/physics/mpas_atmphys_initialize_real.F b/src/core_atmosphere/physics/mpas_atmphys_initialize_real.F
index f67ed9a87a..2fedd365b5 100644
--- a/src/core_atmosphere/physics/mpas_atmphys_initialize_real.F
+++ b/src/core_atmosphere/physics/mpas_atmphys_initialize_real.F
@@ -304,8 +304,8 @@ subroutine init_soil_layers_depth(mesh, fg, dims, configs)
call mpas_pool_get_config(configs, 'config_nsoillevels', config_nsoillevels)
- if(config_nsoillevels .ne. 4) &
- call physics_error_fatal('NOAH lsm uses 4 soil layers. Correct config_nsoillevels.')
+ !if(config_nsoillevels .ne. 4) &
+ ! call physics_error_fatal('NOAH lsm uses 4 soil layers. Correct config_nsoillevels.')
do iCell = 1, nCellsSolve
iSoil = 1
@@ -318,10 +318,16 @@ subroutine init_soil_layers_depth(mesh, fg, dims, configs)
enddo
do iCell = 1, nCellsSolve
- dzs(1,iCell) = 0.10_RKIND
- dzs(2,iCell) = 0.30_RKIND
- dzs(3,iCell) = 0.60_RKIND
- dzs(4,iCell) = 1.00_RKIND
+ dzs(1,iCell) = 0.05_RKIND
+ dzs(2,iCell) = 0.10_RKIND
+ dzs(3,iCell) = 0.10_RKIND
+ dzs(4,iCell) = 0.10_RKIND
+ dzs(5,iCell) = 0.30_RKIND
+ dzs(6,iCell) = 0.35_RKIND
+ dzs(7,iCell) = 0.50_RKIND
+ dzs(8,iCell) = 1.00_RKIND
+ dzs(9,iCell) = 1.00_RKIND
+ dzs(10,iCell) = 1.50_RKIND
iSoil = 1
zs(iSoil,iCell) = 0.5_RKIND * dzs(iSoil,iCell)
@@ -409,8 +415,8 @@ subroutine init_soil_layers_properties(mesh, fg, dminfo, dims, configs)
call mpas_log_write('Error in interpolation of sm_fg to MPAS grid: num_sm = $i', messageType=MPAS_LOG_CRIT, intArgs=(/num_sm/))
endif
- if(config_nsoillevels .ne. 4) &
- call physics_error_fatal('NOAH lsm uses 4 soil layers. Correct config_nsoillevels.')
+ !if(config_nsoillevels .ne. 4) &
+ ! call physics_error_fatal('NOAH lsm uses 4 soil layers. Correct config_nsoillevels.')
if(.not.allocated(zhave) ) allocate(zhave(nFGSoilLevels+2,nCellsSolve) )
if(.not.allocated(st_input)) allocate(st_input(nFGSoilLevels+2,nCellsSolve))
@@ -429,7 +435,8 @@ subroutine init_soil_layers_properties(mesh, fg, dminfo, dims, configs)
sm_input(ifgSoil+1,iCell) = sm_fg(ifgSoil,iCell)
enddo
- zhave(nFGSoilLevels+2,iCell) = 300._RKIND/100._RKIND
+ ! Change this line from 300 to 600:
+ zhave(nFGSoilLevels+2,iCell) = 600._RKIND/100._RKIND
st_input(nFGSoilLevels+2,iCell) = tmn(iCell)
sm_input(nFGSoilLevels+2,iCell) = sm_input(nFGSoilLevels,iCell)