Opened 14 years ago
Closed 14 years ago
#483 closed bug (Fixed)
Updated writing of water points, WRITE_WATER option
Reported by: | arango | Owned by: | arango |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.4 |
Component: | Nonlinear | Version: | 3.4 |
Keywords: | Cc: |
Description
The option to write only water points (WRITE_WATER) in output NetCDF files was updated to account for the recent internal changes to land/sea masking (see src:ticket:476):
- The call to the wpoints routine is moved from initial to main2d/main3d after the call to set_masks during the initialization step. This is because we need to have the point source modifications to internal land/sea masking arrays (rmask_io and friends) before the waters points counters and indices are computed.
- The code to compute the water points is changed to correct bug leading to a miscount in periodic boundary applications. Notice that the (IstrR, IendR) and (JstrR, JendR) ranges are different in periodic applications. We need to process interior points and boundary points separately.
- Notice that the calls to set_masks and wpoints need to be in a separate parallel loops. This is to avoid a serial with partition or shared-memory bug.
- The masking arrays in output NetCDF headers is changed to pmask_io, rmask_io, umask_io, and vmask_io when either WRITE_WATER or UV_PSOURCE is actiavated. This does not affect ROMS computations because the land/sea masks array pmask, rmask, umask, and vmask are still read from input GRID NetCDF file.
Many thanks to Mathieu Dutour for bringing this to my attention.
Note:
See TracTickets
for help on using tickets.