-
Notifications
You must be signed in to change notification settings - Fork 19
Floating point overflow in gsw_poly_check test #29
Description
Building and running the ctests gives this failure:
[ 97%] Built target gsw_objects
[ 98%] Built target gsw_shared
[ 99%] Built target gsw_static
[ 99%] Building Fortran object test/CMakeFiles/gsw_poly_check.x.dir/gsw_poly_check.f90.o
[100%] Linking Fortran executable gsw_poly_check.x
[100%] Built target gsw_poly_check.x
[100%] Building Fortran object test/CMakeFiles/gsw_check_functions.x.dir/gsw_check_functions.f90.o
[100%] Linking Fortran executable gsw_check_functions.x
[100%] Built target gsw_check_functions.x
Test project /home/users/david.davies/cylc-run/mi-bg854/work/1/build_gsw_fortran_teos_spicenag700/build
Start 1: gsw_poly_check
1/2 Test #1: gsw_poly_check ...................Subprocess aborted***Exception: 0.15 sec
Runtime Error: *** Arithmetic exception: Floating overflow - aborting
/home/users/david.davies/cylc-run/mi-bg854/work/1/get_source_gsw_fortran_teos/GSW-Fortran/toolbox/gsw_t_freezing_poly.f90, line 2: Error occurred in GSW_T_FREEZING_POLY
/home/users/david.davies/cylc-run/mi-bg854/work/1/get_source_gsw_fortran_teos/GSW-Fortran/toolbox/gsw_t_freezing_exact.f90, line 43: Called by GSW_T_FREEZING_EXACT
/home/users/david.davies/cylc-run/mi-bg854/work/1/get_source_gsw_fortran_teos/GSW-Fortran/toolbox/gsw_ct_freezing_exact.f90, line 37: Called by GSW_CT_FREEZING_EXACT
/home/users/david.davies/cylc-run/mi-bg854/work/1/get_source_gsw_fortran_teos/GSW-Fortran/test/gsw_poly_check.f90, line 56: Called by GSW_POLY_CHECK
Adding some print statements in gsw_t_freezing_poly.f90 (and removing the elemental) gives these values in the lead up to the calculation:
in gsw_t_freezing_poly, sa = 8.9999999999999998E+90
in gsw_t_freezing_poly, sa_r = 8.9999999999999998E+88
in gsw_t_freezing_poly, x = 2.9999999999999999E+44
in gsw_t_freezing_poly, p_r = 8.9999999999999999E+86
Runtime Error: *** Arithmetic exception: Floating overflow - aborting
I am compiling with nagfor 7.0 via cmake.