Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:45:20 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
fb34c819e3 Jean*0001 CBOP
                0002 C     !ROUTINE: MDSIO_BUFF_3D.h
                0003 C     !INTERFACE:
                0004 C     include "MDSIO_BUFF_3D.h"
                0005 C
                0006 C     !DESCRIPTION:
                0007 C     *==========================================================*
                0008 C     | MDSIO_BUFF_3D.h
                0009 C     | o Shared 3-D Buffers used for I/O
                0010 C     *==========================================================*
                0011 CEOP
                0012 
                0013 C     size3dBuf  :: buffer 3rd dimension, corresponds to the maximum number
                0014 C                   of levels that can be read/written at a time.
                0015 C     Note: minimum value = Nr, but in few cases (vertical interpolation,
                0016 C           NrPhys from Fizhi, ...)  needs to be larger. Here we pick 2*Nr
                0017 C           which should be enough for most applications.
                0018       INTEGER size3dBuf
                0019 #ifdef ALLOW_FIZHI
                0020       PARAMETER ( size3dBuf = Nr+NrPhys )
                0021 #else
                0022 c     PARAMETER ( size3dBuf = 2*Nr )
                0023 C     increase buffer size (below) for some pkg/layers output:
                0024       PARAMETER ( size3dBuf = 3*Nr )
                0025 #endif
                0026 
                0027 C--   COMMON /MDS_3D_BUFFERS/  3-D Shared Local Buffers
                0028 C     Those buffers have be in common block to be shared by all threads;
                0029 C     considered to be "owned" by master-thread and any access by other 
                0030 C     than master thread needs to be put protected by BARRIER.
                0031 C shared3dBuf_rx :: Heap storage buffer to which master thread
                0032 C                   read-in/write-from data which all threads copy from
                0033 C                   (during read) or copy to (during write).
                0034       COMMON /MDS_3D_BUFFERS/ shared3dBuf_r8, shared3dBuf_r4
                0035       Real*8 shared3dBuf_r8( sNx*sNy*size3dBuf*nSx*nSy )
                0036       Real*4 shared3dBuf_r4( sNx*sNy*size3dBuf*nSx*nSy )
                0037 
                0038 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|