3 |
|
|
4 |
#include "CPP_OPTIONS.h" |
#include "CPP_OPTIONS.h" |
5 |
|
|
6 |
C !ROUTINE: ADZERO_ADJ_3D |
C !ROUTINE: ADZERO_ADJ_LOC |
7 |
C !INTERFACE: |
C !INTERFACE: |
8 |
SUBROUTINE ADZERO_ADJ_3D( |
SUBROUTINE ADZERO_ADJ_LOC( |
9 |
I bi, bj,myThid,adFieldFwd) |
I NrIn,myThid,adFieldFwd) |
10 |
C !DESCRIPTION: \bv |
C !DESCRIPTION: \bv |
11 |
C *==========================================================* |
C *==========================================================* |
12 |
C | o zero out a 3D adjoint field |
C | o zero out a local (no nsx,nsy dims.) adjoint field |
13 |
C | author: Gael Forget |
C | author: Gael Forget |
14 |
C *==========================================================* |
C *==========================================================* |
15 |
|
|
20 |
C == Routine arguments == |
C == Routine arguments == |
21 |
C myThid - Thread number for this instance of the routine. |
C myThid - Thread number for this instance of the routine. |
22 |
integer myThid,bi,bj,i,j,k |
integer myThid,bi,bj,i,j,k |
23 |
_RL adFieldFwd(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr) |
_RL adFieldFwd(1-Olx:sNx+Olx,1-Oly:sNy+Oly,NrIn) |
24 |
|
|
25 |
DO k=1,Nr |
DO k=1,NrIn |
26 |
DO j=1-Oly,sNy+Oly |
DO j=1-Oly,sNy+Oly |
27 |
DO i=1-Olx,sNx+Olx |
DO i=1-Olx,sNx+Olx |
28 |
adFieldFwd(i,j,k) = 0. |
adFieldFwd(i,j,k) = 0. |
32 |
|
|
33 |
end |
end |
34 |
|
|
35 |
C !ROUTINE: ADZERO_ADJ_2D |
|
36 |
|
C !ROUTINE: ADZERO_ADJ |
37 |
C !INTERFACE: |
C !INTERFACE: |
38 |
SUBROUTINE ADZERO_ADJ_2D( |
SUBROUTINE ADZERO_ADJ( |
39 |
I bi, bj,myThid,adFieldFwd) |
I NrIn,myThid,adFieldFwd) |
40 |
C !DESCRIPTION: \bv |
C !DESCRIPTION: \bv |
41 |
C *==========================================================* |
C *==========================================================* |
42 |
C | o zero out a 2D adjoint field |
C | o zero out a full (incl. nsx,nsy dims.) adjoint field |
43 |
C | author: Gael Forget |
C | author: Gael Forget |
44 |
C *==========================================================* |
C *==========================================================* |
45 |
|
|
49 |
|
|
50 |
C == Routine arguments == |
C == Routine arguments == |
51 |
C myThid - Thread number for this instance of the routine. |
C myThid - Thread number for this instance of the routine. |
52 |
integer myThid,bi,bj,i,j |
integer myThid,bi,bj,i,j,k |
53 |
_RL adFieldFwd(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
_RL adFieldFwd(1-Olx:sNx+Olx,1-Oly:sNy+Oly,NrIn,nSx,nSy) |
54 |
|
|
55 |
DO j=1-Oly,sNy+Oly |
DO bj=myByLo(myThid),myByHi(myThid) |
56 |
DO i=1-Olx,sNx+Olx |
DO bi=myBxLo(myThid),myBxHi(myThid) |
57 |
adFieldFwd(i,j) = 0. |
DO k=1,NrIn |
58 |
|
DO j=1-Oly,sNy+Oly |
59 |
|
DO i=1-Olx,sNx+Olx |
60 |
|
adFieldFwd(i,j,k,bi,bj) = 0. |
61 |
|
ENDDO |
62 |
|
ENDDO |
63 |
ENDDO |
ENDDO |
64 |
ENDDO |
ENDDO |
65 |
|
ENDDO |
66 |
|
|
67 |
end |
end |
68 |
|
|