Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:41:47 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
0af7e34ef5 Oliv*0001 #include "LONGSTEP_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: LONGSTEP_FILL_3D_RS
                0005 C     !INTERFACE:
                0006       SUBROUTINE LONGSTEP_FILL_3D_RS(
                0007      U      lsCnt, lsFld,
                0008      I      fld, myNr, myThid)
                0009 
                0010 C     !DESCRIPTION: \bv
                0011 C     *==========================================================*
                0012 C     | SUBROUTINE LONGSTEP_FILL_3D_RS
                0013 C     | o update longstep average for one field (incl. overlap)
                0014 C     |   version for accumulating _RS fld (to _RL lsFld)
                0015 C     *==========================================================*
                0016 C     \ev
                0017 
                0018 C     !USES:
                0019       IMPLICIT NONE
                0020 C     == Global variables ===
                0021 #include "SIZE.h"
                0022 #include "EEPARAMS.h"
                0023 #include "PARAMS.h"
                0024 #include "GRID.h"
                0025 
                0026 C     !INPUT/OUTPUT PARAMETERS:
                0027 C     == Routine arguments ==
                0028 C      lsCnt :: Counter to update
                0029 C      lsFld :: average to update
                0030 C        fld :: field to accumulate
                0031 C       myNr :: number of levels to update
                0032 C     myThid :: my Thread Id number
117d66e42b Oliv*0033       INTEGER myNr
0af7e34ef5 Oliv*0034       _RL lsFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNr,nSx,nSy)
                0035       _RS Fld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNr,nSx,nSy)
117d66e42b Oliv*0036       INTEGER lsCnt(nSx,nSy)
0af7e34ef5 Oliv*0037       INTEGER myThid
                0038 
                0039 #ifdef ALLOW_LONGSTEP
                0040 C     !LOCAL VARIABLES:
                0041 C     == Local variables ==
                0042       INTEGER i,j,k,bi,bj
                0043 CEOP
                0044 
                0045       DO bj=myByLo(myThid), myByHi(myThid)
                0046        DO bi=myBxLo(myThid), myBxHi(myThid)
117d66e42b Oliv*0047         lsCnt(bi,bj) = lsCnt(bi,bj) + 1
0af7e34ef5 Oliv*0048         DO k = 1,myNr
                0049          DO j = 1-OLy,sNy+OLy
                0050           DO i = 1-OLx,sNx+OLx
                0051            lsFld(i,j,k,bi,bj) = lsFld(i,j,k,bi,bj) + fld(i,j,k,bi,bj)
                0052           ENDDO
                0053          ENDDO
                0054         ENDDO
                0055        ENDDO
                0056       ENDDO
                0057 #endif /* ALLOW_LONGSTEP */
                0058 
                0059       RETURN
                0060       END
                0061