Back to home page

MITgcm

 
 

    


File indexing completed on 2024-06-20 05:10:31 UTC

view on githubraw file Latest commit 4dea3279 on 2024-06-19 16:30:10 UTC
d7fbd5d0c9 Gael*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 
bd5a66c990 Gael*0013 #ifdef ALLOW_WHIO
7c50f07931 Mart*0014 C--   COMMON /MDS_WH_BUFFERS_R[8,4]/  Shared Local Buffers With Halos
d7fbd5d0c9 Gael*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).
7c50f07931 Mart*0019       COMMON /MDS_WH_BUFFERS_R8/ fld2d_procbuff_r8
4dea327916 aver*0020 # ifndef EXCLUDE_WHIO_GLOBUFF_2D
7c50f07931 Mart*0021      &                         , fld2d_globuff_r8
4dea327916 aver*0022 # endif
7c50f07931 Mart*0023       COMMON /MDS_WH_BUFFERS_R4/ fld2d_procbuff_r4
4dea327916 aver*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
d7fbd5d0c9 Gael*0033 
4dea327916 aver*0034 # ifdef ALLOW_WHIO_3D
ab63ca39fb Gael*0035       COMMON /MDS_WH_BUFFERS_3D_L/ writeWh
4dea327916 aver*0036       LOGICAL writeWh
ab63ca39fb Gael*0037       COMMON /MDS_WH_BUFFERS_3D_I/ iWh, jWh
4dea327916 aver*0038       INTEGER nWh, iWh, jWh
867612a7a5 Gael*0039       PARAMETER (nWh=30*Nr)
4dea327916 aver*0040       COMMON /MDS_WH_BUFFERS_3D_R8/ fld3d_procbuff_r8
ab63ca39fb Gael*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
ab63ca39fb Gael*0047 #  endif
                0048       Real*8 fld3d_procbuff_r8
4dea327916 aver*0049      &       ( (sNx+2*OLx)*(sNy+2*OLy)*nSx*nSy*nWh )
ab63ca39fb Gael*0050       Real*4 fld3d_procbuff_r4
4dea327916 aver*0051      &       ( (sNx+2*OLx)*(sNy+2*OLy)*nSx*nSy*nWh )
ab63ca39fb Gael*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 )
ab63ca39fb Gael*0057 #  endif
4dea327916 aver*0058 # endif /* ALLOW_WHIO_3D */
ab63ca39fb Gael*0059 
4dea327916 aver*0060 #endif /* ALLOW_WHIO */
ab63ca39fb Gael*0061 
d7fbd5d0c9 Gael*0062 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|