-
Notifications
You must be signed in to change notification settings - Fork 352
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
SIGFPE: Floating-point exception in CH4Mod.F90 #6428
Comments
This would get more traction with a title that points to the routine. Fixed it. The test name doesn't help for these fully coupled water cycle cases since so many components are running. |
SMS_D_Ld1.ne30pg2_r05_IcoswISC30E3r5.WCYCLSSP370.pm-cpu_gnu.allactive-wcprodssp
Adding prints, I see that If I try something like this:
the run continues. I'm not sure if that's good solution or if all compilers support epsilonI(). Or maybe we already have shared variable representing fortrans intrinsic epsilon()? ... Or... we don't expect |
@ndkeen Thanks for further looking into this. There have been a few cases of floating-point underflow/overflow happening like this, and it's good to get rid of them as unless the machine is dividing a number by an exact multiple, the result in undetermined. I'd have to look further into how |
I suppose we aren't hitting div-by-zero, but a different FP issue: overflow. It seems safe to use |
Made a PR that addresses this Issue. Point of note, the function we want is On the other hand |
On pm-cpu (as well as gcp12) this DEBUG test
SMS_D_Ld1.ne30pg2_r05_IcoswISC30E3r5.WCYCLSSP370.pm-cpu_gnu.allactive-wcprodssp
fails with GNU.
In
components/elm/src/biogeochem/CH4Mod.F90
The text was updated successfully, but these errors were encountered: