Surface flow work arounds

56 views
Skip to first unread message

Adam Haynes

unread,
Jun 10, 2025, 4:45:46 PMJun 10
to pflotran-users
Hello all, 

I was hoping to put together some surface flow workarounds for PFLOTRAN, as it is currently not designed to simulate surface flow. Right now, my approach is generally as follows:
  1. Create an additional 'atmospheric' layer(s) at the top of my domain.
  2. Subsurface flow, Richards mode
  3. Set POROSITY to 0.99, PERM to 1.0e-8
  4. RESIDUAL_SATURATION 0.01d0, M 0.75d0, ALPHA 0.0009 (I have not nailed these down yet). 
  5. Set pressure as seepage.  
For more context, I am trying to simulate a coastal wetland in 2D, so I have variable flow and saturation. The main issue that I have is that I am unable to get the 'atmospheric' layer to drain well enough when the water level drops/low tide. 

This is open to all in hopes that when others search for 'Surface flow' in this forum, they can get a clear answer. Please post your attempts, failures, successes, ideas, rants, etc!

Thanks!

Bisht, Gautam

unread,
Jun 10, 2025, 6:01:08 PMJun 10
to pflotra...@googlegroups.com

It appears that you aren’t primarily interested in simulating the lateral movement of surface water, but rather in simulating the infiltration of surface water into the subsurface or exfiltration of subsurface water. If that is the case, how about applying a time- and space-varying seepage boundary condition on the top face of cells?

 

-Gautam

 

From: 'Adam Haynes' via pflotran-users <pflotra...@googlegroups.com>
Date: Tuesday, June 10, 2025 at 1:45
PM
To: pflotran-users <pflotra...@googlegroups.com>
Subject: [pflotran-users: 8424] Surface flow work arounds

Check twice before you click! This email originated from outside PNNL.

 

--
You received this message because you are subscribed to the Google Groups "pflotran-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pflotran-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/pflotran-users/a6a91a35-7841-4b4e-81fb-bb8a03202d2en%40googlegroups.com.

Adam Haynes

unread,
Jun 11, 2025, 1:26:12 PMJun 11
to pflotran-users
Hi Gautum, 

I do have some interest in lateral flow, as there is terrestrial groundwater discharge, which produces some overland flow from an upland position into the marsh platform. 

As for a time- and space-varying seepage boundary condition, I believe I am applying that. The .in file below shows an example of my work, without the 'atmospheric' layer, where I have assigned a seepage condition to the 'marsh_surface' and 'top_surface' with a flow condition along the x direction, depending on the calculated inundation rates. Is this along the lines of what you are referring to?

Adam 
pflotran_output_hourly.in

Bisht, Gautam

unread,
Jun 11, 2025, 2:16:01 PMJun 11
to pflotra...@googlegroups.com

Hi Adam,

 

The inputdeck that you shared is precisely what I had in mind.

 

Regarding lateral transport in surface flow, you’ll need to make an additional change that you initially proposed. You need to implement a different physics (e.g., kinematic wave, diffusion wave, shallow water equation, etc) for the lateral transport of water between grid cells within the  ‘atmospheric’ layer(s), otherwise the lateral transport will use the Richards equation.

 

-Gautam

 

Adam Haynes

unread,
Jun 16, 2025, 5:32:21 PMJun 16
to pflotran-users
Hi Gautam,

Would you be able to point me in the direction of an example of how to do this or provide a simple one? I am unsure how to properly incorporate other physics into my set up.

Thanks for all your help so far!

Bisht, Gautam

unread,
Jun 20, 2025, 2:42:56 PMJun 20
to pflotra...@googlegroups.com

Hi Adam,

 

I'm sorry for not getting back to you sooner. Implementing new physics in PFLOTRAN will not be a straightforward process. Before you make any code modifications, you should understand PFLOTRAN’s implementation of the Richard equations (i.e., the residual and the jacobian equation), determine the surface flow model that you want to implement, and write down all the equations involved. Only then should you consider modifying the code.

 

-Gautam

 

Dipankar Dwivedi

unread,
Jun 20, 2025, 2:51:00 PMJun 20
to pflotra...@googlegroups.com, pflotra...@googlegroups.com
Hey Gautam,

What are your thoughts on implementing time-varying seepage flow conditions at the top of each grid cell? This approach would essentially be anlogous to applying the outputs from the surface flow model to PFLOTRAN's top boundary. Since this data is based on observations, it should also account for both exfiltration and infiltration. 

Looking forward to hearing your insights!

Best regards 
Dipankar


Sent from my iPhone

On Jun 20, 2025, at 11:42 AM, 'Bisht, Gautam' via pflotran-users <pflotra...@googlegroups.com> wrote:



Bisht, Gautam

unread,
Jun 20, 2025, 4:33:27 PMJun 20
to pflotra...@googlegroups.com, pflotra...@googlegroups.com

Hi Dipankar,

 

I agree with you that applying a time-varying seepage BC on top of each grid cell should be good enough to simulate subsurface flow + BGC.

 

-Gautam

 

Dipankar Dwivedi

unread,
Jun 20, 2025, 4:44:43 PMJun 20
to pflotra...@googlegroups.com, pflotra...@googlegroups.com
Thanks Gautam. 
I know Adam is attempting to simulate tidal effects, which closely resembles the work done by Steve Yabusaki. Implementing surface flow in PFLOTRAN will likely be quite complex, and parameterization presents another challenge. I recommend that Adam consider using Steve’s approach instead. You might want to check the Beaver Creek paper published in WRR in 2020 for reference.

Sent from my iPhone

On Jun 20, 2025, at 1:33 PM, 'Bisht, Gautam' via pflotran-users <pflotra...@googlegroups.com> wrote:



Mills, Richard Tran

unread,
Jun 20, 2025, 8:57:00 PMJun 20
to pflotra...@googlegroups.com
Hi Folks,

Hopefully this isn't too tangential as to be hijacking this thread, but I have a similar interest in being able to explicitly simulate surface water using PFLOTRAN (in the context of the new Terrestrial Wetland Function and Resilience SFA being led by Argonne), and I'd like to ask what people can tell me about previous attempts at this (since deprecated) in PFLOTRAN. I am aware of two different implementations (both based on the diffusion wave approximation to the shallow water equations) that used to be supported in the code:

  1. The work that Gautam started at ORNL way back in the day, which added a separate surface process model. I think (?) that the most recent version of this code still lives in the PFLOTRAN repo in src/pflotran/.deprecated/surface_2020-01-07.
  2. The work that Nate Collier did that added an "inline" option for surface flow by essentially rolling the treatment of the surface water into a boundary condition for subsurface flow at the top of the domain (the ground surface). This is described in the ORNL tech report at https://info.ornl.gov/sites/publications/files/Pub70491.pdf

I know that the diffusion wave approximation has several problems (I recall discussing them at some length with Nate at a conference, when he had become convinced that we should actually just be solving the full shallow water equations), but I think that a diffusion wave model will be more than adequate for many situations, and I'd like to perhaps try using this in some simulations for my Wetland SFA.

I suppose what I'm wondering is why the above approaches ended up being abandoned: was it simply no one having time to maintain these, or due to flaws in the models that limited their utility?

Actually: Poking around in the code just now, I'm not even sure if approach #2 has been abandoned! There is still a non-deprecated regression test at

  regression_tests/surfaceflow/inlinesurface/surface_dirichlet.in

and I think I see that all of the code that Nate wrote is still present in the tip of the PFLOTRAN master branch. Is this still working, but simply forgotten or having had no one needing to use it for years? If it needs a bit of maintenance work, I think I might be able to justify putting some time into this for my SFA.

Best regards,
Richard


Sent: Friday, June 20, 2025 1:44 PM
Subject: Re: [pflotran-users: 8453] Surface flow work arounds
 
This Message Is From an External Sender
This message came from outside your organization.
 

Mills, Richard Tran

unread,
Jul 23, 2025, 12:37:33 AMJul 23
to pflotra...@googlegroups.com
Hi Folks,

I am still interested in possibly doing something with surface water simulation in PFLOTRAN for the Wetlands SFA at Argonne, and I'm wondering if anyone has anything they can add about the various attempts that have been made to incorporate this into PFLOTRAN. I'm aware of the work that Gautam started at ORNL, and the "inline" version that Nate Collier did (that I think is still actually in the main PFLOTRAN branch and works, but no one is using?). I also now recall an effort led by Runjian Wu some years ago and described in the paper at https://www.sciencedirect.com/science/article/pii/S1364815221000025; I don't know why that was done in a fork separate from the PFLOTRAN repo, or whether it is still used/supported. Any hints that people can provide will be appreciated!

I suppose I should try out Nate's inline version myself and maybe ping him about it.

Thanks,
Richard


From: Mills, Richard Tran <rtm...@anl.gov>
Sent: Friday, June 20, 2025 4:14 PM
To: pflotra...@googlegroups.com <pflotra...@googlegroups.com>
Reply all
Reply to author
Forward
0 new messages