Skip to content

revisit default auto-submit behavior [was: logs are sometimes moved] #23

Open

Description

@mvhulten

Sometimes the logs below $wfe_dir/ctl/logs are moved out, sometimes not. Why?

Activity

  1. mvhulten commented on Mar 18, 2026

    @mvhulten
    ContributorAuthor

    This happened when I killed a job.

    It is clear why it happens, but the fact that in $wfe_dir/ctl/logs/ stay exactly those logs is not intuitive. Users would be looking at old logs.

  2. s-poll commented on Apr 13, 2026

    @s-poll
    Member

    Thank you for pointing this out and your understanding of the behavior is correct.

    A clarification paragraph has been added to the documentation to make this more explicit in #28.

    This behavior is intentional, but we agree that it is not immediately intuitive, and the documentation update is meant to help avoid confusion.

  3. kvrigor commented on Apr 16, 2026

    @kvrigor
    Member

    It is clear why it happens, but the fact that in $wfe_dir/ctl/logs/ stay exactly those logs is not intuitive. Users would be looking at old logs.

    Also surprising to me. Workaround is to set debugmode=true in master.conf:

    # DebugMode: No job submission. Just config
    debugmode=false

    I'm also used to inspecting the run directory before submitting the job myself. The default auto-submit behavior can be really annoying...

  4. changed the title [-]logs are sometimes moved[/-] [+]revisit default auto-submit behavior [was: logs are sometimes moved][/+] on Jun 12, 2026
  5. s-poll commented on Sep 6, 2026

    @s-poll
    Member

    Thanks for the feedback. It's worth documenting the design intent rather than leaving it implicit.

    The auto-submit is intentional rather than just the default setting. The WFE is constructed as a sequence of tasks: pre -> sim -> pos -> vis. These are submitted with dependencies scheduled, and for numsimstep > 1, each chunk's sim job is dependent on the previous one (afterok:${sim_id}). control_tsmp2.sh is responsible for submitting, as it captures the job IDs from which these dependencies are derived. Submitting manually bypasses the chain and the restart bookkeeping associated with it.

    The second reason is reproducibility. The run directory is not an input; everything that defines a simulation lives in ctl/*.conf and nml/, and sim_config.sh regenerates the run directory from these files every time it is invoked. It moves an existing run directory aside to <sim_dir>_bku. Therefore, any edits made directly in the run directory will not be picked up by the following chunk, meaning that a result produced in this way could not be reproduced from the configuration alone. Anything that needs changing belongs in the parent layer.

    Inspecting before submitting is already supported. This is precisely the purpose of debugmode=true, and I would prefer to refer to it as the supported approach rather than a workaround. The intended sequence is therefore exactly the one you describe: configure; inspect the run directory; then sbatch tsmp2.job. It is worth knowing that this submits a single chunk without the afterok dependency, which is fine for a one-off test, but not how a multi-chunk production run should be launched.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions