Numerical divergence in 3D tracer transport simulation during late-thaw period

92 views
Skip to first unread message

chen ding

unread,
Mar 9, 2026, 11:09:01 AMMar 9
to Amanzi-ATS Users

Hi all,

I am modeling tracer transport under freeze-thaw processes in a small catchment. 

Setup: Initial tracer load of 1,000 mol in the 0–30 cm streambed layer during the freezing phase. 

The Problem: The concentration evolution is consistent during the early thaw, but explodes into unphysical values (dozens of orders of magnitude too high) during the late-thaw stage. 

hlg_carbon.jpgComparison: Interestingly, running the exact same input files on a 2D grid produces reasonable results without any divergence.

2D_carbon.png

Has anyone encountered similar issues where 3D simulations fail during the phase transition while 2D simulations remain stable?

Any suggestions are appreciated. 

Thanks, 

Chen

Bo Gao

unread,
Mar 9, 2026, 11:12:40 PMMar 9
to chen ding, Amanzi-ATS Users
Hi Chen,

What's your "liquid water content key" in your subsurface transport pk? The code uses total water content by default, but under freezing conditions, it should be unfrozen water. So you need to explicitly define a "unfrozen water content" in the state and use it as the value of "liquid water content key" in your subsurface transport pk. Likewise, a "surface unfrozen water content" should be defined and added to the surface transport pk. 

Best,
Bo Gao

--
You received this message because you are subscribed to the Google Groups "Amanzi-ATS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ats-users/060892d0-6d55-4de4-ac8a-31b20589da5an%40googlegroups.com.

Bo Gao

unread,
Mar 9, 2026, 11:17:19 PMMar 9
to chen ding, Amanzi-ATS Users, Neelarun Mukherjee, Coon, Ethan
Neel helped us make an xml example for permafrost transport, but I am not sure whether Ethan has merged that example to ats demos. Neel, can you please direct Chen to your PR? Thanks.

chen ding

unread,
Mar 10, 2026, 3:42:55 AMMar 10
to Amanzi-ATS Users

Hi Bo,

Thank you very much for the insightful suggestion. I reviewed my input file, but I couldn't find a parameter explicitly named  "liquid water content key" within my subsurface transport PK.

Could you please clarify if you were referring to the "saturation liquid key" 

 <Parameter name="saturation liquid key" type="string" value="saturation_liquid" />

If it is not the  "saturation liquid key"  , do I need to manually register and add a new   "liquid water content key"  to the transport PK to ensure it specifically uses the unfrozen/liquid water content for the transport calculations?

Best regards,

Chen

Neelarun Mukherjee

unread,
Mar 10, 2026, 5:55:55 AMMar 10
to chen ding, Amanzi-ATS Users
Hi Chen, 

This is not yet merget to the main demos. 
Here, I defined the "liquid water content key" as "liquid_water_content", which is defined in evaluator as a product of molar_density_liquid * cell_volume * porosity * saturation_liquid. (see here). Similarly for surface-liquid_water_content" is defined as surface-molar_density_liquid *  surface-cell_volume * surface-ponded_depth * surface-unfrozen_fraction. 

-Neel.


chen ding

unread,
Mar 10, 2026, 8:52:14 AMMar 10
to Amanzi-ATS Users

Hi Neel,

Thanks for the clarification and the link! This is very helpful. I will try this setup in my simulation.

Best, 

Chen

Coon, Ethan

unread,
Mar 10, 2026, 10:08:35 AMMar 10
to Neelarun Mukherjee, chen ding, Amanzi-ATS Users
Whups, I hadn’t seen this PR — will get it in ASAP.  Thanks Neel!

Ethan

From: ats-...@googlegroups.com <ats-...@googlegroups.com> on behalf of Neelarun Mukherjee <neel...@gmail.com>
Date: Tuesday, March 10, 2026 at 3:56 AM
To: chen ding <ding...@gmail.com>
Cc: Amanzi-ATS Users <ats-...@googlegroups.com>
Subject: [EXTERNAL] Re: Numerical divergence in 3D tracer transport simulation during late-thaw period

This Message Is From an Untrusted Sender
You have not previously corresponded with this sender. If suspicious, use the Report Phish button in Outlook.
 

chen ding

unread,
May 8, 2026, 8:13:51 AMMay 8
to Amanzi-ATS Users
Hi everyone,

Following Neel's XML configuration, I have migrated my simulation from ATS-1.5 to the Master branch. While the migration resolved some previous numerical issues, I am now encountering a significant bottleneck regarding the simulation speed and convergence.

The most critical issue is that the overall timesteps in the Master branch are substantially smaller than those in version 1.5 throughout the simulation. Specifically, at around Day 298 (when temperatures is near the freezing point), the model fails to converge. The timestep drops drastically from 1e-5 to 1e-9, effectively causing the simulation to stall or crash. In contrast, version 1.5 maintained a much healthier timestep of approximately 0.03 at the same physical time.

I noticed that in the xml of Master branch, the MPC  now defaults to "coupled flow and transport", whereas version 1.5 utilized the "subcycling MPC". Furthermore, in my 1.5 configuration, the transport PK had the parameter <Parameter name="transport subcycling" type="bool" value="false"/>.

I suspect that these changes might be causing the computational issues in the master branch.

I have attached the XML input files for both version 1.5 and the Master branch, along with part of the corresponding out.log from the Master branch run for your review.

Any suggestions on how to tune the coupler or the transport settings to recover the performance seen in 1.5 would be greatly appreciated.
Thank you!

Chen
ATS-1.6_out_part.log.txt
ATS-1.6_input.xml.xml
ATS-1.5_input.xml.xml

Bo Gao

unread,
May 8, 2026, 11:16:21 PMMay 8
to chen ding, Neelarun Mukherjee, Amanzi-ATS Users
Hi Chen,

The couple flow-transport MPC should not affect simulation speed, it is inherited from the subcycling MPC and set some alias evaluators. Your problem is not simulation speed, but model crashing. I think the reason is not mainly due to the ATS version, but because of some settings in your input. For instance, under freezing conditions, we prefer to use "XXX, three components" evaluators but not "XXX, two components" (see "surface-area_fractions", "snow-source_sink", "surface-albedos"). @Neelarun Mukherjee Do you also use "two components" in your input file? There are also some other redundant settings, for example, "flux key" should be "water flux key", but since the code has default so actually the "flux key" statement in your input file is redundant. I would recommend using an Arctic input file example (from ats-regression-test or ats-demo or ats-short-course) to correct some settings in your v1.6 input file.

Best,
Bo

chen ding

unread,
May 11, 2026, 4:11:18 AMMay 11
to Amanzi-ATS Users

Hi Bo,

Thank you for the suggestions!

The issue is now resolved. I updated the input file by referencing the ats-demo examples as you suggested, and the model is now converging correctly and running smoothly on the Master branch.

Thanks again for your help!

Best regards,

Chen

Reply all
Reply to author
Forward
0 new messages