Skip to content
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

Default to reproduce executable manifests hashes #383

Open
aidanheerdegen opened this issue Nov 14, 2023 · 3 comments
Open

Default to reproduce executable manifests hashes #383

aidanheerdegen opened this issue Nov 14, 2023 · 3 comments

Comments

@aidanheerdegen
Copy link
Collaborator

payu has the ability to require reproducibility of executables, inputs and restarts by checking manifest hashes match.

The ability to specify reproducibility separately for each of these was introduced in #203 but the default was False for all three.

There is a suggestion to make manifest/exe.yaml reproduce default to true. See #379 (comment) for details.

This makes it safer, by default, for users who don't ever intend to compile their own model executables. By default they are ensuring the executables they're using are the same as those listed in the exe manifest.

This can be circumvented by setting reproduce False in config.yaml.

(Note that just deleting manifest/exe.yaml doesn't work to circumvent this check. payu reports an error because there is no hash to compare against)

The biggest drawback to making this change would be for users who are compiling their own executables, or changing executables to other versions. With the code as it is this would require them to set this in config.yaml:

manifest:
   reproduce:
      exe: False

which is slightly annoying, and would then lead to the situation where they would have to either change it back to True or delete it to enable the exe reproduce checking again.

If it was decided to make this change then I would advocate for a command line option to override it, to make generating new exe manifests easier, but also require active input from the user.

@aidanheerdegen
Copy link
Collaborator Author

Note the relevant code changes would have to be made here:

https://github.com/payu-org/payu/blob/master/payu/manifest.py#L277-L281

@micaeljtoliveira
Copy link
Contributor

I think this would be a good change.

If it was decided to make this change then I would advocate for a command line option to override it, to make generating new exe manifests easier, but also require active input from the user.

Fully agree with this.

@aekiss
Copy link
Contributor

aekiss commented Jan 24, 2024

I like the idea of defaulting to reproducible exe, with CLI override

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

No branches or pull requests

3 participants