64 |
integer imin,imax |
integer imin,imax |
65 |
integer ilgen |
integer ilgen |
66 |
|
|
67 |
|
_RL gensign |
68 |
_RL genfac |
_RL genfac |
69 |
logical doCtrlUpdate |
logical doCtrlUpdate |
70 |
logical genfirst |
logical genfirst |
145 |
else |
else |
146 |
doCtrlUpdate = .TRUE. |
doCtrlUpdate = .TRUE. |
147 |
endif |
endif |
148 |
|
if ( xx_gen_file .EQ. xx_tauu_file .OR. |
149 |
|
& xx_gen_file .EQ. xx_tauv_file ) then |
150 |
|
gensign = -1. |
151 |
|
else |
152 |
|
gensign = 1. |
153 |
|
endif |
154 |
c |
c |
155 |
cph since the above is ECCO specific, we undo it here: |
cph since the above is ECCO specific, we undo it here: |
156 |
doCtrlUpdate = .TRUE. |
cph doCtrlUpdate = .TRUE. |
157 |
c |
c |
158 |
if ( doCtrlUpdate ) then |
if ( doCtrlUpdate ) then |
159 |
cph) |
cph) |
164 |
do j = 1,sny |
do j = 1,sny |
165 |
do i = 1,snx |
do i = 1,snx |
166 |
genfld(i,j,bi,bj) = genfld (i,j,bi,bj) |
genfld(i,j,bi,bj) = genfld (i,j,bi,bj) |
167 |
& + genfac *xx_gen0(i,j,bi,bj) |
& + gensign*genfac *xx_gen0(i,j,bi,bj) |
168 |
& + (1. _d 0 - genfac)*xx_gen1(i,j,bi,bj) |
& + gensign*(1. _d 0 - genfac)*xx_gen1(i,j,bi,bj) |
169 |
genfld(i,j,bi,bj) = genfld(i,j,bi,bj)*genmask(i,j,k,bi,bj) |
genfld(i,j,bi,bj) = genfld(i,j,bi,bj)*genmask(i,j,k,bi,bj) |
170 |
enddo |
enddo |
171 |
enddo |
enddo |