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

Add UM7 rigorous build option #190

Open
MartinDix opened this issue Feb 10, 2025 · 2 comments
Open

Add UM7 rigorous build option #190

MartinDix opened this issue Feb 10, 2025 · 2 comments

Comments

@MartinDix
Copy link

MartinDix commented Feb 10, 2025

To enable bounds checking and NaN initialisation, https://github.com/ACCESS-NRI/UM7/issues/37

Compiler options -fp-model strict -check all -check noarg_temp_created -init=snan -init=array -init=huge based on those used in current UM, https://code.metoffice.gov.uk/trac/um/browser/main/trunk/fcm-make/nci-x86-ifort/um-atmos-rigorous.cfg

Overrides to turn some checks off for instances of deliberate 1D overindexing etc.

@manodeep
Copy link
Contributor

@MartinDix Do these memory sanitizers require all dependencies to be built with those memory sanitizer flags as well?

Possibly relevant: https://community.intel.com/t5/Intel-Fortran-Compiler/IFX-issue-when-building-check-all-or-check-uninit/td-p/1545825

@MartinDix
Copy link
Author

This is a problem with ifx but wasn't with ifort. The model fails with an immediate error.

With ifx I've used -check noinit. The NaN initialisation is still useful because it'll eventually show there's a problem. It's just going to be harder to locate it.

harshula added a commit to ACCESS-NRI/ACCESS-ESM1.6 that referenced this issue Feb 13, 2025
harshula added a commit to ACCESS-NRI/ACCESS-ESM1.6 that referenced this issue Feb 13, 2025
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

2 participants