Opened 17 years ago
Closed 17 years ago
#209 closed bug (Fixed)
FLT_TEST 3D with MPI, out of bounds access in isobaric correction
Reported by: | m.hadfield | Owned by: | arango |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.2 |
Component: | Nonlinear | Version: | 3.2 |
Keywords: | Cc: |
Description (last modified by )
When running FLT_TEST with SOLVE3D defined, with MPI and bounds-checking enabled, an out of bounds error is triggered in step_floats_tile in the code that keeps the floats at their initial depth. The specific statement where the out-of-bounds error occurs is at line 292 in step_floats.F and the failure occurs for float l=231 (i.e. near the top of the grid). The reason it occurs is the horizontal locations, track(ixgrd,nfp1,l) and track(ixgrd,nfp1,l), appear not to have been initialised.
I will look into this further when I can.
Change History (1)
comment:1 by , 17 years ago
Description: | modified (diff) |
---|---|
Resolution: | → Fixed |
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Yes, this one was nasty. First, the out-of-bounds was because the logic to initialize the floats in grid_coords.F has some problems. The conditional statement to compute MyThread(:) needs to be the same that we have in step_floats.F. We also have couple of parallel bugs in step_floats.F. We were not getting the exact trajectories in different tile partitions. This happened when an isobaric float was moving to another tile.
I cleaned the code a little and now three types of floats are allowed: