Skip to content

auto_dump=false disables more than it should #1290

Description

@nicolasaunai

Why

When you declare a diagnostic block (ElectromagDiagnostics, FluidDiagnostics, etc.) with write_timestamps, that's already the user's intent: "write this at these times". Letting users to set auto_dump=False will, despite expressing the need for diagnostics dumps at specific timestamps, force them to call dump() themselves from python to actually get their diagnostics written. That's weird, why would one ever want to set that to false? In particular when the logic of wether the current simulation timestamp has reached a dump timestamp is controlled in cpp anyway... I feel there is no added value to call dump() by oneself.
My understanding is that one would want to set auto_dump to False only to not have the post-init/pre-first-advance dump written.... but wanting that and getting all subsequent diags bypassed if not calling dump() manually appears as a unwanted side effect.

What

maybe calling dump() in run() should always be the case and the parameter could be renamed to something like force_init_dump=True (default) or skip_init_dump=False (default) or something, to match the real use case of that param

Ideas on how (optional)

No response

Alternatives considered

No response

Additional context

No response

Metadata

Metadata

Assignees

Type

No type

Projects

Status
Do me  👋

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions