Back to home page

MITgcm

 
 

    


File indexing completed on 2024-10-18 05:12:01 UTC

view on githubraw file Latest commit 5bb179dd on 2024-10-17 18:00:27 UTC
3c775cbf98 Mart*0001 CBOP
                0002 C     !ROUTINE: MDSIO_BUFF_WH.h
                0003 C     !INTERFACE:
                0004 C     include "MDSIO_BUFF_WH.h"
                0005 C
                0006 C     !DESCRIPTION:
                0007 C     *==========================================================*
                0008 C     | MDSIO_BUFF_WH.h
                0009 C     | o Shared Buffers used for I/O WITH HALOS
                0010 C     *==========================================================*
                0011 CEOP
                0012 
                0013 #ifdef ALLOW_WHIO
4dea327916 aver*0014 C--   COMMON /MDS_WH_BUFFERS_R[8,4]/  Shared Local Buffers With Halos
3c775cbf98 Mart*0015 C     Those buffers have be in common block to be shared by all threads
                0016 C fld2d_procbuff_rx :: Heap storage buffer to which master thread
                0017 C                   read-in/write-from data which all threads copy from
                0018 C                   (during read) or copy to (during write).
4dea327916 aver*0019       COMMON /MDS_WH_BUFFERS_R8/ fld2d_procbuff_r8
                0020 # ifndef EXCLUDE_WHIO_GLOBUFF_2D
                0021      &                         , fld2d_globuff_r8
                0022 # endif
                0023       COMMON /MDS_WH_BUFFERS_R4/ fld2d_procbuff_r4
                0024 # ifndef EXCLUDE_WHIO_GLOBUFF_2D
                0025      &                         , fld2d_globuff_r4
                0026 # endif
                0027       Real*8 fld2d_procbuff_r8( (sNx+2*OLx)*(sNy+2*OLy)*nSx*nSy )
                0028       Real*4 fld2d_procbuff_r4( (sNx+2*OLx)*(sNy+2*OLy)*nSx*nSy )
                0029 # ifndef EXCLUDE_WHIO_GLOBUFF_2D
                0030       Real*8 fld2d_globuff_r8( (sNx+2*OLx)*(sNy+2*OLy)*nSx*nSy*nPx*nPy )
                0031       Real*4 fld2d_globuff_r4( (sNx+2*OLx)*(sNy+2*OLy)*nSx*nSy*nPx*nPy )
                0032 # endif
3c775cbf98 Mart*0033 
4dea327916 aver*0034 # ifdef ALLOW_WHIO_3D
3c775cbf98 Mart*0035       COMMON /MDS_WH_BUFFERS_3D_L/ writeWh
4dea327916 aver*0036       LOGICAL writeWh
3c775cbf98 Mart*0037       COMMON /MDS_WH_BUFFERS_3D_I/ iWh, jWh
4dea327916 aver*0038       INTEGER nWh, iWh, jWh
5bb179ddc2 Mart*0039       PARAMETER (nWh=95)
4dea327916 aver*0040       COMMON /MDS_WH_BUFFERS_3D_R8/ fld3d_procbuff_r8
3c775cbf98 Mart*0041 #  ifdef INCLUDE_WHIO_GLOBUFF_3D
4dea327916 aver*0042      &                            , fld3d_globuff_r8
                0043 #  endif
                0044       COMMON /MDS_WH_BUFFERS_3D_R4/ fld3d_procbuff_r4
                0045 #  ifdef INCLUDE_WHIO_GLOBUFF_3D
                0046      &                            , fld3d_globuff_r4
3c775cbf98 Mart*0047 #  endif
                0048       Real*8 fld3d_procbuff_r8
4dea327916 aver*0049      &       ( (sNx+2*OLx)*(sNy+2*OLy)*nSx*nSy*nWh )
3c775cbf98 Mart*0050       Real*4 fld3d_procbuff_r4
4dea327916 aver*0051      &       ( (sNx+2*OLx)*(sNy+2*OLy)*nSx*nSy*nWh )
3c775cbf98 Mart*0052 #  ifdef INCLUDE_WHIO_GLOBUFF_3D
                0053       Real*8 fld3d_globuff_r8
4dea327916 aver*0054      &       ( (sNx+2*OLx)*(sNy+2*OLy)*nSx*nSy*nPx*nPy*nWh )
                0055       Real*4 fld3d_globuff_r4
                0056      &       ( (sNx+2*OLx)*(sNy+2*OLy)*nSx*nSy*nPx*nPy*nWh )
3c775cbf98 Mart*0057 #  endif
4dea327916 aver*0058 # endif /* ALLOW_WHIO_3D */
3c775cbf98 Mart*0059 
4dea327916 aver*0060 #endif /* ALLOW_WHIO */
3c775cbf98 Mart*0061 
                0062 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|