Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Calculating infiltration in NoahMP LSM (module_sf_noahmplsm)

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


New member
I've just updated from WRF v3.8.1 to v4.0.1 and I'm confused by a change to module_sf_noahmplsm. Within the SOILWATER subroutine, it looks like INFIL is now called twice when OPT_RUN is set to 3 (the default). It is called on line 6985 and 7026. I had previously made some changes to NoahMP that worked in v3.8.1, but now break the model is v4.0.1 due to an unbalanced water budget (ERRWAT > 0.1).

I've traced the issue to these new lines of code. There is no water budget issue in the default version of 4.0.1, but I just wanted to check if anyone knows why INFIL is now called twice. And if that means the previously calculated value of RUNSRF (surface runoff) from line 6985 is now overwritten with the value from the call on 7026.

Thanks in advance!
I wrote to the developer of this code, and the one who implemented the change. They said that this change was added primarily to deal with long time steps with heavy precipitation. The first INFIL call checks how much infiltration will occur in the full time step. Then, the number of sub time step iterations is determine based on if this infiltration is above a critical value. The second INFIL is within a sub time step loop and calculates this reduced time step infiltration. Hopefully that's helpful. If it's causing problems for you, and the change isn't important for your simulation, you could always reverse the modification and see if that works for you!