27 |
endif |
endif |
28 |
|
|
29 |
|
|
30 |
err_max = 0. _d 0 |
err_max = 0. _d 0 |
31 |
|
err_sum = 0. _d 0 |
32 |
|
|
33 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
34 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
35 |
|
err_sum_tile(bi,bj) = 0. _d 0 |
36 |
|
ENDDO |
37 |
|
ENDDO |
38 |
|
|
39 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
40 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
63 |
I 0, sNx+1, 0, sNy+1 ) |
I 0, sNx+1, 0, sNy+1 ) |
64 |
|
|
65 |
|
|
66 |
|
IF (streamice_err_norm .LT. 1.0) then |
67 |
|
|
68 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
69 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
70 |
DO j=1,sNy |
DO j=1,sNy |
91 |
|
|
92 |
CALL GLOBAL_MAX_R8 (err_max, myThid) |
CALL GLOBAL_MAX_R8 (err_max, myThid) |
93 |
|
|
94 |
|
ELSE |
95 |
|
|
96 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
97 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
98 |
|
DO j=1,sNy |
99 |
|
DO i=1,sNx |
100 |
|
|
101 |
|
IF (STREAMICE_umask(i,j,bi,bj).eq.1) THEN |
102 |
|
err_sum_tile(bi,bj) = err_sum_tile(bi,bj) + |
103 |
|
& (ABS (Au_SI(i,j,bi,bj)+0*ubd_SI(i,j,bi,bj)%v - |
104 |
|
& taudx_SI(i,j,bi,bj)%v)) ** streamice_err_norm |
105 |
|
ENDIF |
106 |
|
IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN |
107 |
|
err_sum_tile(bi,bj) = err_sum_tile(bi,bj) + |
108 |
|
& (ABS (Av_SI(i,j,bi,bj)+0*vbd_SI(i,j,bi,bj)%v - |
109 |
|
& taudy_SI(i,j,bi,bj)%v)) ** streamice_err_norm |
110 |
|
ENDIF |
111 |
|
|
112 |
|
ENDDO |
113 |
|
ENDDO |
114 |
|
ENDDO |
115 |
|
ENDDO |
116 |
|
|
117 |
|
CALL GLOBAL_SUM_TILE_RL( err_sum_tile, err_sum, myThid ) |
118 |
|
|
119 |
|
err_max = err_sum ** (1./streamice_err_norm) |
120 |
|
|
121 |
|
ENDIF |
122 |
|
|
123 |
if (testTape.eq.1) then |
if (testTape.eq.1) then |
124 |
our_rev_mode%plain=.false. |
our_rev_mode%plain=.false. |
125 |
our_rev_mode%tape=.true. |
our_rev_mode%tape=.true. |