Changing number of soil layers

20 views
Skip to first unread message

Max Cooper

unread,
Jan 2, 2026, 3:21:17 PMJan 2
to wrf-hydro_users
Hi all,

I am working to incorporate the POLARIS dataset into WRF-Hydro for high resolution soil moisture simulations. I would like to use all six layers from it instead of e.g. averaging multiple layers together or setting all layers to the top layer. So far I've modified the hydro and hrldas namelists, and modified the wrf_hydro_gis_preprocessor Python scripts and my own scripts appropriately to create six layer inputs. Despite these changes, the outputs in LDASOUT are still four layers.

I  traced down the output behavior to hardcoded 4 layers in the ldas_output code and initLdasDict and modified those to use nsoil from the namelist and achieved some outputs. However, now additional issues pop up such as getting "WARNING (SSTEP): Negative smc adjustment" messages in the first timestep, despite having positive SMC for all layers in wrfinput. From what I can tell this is due to using -DSPATIAL_SOIL=1. My soil_properties.nc does have all six layers in, but the code loading each property is:

do isoil = 1,4
...
end do

I've found other instances of the 4 layers hardcoded, e.g. loading DZS with count=(/4/).

Are there any other places where I will run into this?

Thanks and Happy New Year,
Max

aubrey

unread,
Jan 4, 2026, 10:44:54 PMJan 4
to wrf-hydro_users, Max Cooper
Hi Max:
We implemented > 4 soil layers and POLARIS-derived parameters a few years back for the National Water Model, but the changes were never accepted by NOAA into the operational model. So I do have a branch of the code that fixes all of the nsoil=4 hardcodes. I intended to get these edits rolled back into the main code, but haven't set aside the time for it yet. I can revisit this code to see what the lift would be to get it caught up to current.

I'm not sure if your plan is to use the depth-varying parameters in POLARIS. One of the objections to using these parameters in the operational NWM was that the theta-based version of Richards used by Noah-MP is not suitable for discontinuities in parameters across layers. We did not notice any instabilities when we tested these parameters, but I wanted to make sure you are aware of this concern - you will likely get pushback if publishing. I have used POLARIS with WRF-Hydro in various projects with depth-mean parameters.

I'll keep you posted on the code branch - I'll see if I can get to that this week.

Thanks!
Aubrey

Max Cooper

unread,
Jan 6, 2026, 2:34:49 PMJan 6
to wrf-hydro_users, aubrey, Max Cooper
Dear Aubrey,

Thank you for the information! I've continued editing of the hardcodes, so comparing the branches will be useful to see if I missed any. 

My plan is to use the parameters at each depth rather than any averaging for e.g., if there is a clay layer where permeability drops. Thanks for the information on the instabilities. I was also wondering on if there are any instabilities that occur with varying the transmissivity power law exponent spatially?

Best,
Max

Aubrey Dugger

unread,
Jan 6, 2026, 2:55:54 PMJan 6
to Max Cooper, wrf-hydro_users
Hi Max:
The concern with the depth-varying soil parameters was more that it violates the constraints of the theta form of Richards, so you will likely get pushback if publishing (even if things seem to run OK). But your call. At some point there was a mixed form of Richards floating around for Noah-MP, but I'm not sure if that ever made it into the official code.

We regularly calibrate the NEXP parameter for the transmissivity profile for lateral flow and have not noticed any issues with it.

Thanks!
Aubrey
--
-----------------------------------------------------------
Aubrey Dugger
NCAR Research Applications Laboratory
Office: 303-497-8418, Cell: 310-663-5115

Max Cooper

unread,
Jan 9, 2026, 12:42:42 PM (12 days ago) Jan 9
to wrf-hydro_users, aubrey, wrf-hydro_users, Max Cooper
Dear Aubrey,

Right now it is an internal use, but we would eventually like to publish (and I would like the physics model to be appropriate in general). Could you direct me to some references/discussions of these constraints? I could get around to adding that mixed form in if it is findable.

Here are my efforts to remove the hardcodes: https://github.com/NCAR/wrf_hydro_nwm_public/commit/bb88ee9303d86739eebf2948dc8300e6278d29b5 . The modifications are mainly to my configuration (uncoupled, NoahMP, spatial soil), but I did go through some other files (rest of NoahMP) and the non spatial soil configuration. The missing component that I did not change is the writing of the LSMOUT files because of how that code is structured. I would still like to compare to the branch and then can submit a PR if it is desired.

Thanks for the information regarding NEXP!

Best,
Max
Reply all
Reply to author
Forward
0 new messages