Open aidanheerdegen opened 7 months ago
Note the relevant code changes would have to be made here:
https://github.com/payu-org/payu/blob/master/payu/manifest.py#L277-L281
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.
I like the idea of defaulting to reproducible exe, with CLI override
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 https://github.com/payu-org/payu/issues/203 but the default was
False
for all three.There is a suggestion to make
manifest/exe.yaml
reproduce default to true. See https://github.com/payu-org/payu/issues/379#issuecomment-1807259497 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
inconfig.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
: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.