APEX1501 water balance shutdown after crop failure

33 views
Skip to first unread message

Maya Struzak

unread,
Mar 19, 2026, 3:40:34 PMMar 19
to EPIC / APEX Modeling Forum
Hello all,

I am modeling a single-subarea watershed using G&A infiltration. I noticed that under crop failure, my water balance essentially shuts down (Q=0, DPRK=0, WYLD=0, etc.) despite precipitation continuing. I've been able to partially trace this through the source code but wanted to know if anyone has better insight into what exactly is happening.

In future climate scenarios (RCP8.5, 2051-2060 and later) for corn and soy, I observe the following sequence in daily SAD output:

1. Combined T+P climate forcing causes progressive crop failure mid-decade (confirmed via .ACY: crop yield drops from ~3 t/ha to ~0.02 t/ha, water stress reaches 90-100%)
2. As the crop fails, ET collapses to near zero
3. Simultaneously, Q drops to zero and stays at zero for the remainder of the decade despite continued precipitation (PRCP 10-80+ mm events)
4. DPRK, SW, and QRF also drop to zero
6. MUSL = 0 throughout the failure period

I traced the following mechanisms through the source code:

1. HEVP.f90: When crop fails (LAI --> 0, CV --> 0), EAJ --> exp(-PRMT(17)*0.1) ~ 1.0, meaning nearly all PET is allocated to bare soil evaporation. Soil evaporation removes water from the top 0.2m via SEV, limited to SWST - PRMT(5)*S15. This appears to explain SW → 0 over multiple years.

2. HRUNF.f90 calls HGASP.f90 (Green & Ampt), which computes:
   ZI = SATK(ISA) * (SCN/F1 + 1.)
   IF(RX <= ZI) Q1 = 0.
   where F1 = PT - QVOL(IDO)

I have two specific questions about HGASP:

Question 1: What is SCN? It is declared as a real scalar in modparm.f90 but I cannot find where it is assigned a value in MAIN_1501.f90 or any of the subroutines I have access to. Is it read from the soil file, computed from soil properties, or set as a parameter? How does it vary with soil water content?

Question 2: Is QVOL reset to zero at the start of each day? I can see it is accumulated within a day in HGASP (QVOL = QVOL + Q1) and declared in modparm.f90, but I cannot find where it is initialized or reset between days in MAIN_1501.f90. If QVOL carries over between days, F1 could become very large, which would make ZI very small and potentially generate more runoff — the opposite of what I observe.

Other questions

Given SW → 0 under crop failure, is the intended model behavior that:
(a) Very dry soil causes very high infiltration capacity under Green & Ampt (ZI → large), preventing any surface runoff even under large precipitation events?
(b) Something else is causing the Q = 0 behavior that I am not identifying correctly? I am also curious about the negative Q values that sometimes occur. 

I want to confirm whether this is expected APEX behavior under complete crop failure conditions, or whether it indicates a potential model limitation.

I've attached a diagnostic plot showing the time series of various water balance components as well as the biomass, with my different management operations overlaid. I am also happy to share my .SAD outputs or any other files that may be useful. Thank you  for your time. 

Best,
Maya Struzak
PhD Candidate, Civil & Environmental Engineering
Carnegie Mellon University
water_balance_collapse.png

Luca Doro

unread,
Mar 21, 2026, 2:46:38 PMMar 21
to EPIC / APEX Modeling Forum
Dear Maya,

I do not have much spare time available, but if you share your project I can try to understand what is causing the problem.
Which version of APEX are you using?

Luca

Maya Struzak

unread,
Mar 23, 2026, 12:31:39 PM (13 days ago) Mar 23
to EPIC / APEX Modeling Forum
Hi Luca, 

I'm using APEX v.1501. I've attached a link to two project files here, which includes a future scenario (p-rc-base-2041-2050) and the reference (p-rc-base-1990-2000). The failure occurs in the future scenario, which is identical to the reference except for perturbed T and P in the .hly, .dly, and .wp1 files (note that the years are the same in the future weather files as well, and they both share the same spinup 1980-1990). Under the reference scenario, no failure occurs. In the future scenario, Q, WYLD, and nutrient loads drop to zero for corn in certain years. I suspect this might be  related to Green & Ampt infiltration behavior under crop failure conditions but would appreciate your insight.

Thanks for your time.

Best,
Maya

Luca Doro

unread,
Mar 27, 2026, 1:49:17 PM (9 days ago) Mar 27
to EPIC / APEX Modeling Forum
Dear Maya,
I downloaded the files you shared, but none of the ACY files have yields like the one you described in the first message. I can see that yield range between 5 and 1 for the 1990-2000, and between 6 and 0.67 for the 2041-2050 with zero water stress.
Can you provide me with a run that is showing what you described?

To answer to the questions in the first message SCN is the curve number for the current day. QVOL should be calculated every day and accumulated only for outputs. In HGASP, it is accumulated because the subroutine is called from within a loop that continues until the conditions is met.
About the other questions, I need some more time (I am not very familiar with the part of the code based on the Green and Ampt approach), but I can tell that negative runoff values should not be possible (and are physically meaningless). 

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