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)