Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:37:55 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
d83a1cba5b Jean*0001 #include "CPP_EEOPTIONS.h"
457f503a3b Gael*0002 
d83a1cba5b Jean*0003 C--  File zero_adj.F:
                0004 C--   Contents
                0005 C--   o ADZERO_ADJ_1D
                0006 C--   o ADZERO_ADJ_LOC
                0007 C--   o ADZERO_ADJ
                0008 
                0009 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0010 CBOP
c124b12f71 Gael*0011 C     !ROUTINE: ADZERO_ADJ_1D
                0012 C     !INTERFACE:
                0013       SUBROUTINE ADZERO_ADJ_1D(
d83a1cba5b Jean*0014      I                  NrIn, adFieldFwd, myThid )
c124b12f71 Gael*0015 C     !DESCRIPTION: \bv
                0016 C     *==========================================================*
                0017 C     | o zero out a 1D adjoint field
                0018 C     | author: Gael Forget
                0019 C     *==========================================================*
d83a1cba5b Jean*0020 C     \ev
c124b12f71 Gael*0021 
d83a1cba5b Jean*0022 C     !USES:
c124b12f71 Gael*0023       IMPLICIT NONE
d83a1cba5b Jean*0024 C     === Global variables ===
c124b12f71 Gael*0025 #include "SIZE.h"
                0026 #include "EEPARAMS.h"
                0027 
d83a1cba5b Jean*0028 C     !INPUT/OUTPUT PARAMETERS:
                0029 C     myThid :: my Thread Id number
                0030       INTEGER NrIn, myThid
c124b12f71 Gael*0031       _RL adFieldFwd(NrIn)
                0032 
d83a1cba5b Jean*0033 C     !LOCAL VARIABLES:
                0034       INTEGER k
                0035 CEOP
c124b12f71 Gael*0036 
                0037       DO k=1,NrIn
                0038          adFieldFwd(k) = 0. _d 0
                0039       ENDDO
                0040 
d83a1cba5b Jean*0041       RETURN
                0042       END
c124b12f71 Gael*0043 
d83a1cba5b Jean*0044 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0045 CBOP
7aad1734d0 Gael*0046 C     !ROUTINE: ADZERO_ADJ_LOC
457f503a3b Gael*0047 C     !INTERFACE:
7aad1734d0 Gael*0048       SUBROUTINE ADZERO_ADJ_LOC(
d83a1cba5b Jean*0049      I                  NrIn, adFieldFwd, myThid )
457f503a3b Gael*0050 C     !DESCRIPTION: \bv
                0051 C     *==========================================================*
7aad1734d0 Gael*0052 C     | o zero out a local (no nsx,nsy dims.) adjoint field
457f503a3b Gael*0053 C     | author: Gael Forget
                0054 C     *==========================================================*
d83a1cba5b Jean*0055 C     \ev
457f503a3b Gael*0056 
d83a1cba5b Jean*0057 C     !USES:
c7d7bc9269 Patr*0058       IMPLICIT NONE
d83a1cba5b Jean*0059 C     === Global variables ===
457f503a3b Gael*0060 #include "SIZE.h"
                0061 #include "EEPARAMS.h"
                0062 
d83a1cba5b Jean*0063 C     !INPUT/OUTPUT PARAMETERS:
                0064 C     myThid :: my Thread Id number
                0065       INTEGER NrIn, myThid
                0066       _RL adFieldFwd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,NrIn)
457f503a3b Gael*0067 
d83a1cba5b Jean*0068 C     !LOCAL VARIABLES:
                0069       INTEGER i,j,k
                0070 CEOP
c7d7bc9269 Patr*0071 
7aad1734d0 Gael*0072       DO k=1,NrIn
d83a1cba5b Jean*0073        DO j=1-OLy,sNy+OLy
                0074         DO i=1-OLx,sNx+OLx
c7d7bc9269 Patr*0075          adFieldFwd(i,j,k) = 0. _d 0
457f503a3b Gael*0076         ENDDO
                0077        ENDDO
                0078       ENDDO
                0079 
d83a1cba5b Jean*0080       RETURN
                0081       END
7aad1734d0 Gael*0082 
d83a1cba5b Jean*0083 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0084 CBOP
7aad1734d0 Gael*0085 C     !ROUTINE: ADZERO_ADJ
457f503a3b Gael*0086 C     !INTERFACE:
7aad1734d0 Gael*0087       SUBROUTINE ADZERO_ADJ(
d83a1cba5b Jean*0088      I                  NrIn, adFieldFwd, myThid )
457f503a3b Gael*0089 C     !DESCRIPTION: \bv
                0090 C     *==========================================================*
7aad1734d0 Gael*0091 C     | o zero out a full (incl. nsx,nsy dims.) adjoint field
457f503a3b Gael*0092 C     | author: Gael Forget
                0093 C     *==========================================================*
d83a1cba5b Jean*0094 C     \ev
457f503a3b Gael*0095 
d83a1cba5b Jean*0096 C     !USES:
c7d7bc9269 Patr*0097       IMPLICIT NONE
d83a1cba5b Jean*0098 C     === Global variables ===
457f503a3b Gael*0099 #include "SIZE.h"
                0100 #include "EEPARAMS.h"
                0101 
d83a1cba5b Jean*0102 C     !INPUT/OUTPUT PARAMETERS:
                0103 C     myThid :: my Thread Id number
                0104       INTEGER NrIn, myThid
                0105       _RL adFieldFwd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,NrIn,nSx,nSy)
457f503a3b Gael*0106 
d83a1cba5b Jean*0107 C     !LOCAL VARIABLES:
                0108       INTEGER bi,bj
                0109       INTEGER i,j,k
                0110 CEOP
c7d7bc9269 Patr*0111 
7aad1734d0 Gael*0112       DO bj=myByLo(myThid),myByHi(myThid)
                0113        DO bi=myBxLo(myThid),myBxHi(myThid)
                0114         DO k=1,NrIn
d83a1cba5b Jean*0115          DO j=1-OLy,sNy+OLy
                0116           DO i=1-OLx,sNx+OLx
c7d7bc9269 Patr*0117            adFieldFwd(i,j,k,bi,bj) = 0. _d 0
7aad1734d0 Gael*0118           ENDDO
                0119          ENDDO
457f503a3b Gael*0120         ENDDO
                0121        ENDDO
7aad1734d0 Gael*0122       ENDDO
457f503a3b Gael*0123 
d83a1cba5b Jean*0124       RETURN
                0125       END