Back to home page

MITgcm

 
 

    


File indexing completed on 2021-10-13 05:14:42 UTC

view on githubraw file Latest commit c59dd234 on 2021-10-12 16:00:15 UTC
6b47d550f4 Mart*0001 #include "CTRL_OPTIONS.h"
                0002 C- note: although we just need CPP_EEOPTIONS.h here, prefer to
                0003 C        include the same option-file above as in the AD version.
                0004 
                0005 C--  File ctrl_bound_tl.F:
                0006 C--   Contents
                0007 C--   o CTRL_BOUND_3D_TL
                0008 C--   o CTRL_BOUND_2D_TL
                0009 
                0010 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0011 CBOP
                0012 C     !ROUTINE: CTRL_BOUND_3D_TL
                0013 C     !INTERFACE:
                0014       SUBROUTINE CTRL_BOUND_3D_TL(
                0015      U                fieldCur, fieldCur_tl,
c59dd234b1 Jean*0016      I                mask3D, boundsVec, myThid )
6b47d550f4 Mart*0017 C     !DESCRIPTION: \bv
                0018 C     *==========================================================*
                0019 C     | o tangent linear version of S/R CTRL_BOUND_3D. Call
                0020 C     |   S/R CTRL_BOUND_3D to apply specified bounds to control
                0021 C     |   variable, but leave tangent linear variable alone
                0022 C     *==========================================================*
                0023 C     \ev
                0024 
                0025 C     !USES:
                0026       IMPLICIT NONE
                0027 #include "SIZE.h"
                0028 #include "EEPARAMS.h"
                0029 
                0030 C     !INPUT/OUTPUT PARAMETERS:
c59dd234b1 Jean*0031       _RL fieldCur   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0032       _RL fieldCur_tl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0033       _RS mask3D     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
6b47d550f4 Mart*0034       _RL boundsVec(5)
                0035       INTEGER myThid
                0036 
c59dd234b1 Jean*0037       CALL CTRL_BOUND_3D(fieldCur,mask3D,boundsVec,myThid)
6b47d550f4 Mart*0038 
                0039       RETURN
                0040       END
                0041 
                0042 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0043 CBOP
                0044 C
                0045 C     !ROUTINE: CTRL_BOUND_2D_TL
                0046 C     !INTERFACE:
                0047       SUBROUTINE CTRL_BOUND_2D_TL(
                0048      U                fieldCur, fieldCur_tl,
c59dd234b1 Jean*0049      I                mask2D, boundsVec, myThid )
6b47d550f4 Mart*0050 C     !DESCRIPTION: \bv
                0051 C     *==========================================================*
                0052 C     | o tangent linear version of S/R CTRL_BOUND_2D. Call
                0053 C     |   S/R CTRL_BOUND_2D to apply specified bounds to control
                0054 C     |   variable, but leave tangent linear variable alone
                0055 C     *==========================================================*
                0056 C     \ev
                0057 
                0058 C     !USES:
                0059       IMPLICIT NONE
                0060 #include "SIZE.h"
                0061 #include "EEPARAMS.h"
                0062 
                0063 C     !INPUT/OUTPUT PARAMETERS:
c59dd234b1 Jean*0064       _RL fieldCur   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0065       _RL fieldCur_tl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0066       _RS mask2D     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
6b47d550f4 Mart*0067       _RL boundsVec(5)
                0068       INTEGER myThid
                0069 
c59dd234b1 Jean*0070       CALL CTRL_BOUND_2D(fieldCur,mask2D,boundsVec,myThid)
6b47d550f4 Mart*0071 
                0072       RETURN
                0073       END