Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple Silo cycles without suffix #1200

Open
ibaned opened this issue Nov 16, 2023 · 3 comments
Open

Multiple Silo cycles without suffix #1200

ibaned opened this issue Nov 16, 2023 · 3 comments

Comments

@ibaned
Copy link
Contributor

ibaned commented Nov 16, 2023

Hello!

I am trying to write multiple cycles to Silo without having them end up as separate directories and proliferating files. So far I have two calls to conduit::relay::mpi::io::silo::write_mesh with opts as follows:

first:

file_style: "multi_file"
suffix: "none"
number_of_files: 1
root_file_ext: "silo"
truncate: "true"
silo_type: "hdf5"

second:

file_style: "multi_file"
suffix: "none"
number_of_files: 1
root_file_ext: "silo"
silo_type: "unknown"

I get the rather cryptic error:

DBMkDir: Low-level function call failed: mesh

How can I get multiple cycles of multi-domain meshes into a set of Silo files where the number of files is at most proportional to the number of domains and not multiplied by the number of cycles as well?

Thanks!

@cyrush
Copy link
Member

cyrush commented Nov 16, 2023

Hi @ibaned -- our usual use cases leverage a set of files per time step. (Each timestep is an independent set)

We will need to think a bit about how the root file can create the indexing metadata for multiple cycles. I assume a goal would be to have the time series be easily used in viz tools? I am not sure they will present the data in an intuitive way right now.

We can experiment to see what is the best path in early dec.

@JustinPrivitera
Copy link
Collaborator

Hi @ibaned. This is possible already, with a couple caveats. The other option you will want to include is opts["mesh_name"] = "mymeshname";. You can put whatever name you like there (so the cycle number could go there). The silo writer will prepend that name to the multimesh, multivar, and multimaterial names. It will also place information for domains inside of a directory with that name. Therefore, the only place where information might be clobbered in ensuing writes would be the cycle and time that live inside the root file. I wonder how easy it would be to work with a database stored in this way in a tool like VisIt? I expect you would get a giant list of meshes, and VisIt wouldn't be able to interpret that as a timeseries.

@JustinPrivitera
Copy link
Collaborator

@ibaned @cyrush Can we close this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants