Opened 7 years ago
Closed 6 years ago
#505 closed defect (fixed)
Relax tolerance on signal_amp comparison in ropp_pp
Reported by: | Ian Culverwell | Owned by: | Ian Culverwell |
---|---|---|---|
Priority: | normal | Milestone: | 9.1 |
Component: | ropp_pp | Version: | 8.0 |
Keywords: | Cc: |
Description
A helpdesk enquirer (Hui Liu, UCAR) found occasional, spot differences in the signal_amp field produced by ropp_pp/tools/ropp_pp_spectra_tool, which exceed the threshold (0.19073E-05 > 0.10000E-06). Enq 351 refers. These differences are physically negligible ('spotty'), so we should just relax the threshold (eg to 10e-6) at the next release.
He was running with ifort17 on linux. Files attached.
Attachments (4)
Change history (9)
by , 7 years ago
Attachment: | ROanalysis_dt_L2_diff.png added |
---|
by , 7 years ago
Attachment: | ROanalysis_dt_L2.nc added |
---|
by , 7 years ago
Attachment: | ROanalysis_dt_L2_reference.nc added |
---|
by , 7 years ago
comment:1 by , 6 years ago
comment:2 by , 6 years ago
Type: | enhancement → defect |
---|
The ifort17 mini-configure scripts that I wrote as part of this investigation were added to the repository at r5588.
comment:3 by , 6 years ago
I've rearranged the ropp_io_compare furniture a bit at r5589. (Also included a call to ropp_pp_preprocess_CHAMP in ropp_pp_spectra_tool.)
I can't reproduce Hui's problem with ifort-17.0.1, which is the latest version we have. Hui used ifort-17.0.3. We both used
-O2
optimisation, but even without optimisation (-O0
) I findThe maximum |diff| on the (non-)offending test is 9.536743164062500E-007, which is uncomfortably close to the 1.E-6 threshold. (For L1 dt this is 4.768371582031250E-007 with
-O0
, 1.192092895507812E-007 with-O2
.)Part of the problem is that these quantities are written as single precision variables in the file, so we are probably looking at differences in the last bit. (Note that the L2:L1 differences reported above are exactly 2:1 or 8:1.)
To avoid
wastingspending any more time on this, simply increase the tolerance on the signal amplitude in ropp_io_compare_fields.f90 from 1.0e-6 to 1.0e-5 at r5587.