Opened 3 years ago
Closed 3 years ago
#2721 closed Bug (fixed)
Failing SETTE tests with debug flags (r15199)
Reported by: | hadcv | Owned by: | hadcv |
---|---|---|---|
Priority: | low | Milestone: | Unscheduled |
Component: | MULTIPLE | Version: | trunk |
Severity: | minor | Keywords: | SETTE, debug |
Cc: |
Description (last modified by hadcv)
Context
This ticket covers several fixes for SETTE failures when using debug flags.
The arch file is arch-XC40_METO_IFORT.fcm but with:
%FCFLAGS -r8 -i4 -init=arrays,snan,huge -traceback -debug all -debug inline-debug-info -g -O0 -fp-model strict -check all,noarg_temp_created -fpe-all0 -ftz -ftrapuv
Issues/fixes
- AMM12
Floating point exception in dia_25h due to ww being undefined on halo points in the expression wn_25h(:,:,:) + ww(:,:,:).
Fix: All dia25h.F90 local/module variables are declared without halo points and the code modified accordingly. The XIOS field definitions for the diagnostics are changed to the "inner" grid (as per #2694). A correction to the grid_W_3D_inner definition in grid_def_nemo.xml is required as part of this.
Note: As noted in #2694, there is no output of "inner" grid nav_lat/nav_lon to avoid duplication. Since dia_25h variables are output in their own files, these files will not contain any nav_lat/nav_lon coordinates after this fix.
- WED025 (nn_hls = 2 + ln_tile = T)
Floating point exception in zdf_mxl due to hmlp not being defined on all points in the expression hmlp - risfdep when using tiling.
Fix: Evaluate this expression only after hmlp is defined on all points (at the last tile). The same is required of hmld in zdf_mxl_turb, but it must first be initialised as it is undefined on the 2nd halo points. This is done in zdf_phy_init, requiring the call to zdf_phy_alloc to be moved here from zdf_mxl.
- SWG
Floating point exception in dia_wri due to r3u being undefined on the 2nd halo points in the expression hu_0(:,:)*(1._wp+r3u(:,:,Kmm)).
Fix: Add an lbc_lnk to SWE/stpmlf.F90 for r3u(:,:,Naa) and r3v(:,:,Naa), as done in SWE/stprk3.F90. It is also necessary to set ln_dia25h = .FALSE. in SWE/nemogcm.F90 as dia_25h_init is not called and this logical is not initialised, resulting in segmentation faults when it changes value randomly.
Note: I also corrected the labels ("stp_MLF" -> "stp_RK3") and grids ("U" -> "V" for r3v) in the lbc_lnk calls in SWE/stprk3.F90. This does not affect the SETTE tests, but could have given a wrong result when using key_RK3.
- ICE_AGRIF
See #2682- this is still unresolved.
Fix: Compile XIOS with -O1.
Commit History (1)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
15249 | hadcv | 2021-09-13T11:59:09+02:00 | #2721: Fix SETTE debug failures |
Change History (2)
comment:1 Changed 3 years ago by hadcv
comment:2 Changed 3 years ago by hadcv
- Description modified (diff)
- Resolution set to fixed
- Status changed from new to closed
In 15249: