/[MITgcm]/MITgcm/tools/OAD_support/ad_template.streamice_get_fp_err_oad.F
ViewVC logotype

Annotation of /MITgcm/tools/OAD_support/ad_template.streamice_get_fp_err_oad.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (hide annotations) (download)
Thu Mar 26 23:38:26 2015 UTC (9 years, 1 month ago) by dgoldberg
Branch: MAIN
CVS Tags: checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65t, checkpoint65u, checkpoint65k, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m
Changes since 1.2: +1 -0 lines
add #include STREAMICE_OPTIONS.h to allow compilation

1 dgoldberg 1.3 #include "STREAMICE_OPTIONS.h"
2 dgoldberg 1.1
3     SUBROUTINE template()
4     use OAD_cp
5     use OAD_tape
6     use OAD_rev
7    
8     C
9     C **** Global Variables & Derived Type Definitions ****
10     C
11    
12     C
13     C **** Parameters and Result ****
14     C
15 dgoldberg 1.2 #if (defined (ALLOW_STREAMICE_OAD_FP))
16 dgoldberg 1.1
17    
18     if (our_rev_mode%plain) then
19     err_max = 0. _d 0
20    
21     DO bj = myByLo(myThid), myByHi(myThid)
22     DO bi = myBxLo(myThid), myBxHi(myThid)
23     DO j=1,sNy
24     DO i=1,sNx
25     err_tempu = 0. _d 0
26     err_tempv = 0. _d 0
27     IF (STREAMICE_umask(i,j,bi,bj).eq.1) THEN
28     err_tempu =
29     & ABS (U_streamice(i,j,bi,bj)%v-u_new_SI(i,j,bi,bj)%v)
30     ENDIF
31     IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN
32     err_tempv = MAX( err_tempu,
33     & ABS (V_streamice(i,j,bi,bj)%v-v_new_SI(i,j,bi,bj)%v))
34     ENDIF
35     IF (err_tempv .ge. err_max) err_max = err_tempv
36     ENDDO
37     ENDDO
38     ENDDO
39     ENDDO
40    
41     CALL GLOBAL_MAX_R8 (err_max, myThid)
42     end if
43    
44    
45     if (our_rev_mode%tape) then
46    
47     err_max = 0. _d 0
48    
49     DO bj = myByLo(myThid), myByHi(myThid)
50     DO bi = myBxLo(myThid), myBxHi(myThid)
51     DO j=1,sNy
52     DO i=1,sNx
53     err_tempu = 0. _d 0
54     err_tempv = 0. _d 0
55     IF (STREAMICE_umask(i,j,bi,bj).eq.1) THEN
56     err_tempu =
57     & ABS (U_streamice(i,j,bi,bj)%v-u_new_SI(i,j,bi,bj)%v)
58     ENDIF
59     IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN
60     err_tempv = MAX( err_tempu,
61     & ABS (V_streamice(i,j,bi,bj)%v-v_new_SI(i,j,bi,bj)%v))
62     ENDIF
63     IF (err_tempv .ge. err_max) err_max = err_tempv
64     ENDDO
65     ENDDO
66     ENDDO
67     ENDDO
68    
69     CALL GLOBAL_MAX_R8 (err_max, myThid)
70    
71     end if
72    
73    
74     if (our_rev_mode%adjoint) then
75    
76     err_max = 0. _d 0
77    
78     DO bj = myByLo(myThid), myByHi(myThid)
79     DO bi = myBxLo(myThid), myBxHi(myThid)
80     DO j=1,sNy
81     DO i=1,sNx
82     err_tempu = 0. _d 0
83     err_tempv = 0. _d 0
84     IF (STREAMICE_umask(i,j,bi,bj).eq.1) THEN
85     err_tempu =
86     & ABS (U_streamice(i,j,bi,bj)%d-u_new_SI(i,j,bi,bj)%d)
87     ENDIF
88     IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN
89     err_tempv = MAX( err_tempu,
90     & ABS (V_streamice(i,j,bi,bj)%d-v_new_SI(i,j,bi,bj)%d))
91     ENDIF
92     IF (err_tempv .ge. err_max) err_max = err_tempv
93     ENDDO
94     ENDDO
95     ENDDO
96     ENDDO
97    
98     CALL GLOBAL_MAX_R8 (err_max, myThid)
99    
100     end if
101 dgoldberg 1.2 #endif
102 dgoldberg 1.1 end subroutine template

  ViewVC Help
Powered by ViewVC 1.1.22