Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
142cdd0
Save state post resolving conpilation bug :(
emily-howell Feb 5, 2026
f118307
Removing slide verify_params
emily-howell Feb 5, 2026
736daf9
Adding some more json schema examples
emily-howell Feb 24, 2026
f6a94d2
Adding a schema validator for flow filters
emily-howell Feb 25, 2026
6d5d6e1
Translating all filters in ascent_runtime_vtkh_filters to json schema…
emily-howell Feb 27, 2026
0e05a88
Merge branch 'develop' of github.com:Alpine-DAV/ascent into task/2_3_…
emily-howell Feb 28, 2026
96efc0e
Removing temporary helpers and cleaning up files
emily-howell Feb 28, 2026
d95a906
Seed should be seeds
emily-howell Mar 3, 2026
69a3cbf
adding a detail namespace to validator
emily-howell Mar 3, 2026
6bbaed1
Converting over the expression filters
emily-howell Mar 5, 2026
5116d52
converting another file
emily-howell Mar 5, 2026
47f6376
Trying to add some support for expressions again
emily-howell Mar 5, 2026
ddc3b89
Adding a way to pass our expression validator into the flow filter
emily-howell Mar 12, 2026
d068b1a
We have a valid expression checker!
emily-howell Mar 12, 2026
3661bed
Integrating the expression checking into the vtkh number schemas :)
emily-howell Mar 12, 2026
ce5e626
Taking a pass at trying to get the JIT tests to pass
emily-howell Mar 13, 2026
fc14616
Require that either field or topology be given for a threshold filter
emily-howell Mar 17, 2026
7208c66
Merge branch 'develop' of github.com:Alpine-DAV/ascent into task/2_3_…
emily-howell Mar 17, 2026
1c72710
Converting more filters to new schema - tested
emily-howell Mar 19, 2026
1026bca
Adding new template schemas to make further filter conversion possible
emily-howell Mar 19, 2026
58f6b0f
Updating the param check and flow schema validator with additional ca…
emily-howell Mar 19, 2026
9fbe4e9
Forgot to also add a type for integers
emily-howell Mar 19, 2026
04ef548
Converting more filters to new schema - tested
emily-howell Mar 19, 2026
c188301
Converting more filters to new schema - tested
emily-howell Mar 19, 2026
70a82c8
rover filter schemas
emily-howell Mar 19, 2026
35f3725
Adding dray filter schemas
emily-howell Mar 19, 2026
36d8a51
Adding schemas for rendering filters
emily-howell Mar 19, 2026
4478fdc
Last filter conversion over to json schema!!!
emily-howell Mar 19, 2026
ce6fc1b
cleaning up branch
emily-howell Mar 20, 2026
6f5f933
Had AI generate an import check for optional that will work with c++11.
emily-howell Mar 23, 2026
81e8e99
Whopps. need to use it everywhere
emily-howell Mar 23, 2026
30fb70d
Cleaning up some errors
emily-howell Mar 23, 2026
b902ed0
Needed to add the pattern validation still
emily-howell Mar 23, 2026
d95f5db
Fixing adios2 error in CI
emily-howell Mar 27, 2026
be2c2d2
Making sure that a compatable optional is used properly everywhere fo…
emily-howell Mar 27, 2026
ac3ad74
Merge branch 'develop' of github.com:Alpine-DAV/ascent into task/3_19…
emily-howell Mar 27, 2026
d4b004b
Merge branch 'develop' of github.com:Alpine-DAV/ascent into task/2_3_…
emily-howell Mar 27, 2026
adfbbaa
Merge branch 'task/2_3_2025-json-schema-for-filters' of github.com:Al…
emily-howell Mar 27, 2026
1d51baf
Fixing reflect filter
emily-howell Mar 27, 2026
66b189b
Merge branch 'task/2_3_2025-json-schema-for-filters' of github.com:Al…
emily-howell Mar 27, 2026
f06051b
Fixing spelling error
emily-howell Apr 2, 2026
1d2c3d9
Using refs to nodes instead of copying seperate nodes into tree
emily-howell Apr 3, 2026
1e109b9
Generalizing the expression checking to any format checking
emily-howell Apr 3, 2026
95cd1f1
Applied formatting fixes
emily-howell Apr 3, 2026
dfa0367
Merge branch 'develop' of github.com:Alpine-DAV/ascent into task/3_19…
emily-howell Apr 3, 2026
0699c49
Merge branch 'develop' of github.com:Alpine-DAV/ascent into task/2_3_…
emily-howell Apr 3, 2026
7d2c9f9
Merge branch 'task/2_3_2025-json-schema-for-filters' of github.com:Al…
emily-howell Apr 3, 2026
99ec4b7
Using refs to nodes instead of copying seperate nodes into tree for e…
emily-howell Apr 3, 2026
2dc14f8
const string ref vector
emily-howell Apr 3, 2026
7a9ceec
removing the optional_params
emily-howell Apr 3, 2026
8f34331
Removing print statement added for debugging
emily-howell Apr 3, 2026
3311697
Merge branch 'task/2_3_2025-json-schema-for-filters' of github.com:Al…
emily-howell Apr 3, 2026
6ad7e20
Fixing the refrences in adios2 schema
emily-howell Apr 6, 2026
ab2bb3f
Formatting param check file
emily-howell Apr 6, 2026
2a860b3
Fixing typo
emily-howell Apr 7, 2026
c0eed7a
Adding the minItem and maxItem array parameters to the array_schema h…
emily-howell Apr 7, 2026
a887ee4
Removing missed ignore schema in array schema conversion. By default,…
emily-howell Apr 7, 2026
aa06366
Adding small append fix to any of vecs. This was originally a change …
emily-howell Apr 7, 2026
768edd7
Merge branch 'develop' of github.com:Alpine-DAV/ascent into task/3_19…
emily-howell Apr 13, 2026
139974b
Removing s from schema
emily-howell Apr 13, 2026
60ecfc7
Adding HDF5 example back
emily-howell Apr 13, 2026
d9d3593
Merge branch 'develop' of github.com:Alpine-DAV/ascent into task/3_19…
emily-howell Apr 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -149,9 +149,7 @@ ExprJitFilter::declare_interface(Node &i)
filters::string_schema(param_schema["properties/func"]);
filters::string_schema(param_schema["properties/filter_name"]);

conduit::Node &inputs_schema = filters::array_schema(param_schema["properties/inputs"]);
inputs_schema["minItems"] = num_inputs;
inputs_schema["maxItems"] = num_inputs;
conduit::Node &inputs_schema = filters::array_schema(param_schema["properties/inputs"], conduit::Node(), num_inputs, num_inputs);

param_schema["required"].append() = "func";
param_schema["required"].append() = "filter_name";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
//-----------------------------------------------------------------------------
#include <ascent_runtime_utils.hpp>
#include <ascent_string_utils.hpp>
#include <ascent_runtime_param_check.hpp>
#include <ascent_logging.hpp>
#include <ascent_data_object.hpp>

Expand Down Expand Up @@ -114,43 +115,26 @@ ADIOS2::declare_interface(Node &i)
i["type_name"] = "adios2";
i["port_names"].append() = "in";
i["output_port"] = "false";
}

//-----------------------------------------------------------------------------
bool
ADIOS2::verify_params(const conduit::Node &params,
conduit::Node &info)
{
bool res = true;
if (!params.has_child("filename") ||
!params["filename"].dtype().is_string())
{
info["errors"].append() = "missing required entry 'filename'";
res = false;
}
// ----------- Define Param Schema -----------
conduit::Node &param_schema = i["param_schema"];
param_schema["type"] = "object";

if (!params.has_child("engine") ||
!params["engine"].dtype().is_string())
{
info["errors"].append() = "missing required entry 'engine'";
res = false;
}
string_schema(param_schema["properties/filename"]);
string_schema(param_schema["properties/engine"]);

std::string engineType = params["engine"].as_string();
if (engineType != "BPFile" && engineType != "SST")
{
info["errors"].append() = "unsupported engine type: " + engineType;
res = false;
}
conduit::Node &bpfile_schema = param_schema["oneOf"].append();
bpfile_schema["type"] = "object";
string_schema(bpfile_schema["properties/engine"]);
bpfile_schema["properties/engine/constraints/const"] = "BPFile";

std::string fileName = params["filename"].as_string();
if (engineType == "SST" && fileName.find("/") != std::string::npos )
{
info["errors"].append() = "filename with directory not supported for SST engine";
res = false;
}
conduit::Node &sst_schema = param_schema["oneOf"].append();
sst_schema["type"] = "object";
string_schema(sst_schema["properties/engine"]);
sst_schema["properties/engine/constraints/const"] = "SST";

return res;
conduit::Node &fname = string_schema(sst_schema["properties/filename"]);
fname["pattern"] = "^[^/]*$";
}

//-----------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,6 @@ class ADIOS2 : public ::flow::Filter
~ADIOS2();

virtual void declare_interface(conduit::Node &i);
virtual bool verify_params(const conduit::Node &params,
conduit::Node &info);
virtual void execute();

private:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,23 +42,21 @@ void ascent::runtime::filters::BFlowCompose::declare_interface(conduit::Node &i)
i["type_name"] = "bflow_comp";
i["port_names"].append() = "in";
i["output_port"] = "false"; // true -- means filter, false -- means extract
}

//-----------------------------------------------------------------------------

bool ascent::runtime::filters::BFlowCompose::verify_params(const conduit::Node &params, conduit::Node &info)
{
info.reset();

bool res = true;
// ----------- Define Param Schema -----------
conduit::Node &param_schema = i["param_schema"];
param_schema["type"] = "object";

res &= check_string("color_field", params, info, true);
res &= check_string("depth_field", params, info, true);
res &= check_string("image_prefix", params, info, true);
res &= check_numeric("compositing", params, info, true);
res &= check_numeric("fanin", params, info, false);
string_schema(param_schema["properties/color_field"]);
string_schema(param_schema["properties/depth_field"]);
string_schema(param_schema["properties/image_prefix"]);
number_schema(param_schema["properties/compositing"]);
number_schema(param_schema["properties/fanin"]);

return res;
param_schema["required"].append() = "color_field";
param_schema["required"].append() = "depth_field";
param_schema["required"].append() = "image_prefix";
param_schema["required"].append() = "compositing";
}

//-----------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@ class BFlowPmt : public ::flow::Filter
virtual ~BFlowPmt() {}

virtual void declare_interface(conduit::Node &i) override;
virtual bool verify_params(const conduit::Node &params,
conduit::Node &info) override;
virtual void execute() override;
};

Expand All @@ -53,8 +51,6 @@ class BFlowCompose : public ::flow::Filter
virtual ~BFlowCompose() {}

virtual void declare_interface(conduit::Node &i) override;
virtual bool verify_params(const conduit::Node &params,
conduit::Node &info) override;
virtual void execute() override;
};

Expand All @@ -67,8 +63,6 @@ class BFlowIso : public ::flow::Filter
virtual ~BFlowIso() {}

virtual void declare_interface(conduit::Node &i) override;
virtual bool verify_params(const conduit::Node &params,
conduit::Node &info) override;
virtual void execute() override;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -530,25 +530,21 @@ void ascent::runtime::filters::BFlowIso::declare_interface(conduit::Node &i)
i["type_name"] = "bflow_iso";
i["port_names"].append() = "in";
i["output_port"] = "false"; // true -- means filter, false -- means extract
}

//-----------------------------------------------------------------------------
// ----------- Define Param Schema -----------
conduit::Node &param_schema = i["param_schema"];
param_schema["type"] = "object";

bool ascent::runtime::filters::BFlowIso::verify_params(const conduit::Node &params, conduit::Node &info)
{
info.reset();
string_schema(param_schema["properties/field"]);
number_schema(param_schema["properties/iso_values"]);
string_schema(param_schema["properties/image_name"]);
number_schema(param_schema["properties/radices"]);
number_schema(param_schema["properties/width"]);
number_schema(param_schema["properties/height"]);

bool res = true;

res &= check_string("field", params, info, true);
res &= check_numeric("iso_values", params, info, true);
res &= check_string("image_name", params, info, true);
res &= check_numeric("radices", params, info, false);
res &= check_numeric("width", params, info, false);
res &= check_numeric("height", params, info, false);
// res &= check_string("col_field", params, info, true);

return res;
param_schema["required"].append() = "field";
param_schema["required"].append() = "iso_values";
param_schema["required"].append() = "image_name";
}

//-----------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1464,6 +1464,21 @@ void ascent::runtime::filters::BFlowPmt::declare_interface(conduit::Node &i)
i["type_name"] = "bflow_pmt";
i["port_names"].append() = "in";
i["output_port"] = "true"; // true -- means filter, false -- means extract

// ----------- Define Param Schema -----------
conduit::Node &param_schema = i["param_schema"];
param_schema["type"] = "object";

string_schema(param_schema["properties/field"]);
number_schema(param_schema["properties/fanin"]);
number_schema(param_schema["properties/threshold"]);
number_schema(param_schema["properties/gen_segment"]);
number_schema(param_schema["properties/ugrid_select"]);

param_schema["required"].append() = "field";
param_schema["required"].append() = "fanin";
param_schema["required"].append() = "threshold";
param_schema["required"].append() = "gen_segment";
}

//-----------------------------------------------------------------------------
Expand Down Expand Up @@ -1847,20 +1862,3 @@ void ascent::runtime::filters::BFlowPmt::execute()

set_output<DataObject>(d_input);
}

//-----------------------------------------------------------------------------

bool ascent::runtime::filters::BFlowPmt::verify_params(const conduit::Node &params, conduit::Node &info)
{
info.reset();

bool res = true;

res &= check_string("field", params, info, true);
res &= check_numeric("fanin", params, info, true);
res &= check_numeric("threshold", params, info, true);
res &= check_numeric("gen_segment", params, info, true);
res &= check_numeric("ugrid_select", params, info, false);

return res;
}
Loading