MPC for coupling energy and water in the subsurface without freezing

37 views
Skip to first unread message

Sergi Molins Rafa

unread,
Mar 30, 2025, 8:31:32 PMMar 30
to Amanzi-ATS Users
Hi all, 

We are trying to set up a simulation coupling energy and water in an integrated hydrology problem, where temperature in the meteorological forcing drops below freezing, which drives temperature in the shallow subsurface below freezing.  However, for now we want to prevent groundwater from turning to ice even if temperature drops below zero. What would be the best way to accomplish this? 

ats-demos/05_ecohydrology/simple_energy.xml is a good reference but it is currently throwing an error (Evaluator "surface-slope_magnitude" @ "" cannot be created in State.) on master. 

Any clues would be appreciated. 

Thanks

Sergi

Ethan Coon

unread,
Mar 31, 2025, 10:48:31 AMMar 31
to Sergi Molins Rafa, Amanzi-ATS Users
Hi Sergi,

Try running that through the input converter xml-1.5-master.py?  If it doesn't work, it's probably just a matter of adding a "surface-slope_magnitude" evaluator to the evaluator list.  The type of that evaluator is probably just "slope magnitude" but you'd want to confirm in the user guide.  I haven't updated demos for master yet -- that gets done at release time.

Ethan

Ethan

--
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/CAP9Hfk4Fgaymus9Xyd9Kz23RT4DhwX1bwMmxsJjOSo-Vkmi64Q%40mail.gmail.com.


--

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

Bo Gao

unread,
Mar 31, 2025, 11:00:23 AMMar 31
to Ethan Coon, Sergi Molins Rafa, Amanzi-ATS Users
Hi Sergi and Ethan,

I guess the evaluator type Sergi needs for "surface-slope_magnitude" is probably "meshed elevation"? It will calculate slope for meshes. Slope is needed for incident shortwave, and surface conductivity (and/or something else?).

Best,
Bo Gao

Sergi Molins Rafa

unread,
Mar 31, 2025, 4:01:30 PMMar 31
to Bo Gao, Ethan Coon, Amanzi-ATS Users
xml-1.5-to-master.py does not capture this case. 

"meshed elevation" type seems to work but then ran into an assert error. 

what():  Assertion: "dWC_dT_block_ != Teuchos::null" failed in file: /SSD4/ats/ats-dev/repos/amanzi/src/physics/ats/src/pks/mpc/mpc_subsurface.cc, at line: 384

Maybe the evaluator is set up incorrectly? It is not completely clear from the user guide

      <ParameterList name="surface-slope_magnitude" type="ParameterList">
        <Parameter name="evaluator type" type="string" value="meshed elevation" />
        <Parameter name="region" type="string" value="surface domain" />
      </ParameterList>


Wyatt Tatge

unread,
Jun 17, 2025, 4:18:23 PMJun 17
to Amanzi-ATS Users
Sergi,
What was the solution to this error? I am getting this same error attempting to couple energy and water using master. 
Wyatt

Sergi Molins Rafa

unread,
Jun 17, 2025, 4:26:09 PMJun 17
to Wyatt Tatge, Amanzi-ATS Users
I ended up using the permafrost model etc as in the full energy example and added an arbitrarily low reference temperature in the appropriate evaluator

<ParameterList name="capillary pressure of ice-water" type="ParameterList">
    <Parameter name="reference temperature [K]" type="double" value="200.0" />

This seemed to keep water from freezing. 



Reply all
Reply to author
Forward
0 new messages