A successful output pipeline that contains a camera and is written to a YAML file with the "save" command {actions.save("foo.yaml","yaml")} does not function when bought in with the "load" command.
The following error presents:
msg: |
Ascent::execute failed
file: /scratch/dmhensi/smash/smash_with_ascent_2026-05-26-2/source/conduit/src/libs/conduit/conduit_node.cpp
line: 15121
message:
Node::as_int32() const -- DataType int64 at path params/renders/r1/auto_camera/samples does not equal expected DataType int32
[Error] Ascent::execute
file: /scratch/dmhensi/smash/smash_with_ascent_2026-05-26-2/source/conduit/src/libs/conduit/conduit_node.cpp
line: 15121
message:
Node::as_int32() const -- DataType int64 at path params/renders/r1/auto_camera/samples does not equal expected DataType int32
Here is snippet form the yaml file.
s3:
plots:
p1:
type: "pseudocolor"
field: "alternating"
renders:
r1:
image_prefix: "econduits3r1"
type: "auto_camera"
auto_camera:
metric: "dds_entropy"
field: "alternating"
samples: 5
Removing the "samples 5" from the offending yaml file produces an error:
Ascent::execute failed
file: /scratch/dmhensi/smash/smash_with_ascent_2026-05-26-2/source/ascent/src/libs/ascent/runtimes/flow_filters/ascent_runtime_rendering_filters.cpp
line: 1506
message:
Auto Camera must specify number of 'samples'
[Error] Ascent::execute
file: /scratch/dmhensi/smash/smash_with_ascent_2026-05-26-2/source/ascent/src/libs/ascent/runtimes/flow_filters/ascent_runtime_rendering_filters.cpp
line: 1506
message:
Auto Camera must specify number of 'samples'
Visiting ascent_runtime_rendering_filters.cpp reveals the offending code:
if(!render_node.has_path("auto_camera/field"))
ASCENT_ERROR("Auto Camera must specify a 'field'");
if(!render_node.has_path("auto_camera/metric"))
ASCENT_ERROR("Auto Camera must specify a 'metric'");
if(!render_node.has_path("auto_camera/samples"))
ASCENT_ERROR("Auto Camera must specify number of 'samples'");
std::string field_name = render_node["auto_camera/field"].as_string();
std::string metric = render_node["auto_camera/metric"].as_string();
int samples = render_node["auto_camera/samples"].as_int32();
The "as_int32(); appears to defeat the parsing of the int from the YAML file. I haven't gone further on this.
If this is already fixed I'd like to know a version to move up to.
A successful output pipeline that contains a camera and is written to a YAML file with the "save" command {actions.save("foo.yaml","yaml")} does not function when bought in with the "load" command.
The following error presents:
Here is snippet form the yaml file.
Removing the "samples 5" from the offending yaml file produces an error:
Visiting ascent_runtime_rendering_filters.cpp reveals the offending code:
The "as_int32(); appears to defeat the parsing of the int from the YAML file. I haven't gone further on this.
If this is already fixed I'd like to know a version to move up to.