Skip to content

Conversation

@roystgnr
Copy link
Member

We have users running up against the 32-character limit, and it looks like we ought to be able to go to 80.

We have users running up against the 32-character limit, and it looks
like we ought to be able to go to 80.
We're no longer truncating these on write or read.
Copy link
Member

@jwpeterson jwpeterson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting that all those exo files got bigger even though their contents should not have changed, I guess it's because we are writing more "blank" padding spaces at the end of every string whether we need them or not?

@roystgnr
Copy link
Member Author

I think we are writing more blank padding spaces, but I also added some long subdomain names to the tests that use those files (which was a good idea; just tossing a few exII calls in blind turned out to require a couple bug fixes afterward), so the files should have all changed regardless.

@roystgnr
Copy link
Member Author

The MOOSE test failures I should have anticipated; those are truncated gold files upstream.

The DistributedMesh failures look like a simple mistake to fix.

@moosebuild
Copy link

moosebuild commented Aug 19, 2025

Job Coverage, step Generate coverage on cc17c74 wanted to post the following:

Coverage

101a96 #4229 cc17c7
Total Total +/- New
Rate 65.20% 65.21% +0.01% 92.11%
Hits 77305 77326 +21 35
Misses 41254 41255 +1 3

Diff coverage report

Full coverage report

This comment will be updated on new commits.

Usually we do this as we read a file or keep things in sync as we
generate a mesh, but there may be cases where we can't do either easily.
Add error handling, and avoid Exodus warnings from invalid calls in
parallel.
It'll be less of a pain for users exodiffing against old truncated
exodus files if they have manual control over truncation.
I've verified that without this the tests fail, as they should.
@roystgnr
Copy link
Member Author

Rather than either (A) fiddling with a ton of MOOSE exodiffs before we can get this in or (B) saying I'll fiddle with a ton of MOOSE exodiffs and never getting around to it (this was an August PR???) or (C) trying to sync up the libMesh changes with a MOOSE submodule update and fiddling ... I'm just making it user-controllable. We'll default to 32-char truncation, then we can bump it up to 80 downstream and either add an option in MOOSE or fiddle with exodiff gold files at the same time (probably the former, because I'll bet a bunch of MOOSE apps have the same problem), then we can make the libMesh default sane afterward without breaking a ton of exodiffs or having to stay perfectly in sync with downstream.

Copy link
Member

@jwpeterson jwpeterson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me (imagine the dial goes up to 80).

image

@jessecarterMOOSE
Copy link
Contributor

I'm fine with this being user-controllable, but how do I control it? I have a MOOSE App for my use case that needs longer block names, which has its own libmesh installation. Would the name length limit be set when configuring libmesh? Or can my App control it? Is it set a compile-time or run-time?

@roystgnr
Copy link
Member Author

Going from 32 to 80 is a run-time setting; once this gets into MOOSE I'll add it to the Exodus options there. Going from 80 to 81 appears to be a "edit an Exodus header and recompile Exodus" thing; if you need that much length you might still be stuck with your own libMesh builds.

@roystgnr
Copy link
Member Author

Personally, I'm not happy with this being user-controllable; that's just a way to ease the transition for users who've golded files with truncated names. Long-term the plan is "it defaults to 80 and nobody should care about the option to change that unless they really need to match names in a file they can't regold", hopefully before too much longer.

@roystgnr roystgnr enabled auto-merge November 14, 2025 16:45
@jessecarterMOOSE
Copy link
Contributor

80 is plenty!

@roystgnr roystgnr merged commit 001b6e1 into libMesh:devel Nov 14, 2025
21 checks passed
@roystgnr roystgnr deleted the exodus_names branch November 14, 2025 19:19
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

Successfully merging this pull request may close these issues.

4 participants