Changes between Initial Version and Version 1 of Ticket #268
- Timestamp:
- 01/20/09 04:17:10 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #268
- Property Resolution → Fixed
- Property Status new → closed
-
Ticket #268 – Description
initial v1 1 When DISTRIBUTE and INLINE_2DIOare defined (which normally happens only on the UNICOS_SN platform) there is a misalignment problem when 3D u-grid variables are written to a netCDF file: successive rows of data are out of step by 1, leading to a skewing of the fields. The same error occurs (I think) when data are read from a restart file.1 When '''DISTRIBUTE''' and '''INLINE_2DIO''' are defined (which normally happens only on the UNICOS_SN platform) there is a misalignment problem when 3D u-grid variables are written to a netCDF file: successive rows of data are out of step by 1, leading to a skewing of the fields. The same error occurs (I think) when data are read from a restart file. 2 2 3 I have traced this to functions mp_gather2d and mp_scatter2d in distribute.F. These have code to adjust the offset for U and V grids:3 I have traced this to functions '''mp_gather2d''' and '''mp_scatter2d''' in '''distribute.F'''. These have code to adjust the offset for U and V grids: 4 4 {{{ 5 5 IF ((MyType.eq.p2dvar).or.(MyType.eq.u2dvar)) Io=1 6 6 IF ((MyType.eq.p2dvar).or.(MyType.eq.v2dvar)) Jo=1 7 7 }}} 8 However this doesn't anticipate the possibility that mp_gather2d and mp_scatter2d will be called for 3D variables, as happens when INLINE_2DIOis defined. To cover this case, the code should be changed to the following8 However this doesn't anticipate the possibility that '''mp_gather2d''' and '''mp_scatter2d''' will be called for 3D variables, as happens when '''INLINE_2DIO''' is defined. To cover this case, the code should be changed to the following 9 9 {{{ 10 10 IF ((MyType.eq.p2dvar).or.(MyType.eq.u2dvar).or. & … … 13 13 & (MyType.eq.p3dvar).or.(MyType.eq.v3dvar)) Jo=1 14 14 }}} 15 A modified version of distribute.Fis attached.15 A modified version of '''distribute.F''' is attached.