I’m trying to use ATS–PFLOTRAN to simulate watershed-scale mineral weathering. The reactive transport configuration (chemistry PKs + transport PKs) is taken largely from Xu et al. (2022, WRR ), while my flow model is applied to a different watershed near Copper Creek. The model starts normally, but after ~0.5 simulation days it consistently fails during the chemistry surface PK step.
Below is the error message:

I enabled debug cell for cell 2520, and the logs show:
A snippet of the debug output:

Initially I suspected the issue was caused by cells drying out due to evapotranspiration, which could cause PFLOTRAN chemistry to fail (as mentioned in an earlier discussion thread). However:
This suggests the failure is triggered by extremely low surface saturation combined with the reactive transport configuration from Xu et al. (2022)? but I’m not sure whether the problem lies in:
I also tested a simpler example from the ATS demos (https://github.com/amanzi/ats-demos/blob/ats-demos-1.5/13_integrated_hydro_reactive_transport/integrated_hydro_reactive_transport-superslab.xml). That is, I used the chemistry configuration from the demo while keeping my own flow model. However, the simulation failed with the same issue. My ATS version is 1.5.
Has anyone encountered similar behavior, especially when using PFLOTRAN chemistry on nearly dry surface cells? Any suggestions on stabilizing the chemistry PK under low-saturation conditions would be greatly appreciated.
Thank you in advance!
Best,
To view this discussion visit https://groups.google.com/d/msgid/ats-users/SA0PR09MB6953865EC4BB4DEB7311D9C5A9A3A%40SA0PR09MB6953.namprd09.prod.outlook.com.
Hi Sergi and Ethan,
Thank you both for your replies. I am currently using ATS 1.5.
I checked the corresponding cell in the overland flow PK, and its surface pressure is only a little bit greater than atmospheric:

Regarding the idea of introducing a saturation (or pond depth) “threshold” to prevent chemistry from being called in essentially dry cells—would this be something that can be enabled through an XML parameter? Or would it require modifying and adding functionality in the source code?
I did attempt to update to 1.6 previously, but ran into issues during the geochemical engine installation. I will try again, but if there is a straightforward XML-level parameter controlling this, it would help me continue running the model in the meantime.
Thanks again.
Best,
Xueyuan
Hello,
Attached is my input XML file (v1.5). I am wondering whether there is an XML parameter that can control the saturation threshold (or ponded-depth threshold) for triggering surface chemistry.
In the meantime, I will also work on updating to version 1.6.
Thanks,
Xueyuan
Hello,
Hello all,
I have updated ATS to version 1.6, and I encountered an input-related issue. When I use the PK tree shown below, the setup works fine in version 1.5, but it fails in 1.6.
PK tree:

The error message is:
Evaluator "water_flux" @
"reactive_transport_coupler_next" cannot be created in State.
Verify that (1) SetEvaluator is called, or (2) the name exists in
state->evaluators.
Interestingly, if I change the PK type of the top-level “flow and transport” block from “subcycling MPC” to “weak MPC,” the error disappears and the model runs. However, it still exhibits the same “maximum number of reaction time step cuts” issue that I previously encountered.

I have two questions:
I have attached my input XML files for the 1.6 setup.
Any guidance or suggestions would be greatly appreciated.
Best,
Xueyuan
You received this message because you are subscribed to a topic in the Google Groups "Amanzi-ATS Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ats-users/OVx4oJwwdfA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ats-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ats-users/1ed387bf-40f8-4402-88d4-5c9caa9af3fbn%40googlegroups.com.
Thank you, Sam.
After manually adding the evaluators, the model is able to proceed now. However, I ran into another issue related to the simulation start time.
Specifically, if I do not start at t = 0 but instead start at t = 20 years (after a flow-field spin-up), and use the checkpoint.h5 file from the spin-up run as the initial condition for flow, I encounter the following error (very similar to the one discussed here: https://groups.google.com/g/ats-users/c/AINbJY5-Lpw/m/-Iyix12RBwAJ):
This setup was working in ATS v1.5, but after moving to v1.6 it now fails. If I initialize flow from a checkpoint and start both flow and transport from t = 0, the simulation runs fine. Using the same configuration in a flow-only model also works smoothly. The issue only arises when the transport PK is included and the simulation start time is non-zero.
Is starting the simulation at t = 0 now required in this case? If so, I can try modifying the climate forcing data so that it effectively starts from t = 0.
Best,
Xueyuan