Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:38:12 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
8d92b2862f Jean*0001 #include "BULK_FORCE_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: BULKF_FLUX_ADJUST
                0005 C     !INTERFACE:
                0006       SUBROUTINE BULKF_FLUX_ADJUST(
                0007      I                              bi, bj, iMin, iMax, jMin, jMax,
                0008      I                              adjustMask,
                0009      I                              myTime, myIter, myThid )
                0010 C     !DESCRIPTION: \bv
                0011 C     *==========================================================*
                0012 C     | S/R BULKF_FLUX_ADJUST
                0013 c     | o Modify fluxes (Qnet,EmPmR) where adjustMask=True
                0014 C     *==========================================================*
                0015 C     | o presently implemented:
                0016 C     | replace computed Qnet,EmPmR by prescribed Qnetch,EmPch
                0017 C     *==========================================================*
                0018 C     \ev
                0019 
                0020 C     !USES:
                0021       IMPLICIT NONE
                0022 
                0023 C     == Global data ==
                0024 #include "SIZE.h"
                0025 #include "EEPARAMS.h"
                0026 #include "FFIELDS.h"
                0027 #include "BULKF_PARAMS.h"
                0028 #include "BULKF.h"
                0029 
                0030 C     !INPUT/OUTPUT PARAMETERS:
                0031 C     === Routine arguments ===
                0032 C     bi, bj      :: tile indices
                0033 C     iMin,iMax   :: computation domain: 1rst index range
                0034 C     jMin,jMax   :: computation domain: 2nd  index range
                0035 C     adjustMask  :: True where flux adjustment applies
                0036 C     myTime      :: Current time in simulation
                0037 C     myIter      :: Current iteration number in simulation
                0038 C     myThid      :: My Thread number Id
                0039 
                0040       INTEGER bi,bj
                0041       INTEGER iMin, iMax
                0042       INTEGER jMin, jMax
                0043       LOGICAL adjustMask(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0044       _RL     myTime
                0045       INTEGER myIter
                0046       INTEGER myThid
                0047 CEOP
                0048 
                0049 C     == Local variables ==
                0050       INTEGER i,j
                0051 
                0052       IF ( useQnetch ) THEN
                0053         DO j = jMin, jMax
                0054          DO i = iMin, iMax
                0055            IF ( adjustMask(i,j) ) Qnet(i,j,bi,bj) = Qnetch(i,j,bi,bj)
                0056          ENDDO
                0057         ENDDO
                0058       ENDIF
                0059 
                0060       IF ( useEmPch ) THEN
                0061         DO j = jMin, jMax
                0062          DO i = iMin, iMax
                0063            IF ( adjustMask(i,j) ) EmPmR(i,j,bi,bj) = EmPch(i,j,bi,bj)
                0064          ENDDO
                0065         ENDDO
                0066       ENDIF
                0067 
                0068       RETURN
                0069       END