Skip to content

[Bug]: Provenance cfg not updated when rerunning zppy in existing output directory #823

Description

@chengzhuzhang

What happened?

When rerunning zppy into an existing output or www directory, the updated cfg file may not be copied as provenance. This happens because shutil.copy() is placed inside the same try block as os.makedirs(). If the directory already exists, os.makedirs() raises EEXIST, and the copy step is skipped.

Expected behavior:
A new provenance cfg file should be copied for each run, reflecting the latest configuration.

Actual behavior:
The provenance cfg is not updated if the output directory already exists.

Additional suggestion:
In addition to fix this issue, we should work with @tomvothecoder to gather Simboard provenance format requirement.

What machine were you running on?

lcrc

Environment

v3.1.0

What command did you run?

Steps to reproduce:

Run zppy with a given cfg file.
Modify the cfg file.
Rerun zppy using the same output/www directory.
Check the provenance cfg files in post/scripts or www directories.

Copy your cfg file

provenance file in https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/zppy_example/v3.2.0/v3.LR.historical_0051/

What jobs are failing?

What stack trace are you encountering?

Metadata

Metadata

Assignees

No one assigned

    Labels

    semver: bugBug fix (will increment patch version)

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions