/[MITgcm]/MITgcm/pkg/mdsio/MDSIO_BUFF_3D.h
ViewVC logotype

Contents of /MITgcm/pkg/mdsio/MDSIO_BUFF_3D.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Mon Jun 8 03:32:33 2009 UTC (15 years ago) by jmc
Branch: MAIN
File MIME type: text/plain
 - do tiled IO in 1 piece (all levels at a time)
 - multi-threaded: allow to read/write local (non-shared) array
   (was already working with singleCpuIO ; now works also without);
 - move barrier calls outside gather/scatter_2d to mds_read/write field

1 C $Header: /u/gcmpack/MITgcm/eesupp/inc/EEBUFF_SCPU.h,v 1.1 2009/05/16 13:33:33 jmc Exp $
2 C $Name: $
3
4 CBOP
5 C !ROUTINE: MDSIO_BUFF_3D.h
6 C !INTERFACE:
7 C include "MDSIO_BUFF_3D.h"
8 C
9 C !DESCRIPTION:
10 C *==========================================================*
11 C | MDSIO_BUFF_3D.h
12 C | o Shared 3-D Buffers used for I/O
13 C *==========================================================*
14 CEOP
15
16 C size3dBuf :: buffer 3rd dimension, corresponds to the maximum number
17 C of levels that can be read/written at a time.
18 C Note: minimum value = Nr, but in few cases (vertical interpolation,
19 C NrPhys from Fizhi, ...) needs to be larger. Here we pick 2*Nr
20 C which should be enough for most applications.
21 INTEGER size3dBuf
22 PARAMETER ( size3dBuf = 2*Nr )
23
24 C-- COMMON /MDS_3D_BUFFERS/ 3-D Shared Local Buffers
25 C Those buffers have be in common block to be shared by all threads
26 C shared3dBuf_rx :: Heap storage buffer to which master thread
27 C read-in/write-from data which all threads copy from
28 C (during read) or copy to (during write).
29 COMMON /MDS_3D_BUFFERS/ shared3dBuf_r8, shared3dBuf_r4
30 Real*8 shared3dBuf_r8( sNx*sNy*size3dBuf*nSx*nSy )
31 Real*4 shared3dBuf_r4( sNx*sNy*size3dBuf*nSx*nSy )
32
33 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

  ViewVC Help
Powered by ViewVC 1.1.22