Zero surface velocity even with ponded depth and discharge

43 views
Skip to first unread message

Sam Shaheen

unread,
Jun 19, 2026, 4:06:08 PM (8 days ago) Jun 19
to Amanzi-ATS Users
Hi ATS users,
Looking over some outputs from a model, surface water velocities (output as surface-velocity.x / surface-velocity.y) are almost always 0, in both visualization files and daily average velocities for the surface domain. This is the case even though many cells have non-zero ponded water depth and discharge/runoff is always non-zero. I am struggling to see how this makes sense as it seems some water must be moving on the surface. Am I writing the correct variable, or is this value sometimes rounded to 0?
Thanks,
Sam

Bo Gao

unread,
Jun 19, 2026, 4:56:50 PM (8 days ago) Jun 19
to Sam Shaheen, Amanzi-ATS Users
Hi Sam,

First, the velocity at surface cells in vis files is a reconstructed quantity, not true velocity solved by flow equations. The true velocity or flux is solved on edges (cell faces) between cells. For each surface cell, the cell velocity is back calculated from total normal fluxes from the cell faces. In the code, there is a variable called "min ponded depth for velocity calculation" with a default value 0.01m. If ponded depth > the value of this variable, the cell velocity will show the value calculated from the total normal fluxes, otherwise it will show 0. 
Second, normally we use seepage boundary conditions at a surface boundary and zero flux boundary conditions for all subsurface boundaries. So the discharge recorded in observation files may also be from subsurface cells, where the subsurface water is forced to the surface outlet boundary and counted as surface discharge. 

Hopefully this helps.

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/1ce242ca-9f8e-43bf-9340-bb25bfb33a61n%40googlegroups.com.

Sam Shaheen

unread,
Jun 19, 2026, 10:17:17 PM (7 days ago) Jun 19
to Amanzi-ATS Users
Thank you! Ponded depth appears to be the answer. I see there's ways to adjust this in the input specs.
Best,
Sam

Ethan Coon

unread,
Jun 21, 2026, 6:21:14 AM (6 days ago) Jun 21
to Sam Shaheen, Amanzi-ATS Users
I forget why this is, but Daniil may know?  

Ethan


-------------------------------------------------------------------
Ethan Coon
917-969-6831
https://www.ornl.gov/staff-profile/ethan-t-coon
-------------------------------------------------------------------


Sam Shaheen

unread,
Jun 24, 2026, 4:59:18 PM (3 days ago) Jun 24
to Amanzi-ATS Users
Hi Bo (and Ethan),
I'm encountering another issue here where writing a daily observation for surface-velocity shows the values only update when a visualization is written (e.g., the observation held values constant for 90 days until the next visualization was written). That kind of makes sense to me since it's reconstructed and (to my knowledge) only being used in the visualization outputs. Is there a good fix to get surface-velocity to update more independently? 
Thanks,
Sam

Bo Gao

unread,
Jun 24, 2026, 6:14:09 PM (3 days ago) Jun 24
to Sam Shaheen, Amanzi-ATS Users
Hi Sam,

Yes, I see the CalculateDiagnostics function (where cell velocity is calculated) will only be called if visualization is requested. We can move that part code to observe, but I am not sure whether this is the best way to do it, or whether it would be better to update cell velocity calculation with time step. I'll need to talk with Ethan. You can create a ticket in ats repo for this request. If you use it right now, can you reduce the visualization interval first? ATS also has a tool to slice visualization files by time and by variables, you can find it at $ATS_SRC_DIR/tools/utils/resample_vis.py

Best,
Bo

Reply all
Reply to author
Forward
0 new messages