quickrecipes/export.py# ----------------------------------------------------------------------------
# CLASSES: nightly
#
# Cyrus Harrison, Tue Sep 16 11:19:26 PDT 2025
# ----------------------------------------------------------------------------
from os.path import join as pjoin
def clean_data(path):
print(path)
if os.path.isfile(path):
os.remove(path)
elif os.path.isfile(path):
# Note: assumes passed dir is already empty
os.rmdir(path)
def export_to_vtk():
clean_data("my_vtk_export.vtk")
# exportToVTK {
# Create a Pseudocolor plot and export multiple fields
AddPlot("Pseudocolor", "d")
# optional: setup operators to modify data before export
DrawPlots()
eatts = ExportDBAttributes()
eatts.filename = "my_vtk_export"
eatts.db_type = "VTK"
eatts.variables = ("d","p")
ExportDatabase(eatts)
# exportToVTK }
TestValueEQ("qr_export_to_vtk",os.path.isfile("my_vtk_export.vtk"),True)
def export_to_silo():
clean_data("my_silo_export.silo")
# exportToSilo {
# Create a Pseudocolor plot and export multiple fields
AddPlot("Pseudocolor", "d")
# optional: setup operators to modify data before export
DrawPlots()
eatts = ExportDBAttributes()
eatts.filename = "my_silo_export"
eatts.db_type = "Silo"
eatts.variables = ("d","p")
ExportDatabase(eatts)
# exportToSilo }
TestValueEQ("qr_export_to_silo",os.path.isfile("my_silo_export.silo"),True)
DeleteAllPlots()
def export_to_blueprint():
clean_data("my_blueprint_export.cycle_000048.root")
# exportToBlueprint {
# Create a Pseudocolor plot and export multiple fields
AddPlot("Pseudocolor", "d")
# optional: setup operators to modify data before export
DrawPlots()
eatts = ExportDBAttributes()
eatts.filename = "my_blueprint_export"
eatts.db_type = "Blueprint"
eatts.variables = ("d","p")
ExportDatabase(eatts)
# exportToBlueprint }
TestValueEQ("qr_export_to_blueprint",os.path.isfile("my_blueprint_export.cycle_000048.root"),True)
DeleteAllPlots()
def export_to_csv():
clean_data(pjoin("my_csv_export.csv","element_data.csv"))
clean_data(pjoin("my_csv_export.csv","vertex_data.csv"))
# clean up dir last
clean_data("my_csv_export.csv")
# exportToBlueprintCSV {
# Create a Pseudocolor plot and export multiple fields
AddPlot("Pseudocolor", "d")
# optional: setup operators to modify data before export
DrawPlots()
eatts = ExportDBAttributes()
eatts.filename = "my_csv_export"
eatts.db_type = "Blueprint"
opts = GetExportOptions("Blueprint")
eatts.variables = ("d","p")
opts["Operation"] = "Flatten_CSV"
ExportDatabase(eatts,opts)
# exportToBlueprintCSV }
TestValueEQ("qr_export_to_csv",os.path.isdir("my_csv_export.csv"),True)
TestValueEQ("qr_export_to_csv_vertex",os.path.isfile(pjoin("my_csv_export.csv","element_data.csv")),True)
TestValueEQ("qr_export_to_csv_cell",os.path.isfile(pjoin("my_csv_export.csv","vertex_data.csv")),True)
DeleteAllPlots()
OpenDatabase(silo_data_path("rect3d.silo"))
export_to_vtk()
export_to_silo()
export_to_blueprint()
export_to_csv()
Exit()