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
amrex dataset detection appears broken #3005
Comments
Hi @zingale, sorry about this, this must be an undesirable side effect of #2938 |
yes, they will both always show up in all MAESTROeX, NyX, and Castro datasets. The reason is that they are all different git repos, so we need to keep track of the individual hashes of each. So Castro will always report the Castro, AMReX, and Microphysics hashes (the last doesn't matter to yt really) probably true for WarpX too |
I see. I don't know what we should do about it then because I don't know of a reliable way yt could guess the appropriate type. from yt.frontends.boxlib.api import CastroDataset
ds = CastroDataset(<data_file>) |
A Castro
right at the top, so that unambiguously identifies it as a Castro dataset. Likewise, MAESTROeX
right at the top. |
Nice ! Is this rule general to all boxlib types ? |
sadly no. Each application is allowed to do whatever they want in the job_info file (and maybe not have one at all). There are probably dozens of AMReX codes, so I certainly don't know them all. |
That's already valuable info. The problem here is that it's more a matter of making |
|
actually @Xarthisius , I now think you had the right idea there. Maybe those classes shouldn't be siblings after all: if one code is a direct descendent of another, maybe this hierarchy should be reflected by inheritance here ? |
Reading this over, I am left to wonder if possibly a solution would be to provide the base-level amrex frontend, with optional "if detected" customizations. Do we have a handle on how distinct each are, and how those distinctions manifest themselves? |
I would even be okay with something like |
@zingale I believe there's is already some support for this. ds = yt.load(file, cparam_filename="my_job_info_file") is supposed to help a lot, because we attempt to determine the most relevant Dataset class using |
What if instead of |
this is starting to look a lot like #3510 |
I like some form of frontend/hint/etc.
…On Tue, Oct 12, 2021 at 10:57 AM Madicken Munk ***@***.***> wrote:
What if instead of hint= we added a kwarg for frontend= to override
default detection? This would probably be the most user-intuitive way to
support loading.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3005 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAVXO5JSFWWC34R2LOD7CTUGRLHVANCNFSM4VEGRYEQ>
.
|
me too. I think |
|
I'm worried |
Bug report
Bug summary
If I try to load a Castro dataset, I get:
Code for reproduction
Using this dataset:
http://bender.astro.sunysb.edu/random/det_x_plt00000.tgz
Do
A workaround is to use the hash
9071f0dc3
for yt.Actual outcome
Expected outcome
should be able to load the dataset
Version Information
installed yt from source
The text was updated successfully, but these errors were encountered: