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

path enhancements rollup issue #1428

Open
cyrush opened this issue Dec 6, 2024 · 4 comments
Open

path enhancements rollup issue #1428

cyrush opened this issue Dec 6, 2024 · 4 comments
Assignees
Labels
Milestone

Comments

@cyrush
Copy link
Member

cyrush commented Dec 6, 2024

This issue links to several file path and naming issues.

They may need simple one off fixes and reviewing could inform need for a holistic approach to dealing with paths:

#1400
#1289
#1285
#1368

@cyrush cyrush assigned cyrush and emily-howell and unassigned cyrush Dec 6, 2024
@cyrush
Copy link
Member Author

cyrush commented Dec 6, 2024

@emily-howell this is the meta issue I promised to create for the various path related improvements we want to tackle.

@cyrush cyrush changed the title path enhancments rollup issue path enhancements rollup issue Dec 6, 2024
@emily-howell
Copy link
Member

Thanks, I will take a look at these

@cyrush cyrush added this to the 0.9.4 milestone Mar 6, 2025
@cyrush
Copy link
Member Author

cyrush commented Mar 11, 2025

For all extracts --- we should support fmt style strings that can pull from metadata:

"_{cycle:05d}"
"_{time:0.4f}"
"_{family:05d}" 

cycle and time are straight forward
family looks for an existing file and finds the next in a series.

For the blueprint relay extract case -- these can be applied before we pass the base name.

@cyrush
Copy link
Member Author

cyrush commented Mar 12, 2025

A subset of what we want exists here:

std::string expand_family_name(const std::string name, int counter = 0);

But, we want to evolve to unified function that will support all of these cases, and also only check for files when necessary on rank 0.

std::string expand_path(const std::string &path,int mpi_comm_id);

The actual string substitution can be handled by conduit's wrapped format method that binds named nodes to args:

https://github.com/LLNL/conduit/blob/67ee1503d366b88b5c97fc43d6ab8e8e72009aec/src/libs/conduit/conduit_utils.hpp#L495

@cyrush cyrush added the task label Mar 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants