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
2 changes: 1 addition & 1 deletion src/core_atmosphere/physics/Registry_noahmp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<dim name="nSnowLevels" definition="3"
description="The number of snow layers used by the NOAHMP land-surface scheme"/>

<dim name="nzSnowLevels" definition="7"
<dim name="nzSnowLevels" definition="nSoilLevels+nSnowLevels"
description="The number of snow layer depths used by the NOAHMP land-surface scheme"/>

</dims>
Expand Down
14 changes: 10 additions & 4 deletions src/core_atmosphere/physics/mpas_atmphys_control.F
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 1 addition & 5 deletions src/core_atmosphere/physics/mpas_atmphys_driver_lsm_noahmp.F
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
25 changes: 16 additions & 9 deletions src/core_atmosphere/physics/mpas_atmphys_initialize_real.F
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
Expand Down Expand Up @@ -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))
Expand All @@ -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)

Expand Down