Changes between Initial Version and Version 1 of Ticket #268


Ignore:
Timestamp:
01/20/09 04:17:10 (15 years ago)
Author:
arango
Comment:

Yes, good catch. All this logic will change in my next update when I release the parallel I/O capabilities. I assume that with parallel I/O you no longer need to use the INLINE_2DIO option since each node process their own tile (a smaller array).

Also corrected bug in mod_sources.F. See the following forum post for more details.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #268

    • Property ResolutionFixed
    • Property Status newclosed
  • Ticket #268 – Description

    initial v1  
    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.
     1When '''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.
    22
    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:
     3I 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:
    44{{{
    55      IF ((MyType.eq.p2dvar).or.(MyType.eq.u2dvar)) Io=1
    66      IF ((MyType.eq.p2dvar).or.(MyType.eq.v2dvar)) Jo=1
    77}}}
    8 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
     8However 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
    99{{{
    1010      IF ((MyType.eq.p2dvar).or.(MyType.eq.u2dvar).or.                  &
     
    1313     &    (MyType.eq.p3dvar).or.(MyType.eq.v3dvar)) Jo=1
    1414}}}
    15 A modified version of distribute.F is attached.
     15A modified version of '''distribute.F''' is attached.