Opened 16 years ago

Closed 16 years ago

#198 closed bug (Fixed)

Initialization problem — at Version 1

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 arango)

The changes made in response to src:ticket:195 (OpenMP undeclared variables) appear to have broken the initialisation process in serial mode.

Specifically, if I run BENCHMARK in serial mode with bounds-checking enabled, Lm=512, Mm=64 (the smallest benchmark domain), NTileI=1, NtileJ=4, I hit a bounds-checking error in LMD_SWFRAC_TILE, where some elements of MIXING(ng)%Jwtype are equal to zero and are used as indices into an array dimensioned 1:5. Going back to the place where these should be set, namely INITIALIZE_MIXING in mod_mixing.F, it appears that this is called only once, and sets only the values in the southernmost tile.

The BENCHMARK application now runs OK in OpenMP mode.

Change History (1)

comment:1 by arango, 16 years ago

Description: modified (diff)
Resolution: Fixed
Status: newclosed

Yes, I screw-up. I changed the order of the CPP conditional. I need to test on #ifdef _OPENMP for the special statements and rest goes to the #else conditional. That is, the distributed-memory and serial (with or whithout partitions) applications. There is some trickery here.

Note: See TracTickets for help on using tickets.