Question about coweeta_ats_input_file

12 views
Skip to first unread message

Chuyang Liu

unread,
Nov 5, 2025, 2:00:09 PMNov 5
to Amanzi-ATS Users
Hi there,

Many thanks for the detailed demos in the new ATS short-course repository—I was able to follow most of them successfully. After working through this notebook: https://github.com/amanzi/ats-short-course/blob/ats-short-course-20250908/05_model_setup/4-coweeta_ats_input_file.ipynb

I generated the ATS input files and ran:  mpirun -n 6 ats Coweeta-steadystate.xml

I then encountered the following error:

libc++abi: terminating due to uncaught exception of type Errors::Message:
Evaluator "surface-precipitation_rain" @ "" cannot be created in State.
Verify (1) SetEvaluator is called or (2) name exists in state->evaluators.

Could you advise on how to resolve this? Any guidance would be greatly appreciated.

Thanks,

Chuyang



Rathore, Saubhagya

unread,
Nov 5, 2025, 2:05:17 PMNov 5
to Chuyang Liu, Amanzi-ATS Users
Hi Chuyang,

It seems like there is a mismatch between variable name for rain defined in the State where you prescribe constant rainfall rate and that defined in the Observation where you to record it.

Thanks,
Saubhagya

From: ats-...@googlegroups.com <ats-...@googlegroups.com> on behalf of Chuyang Liu <CL...@lbl.gov>
Date: Wednesday, November 5, 2025 at 2:00 PM
To: Amanzi-ATS Users <ats-...@googlegroups.com>
Subject: [EXTERNAL] Question about coweeta_ats_input_file

This Message Is From an External Sender
This email was sent from a non-ORNL address. If suspicious, use the Report Phish button in Outlook.
 
--
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/7d87d0d8-5c27-4fbb-a458-e0a36da3a881n%40googlegroups.com.

Chuyang Liu

unread,
Nov 5, 2025, 2:21:32 PMNov 5
to Amanzi-ATS Users
Hi Saubhagya,

Many thanks for the prompt reply. Following your suggestions, I noticed that in the ats-input-spec–generated XML file, surface-precipitation_rain was not defined under State, but it was referenced in the Observation section. I manually provided a constant value for surface-precipitation_rain, which resolved that issue, but then I encountered a new error related to snow-precipitation:


libc++abi: terminating due to uncaught exception of type Errors::Message:
Evaluator "snow-precipitation" @ "" cannot be created in State.

Verify (1) SetEvaluator is called or (2) name exists in state->evaluators.


After manually adding snow-precipitation, I received another similar error for surface-evaporation:


libc++abi: terminating due to uncaught exception of type Errors::Message:
Evaluator "surface-evaporation" @ "" cannot be created in State.

Verify (1) SetEvaluator is called or (2) name exists in state->evaluators.


Would you happen to have a working template or reference input file that I can follow to ensure all necessary evaluators are properly defined? This would help me avoid missing or misconfigured entries.

Thanks,
Chuyang

Bo Gao

unread,
Nov 5, 2025, 2:48:31 PMNov 5
to Chuyang Liu, Amanzi-ATS Users
Hi Chuyang,

Something was wrong when you generated your steady state input file or you mixed up your input files. Steady state run does not need snow and should not have evaporation. The surface water source should include rain only. Also, I see in the jupyter notebook, it is named "surface-precipitation" but not "surface-precipitation_rain".

Best,
Bo Gao

Chuyang Liu

unread,
Nov 5, 2025, 11:16:46 PMNov 5
to Amanzi-ATS Users
Hi Bo, 

Many thanks again for the support. I tried to systematically check for potential issues on my end. I verified that ats_input_spec.AMANZI_SRC_DIR points to: /Users/XXX/Software/ats-1.6_release/amanzi. So it appears that ats_input_spec is sourcing the correct ATS 1.6 installation.

In the notebook (https://github.com/amanzi/ats-short-course/blob/ats-short-course-20250908/05_model_setup/4-coweeta_ats_input_file.ipynb),
the call

ats_input_spec.public.add_observations_water_balance(
    main_list, "computational domain",
    "surface domain", "external sides",
    time_args=time_args
)

is made inside get_main().  Looking into the function in https://github.com/ecoon/ats_input_spec/blob/ats-input-spec-1.6/ats_input_spec/public.py, I see that add_observations_water_balance() indeed adds surface-precipitation_rain as the variable name for rain precipitation ([m d^-1]) in the observation list.
problem of surface-precipitation_rain.png
However, the generated XML does not include  surface-precipitation_rain under State, which then triggers the runtime error when ATS tries to create the evaluator. The same happens for snow-precipitation, surface-evaporation, etc.

Did I miss a step in the workflow? Any hints or guidance would be greatly appreciated.

Thanks again for your help!

Bo Gao

unread,
Nov 5, 2025, 11:28:58 PMNov 5
to Chuyang Liu, Amanzi-ATS Users
Hi Chuyang,

Yeah, that's right. We found this issue in the ats input spec this afternoon. It should provide an option to choose what variables should be added to the observation for steady state or transient runs. I guess we will fix it later. For now, you can manually revise your observation in your steady state input file. You can keep "water_content", "surface-water_content", "surface-water_flux", "surface-precipitation" for water balance, and remove the rest. Or, you can run your input file, once you found an error caused by a variable, remove it from the observation part.

Best,
Bo Gao

Chuyang Liu

unread,
Nov 5, 2025, 11:36:21 PMNov 5
to Amanzi-ATS Users
Hi Bo,

Thanks for the prompt and helpful reply. I will modify the code to follow your suggestions. Have a nice one!

Best,
Chuyang

Reply all
Reply to author
Forward
0 new messages