C $Header: /u/gcmpack/MITgcm/pkg/autodiff/adzero_adj.F,v 1.6 2010/08/06 18:41:03 gforget Exp $
C $Name: $
#include "CPP_OPTIONS.h"
C !ROUTINE: ADZERO_ADJ_1D
C !INTERFACE:
SUBROUTINE ADZERO_ADJ_1D(
I NrIn, adFieldFwd, myThid)
C !DESCRIPTION: \bv
C *==========================================================*
C | o zero out a 1D adjoint field
C | author: Gael Forget
C *==========================================================*
IMPLICIT NONE
C == Global arguments ==
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
C == Routine arguments ==
C myThid - Thread number for this instance of the routine.
integer NrIn,myThid
_RL adFieldFwd(NrIn)
C == Local arguments ==
integer bi,bj,i,j,k
DO k=1,NrIn
adFieldFwd(k) = 0. _d 0
ENDDO
end
C !ROUTINE: ADZERO_ADJ_LOC
C !INTERFACE:
SUBROUTINE ADZERO_ADJ_LOC(
I NrIn, adFieldFwd, myThid)
C !DESCRIPTION: \bv
C *==========================================================*
C | o zero out a local (no nsx,nsy dims.) adjoint field
C | author: Gael Forget
C *==========================================================*
IMPLICIT NONE
C == Global arguments ==
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
C == Routine arguments ==
C myThid - Thread number for this instance of the routine.
integer NrIn,myThid
_RL adFieldFwd(1-Olx:sNx+Olx,1-Oly:sNy+Oly,NrIn)
C == Local arguments ==
integer bi,bj,i,j,k
DO k=1,NrIn
DO j=1-Oly,sNy+Oly
DO i=1-Olx,sNx+Olx
adFieldFwd(i,j,k) = 0. _d 0
ENDDO
ENDDO
ENDDO
end
C !ROUTINE: ADZERO_ADJ
C !INTERFACE:
SUBROUTINE ADZERO_ADJ(
I NrIn, adFieldFwd, myThid)
C !DESCRIPTION: \bv
C *==========================================================*
C | o zero out a full (incl. nsx,nsy dims.) adjoint field
C | author: Gael Forget
C *==========================================================*
IMPLICIT NONE
C == Global arguments ==
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
C == Routine arguments ==
C myThid - Thread number for this instance of the routine.
integer NrIn,myThid
_RL adFieldFwd(1-Olx:sNx+Olx,1-Oly:sNy+Oly,NrIn,nSx,nSy)
C == Local arguments ==
integer bi,bj,i,j,k
DO bj=myByLo(myThid),myByHi(myThid)
DO bi=myBxLo(myThid),myBxHi(myThid)
DO k=1,NrIn
DO j=1-Oly,sNy+Oly
DO i=1-Olx,sNx+Olx
adFieldFwd(i,j,k,bi,bj) = 0. _d 0
ENDDO
ENDDO
ENDDO
ENDDO
ENDDO
end