31 |
#include "GRID.h" |
#include "GRID.h" |
32 |
|
|
33 |
#ifdef ALLOW_ECCO |
#ifdef ALLOW_ECCO |
34 |
# include "ecco_cost.h" |
# ifdef ECCO_CTRL_DEPRECATED |
35 |
|
# include "ecco_cost.h" |
36 |
|
# else |
37 |
|
# include "ecco.h" |
38 |
|
# endif |
39 |
#endif |
#endif |
40 |
#ifdef ALLOW_CTRL |
#ifdef ALLOW_CTRL |
41 |
# include "CTRL_OBCS.h" |
# include "CTRL_OBCS.h" |
91 |
c-- Initialize the tiled cost function contributions. |
c-- Initialize the tiled cost function contributions. |
92 |
do bj = jtlo,jthi |
do bj = jtlo,jthi |
93 |
do bi = itlo,ithi |
do bi = itlo,ithi |
94 |
|
#ifdef ECCO_CTRL_DEPRECATED |
95 |
objf_hflux(bi,bj) = 0. _d 0 |
objf_hflux(bi,bj) = 0. _d 0 |
96 |
objf_hfluxm(bi,bj) = 0. _d 0 |
objf_hfluxm(bi,bj) = 0. _d 0 |
97 |
objf_sflux(bi,bj) = 0. _d 0 |
objf_sflux(bi,bj) = 0. _d 0 |
141 |
objf_lwdown(bi,bj) = 0. _d 0 |
objf_lwdown(bi,bj) = 0. _d 0 |
142 |
objf_uwind(bi,bj) = 0. _d 0 |
objf_uwind(bi,bj) = 0. _d 0 |
143 |
objf_vwind(bi,bj) = 0. _d 0 |
objf_vwind(bi,bj) = 0. _d 0 |
|
#if (defined (ALLOW_CTRL) && defined (ALLOW_OBCS)) |
|
|
objf_obcsn(bi,bj) = 0. _d 0 |
|
|
objf_obcss(bi,bj) = 0. _d 0 |
|
|
objf_obcsw(bi,bj) = 0. _d 0 |
|
|
objf_obcse(bi,bj) = 0. _d 0 |
|
|
objf_curmtr(bi,bj) = 0. _d 0 |
|
|
objf_ageos(bi,bj) = 0. _d 0 |
|
|
#endif |
|
144 |
#if ( defined (ALLOW_COST) && defined (ALLOW_COST_ATLANTIC) ) |
#if ( defined (ALLOW_COST) && defined (ALLOW_COST_ATLANTIC) ) |
145 |
objf_atl(bi,bj) = 0. _d 0 |
objf_atl(bi,bj) = 0. _d 0 |
146 |
#endif |
#endif |
147 |
|
objf_curmtr(bi,bj) = 0. _d 0 |
148 |
objf_diffkr(bi,bj) = 0. _d 0 |
objf_diffkr(bi,bj) = 0. _d 0 |
149 |
objf_kapgm(bi,bj) = 0. _d 0 |
objf_kapgm(bi,bj) = 0. _d 0 |
150 |
objf_kapredi(bi,bj) = 0. _d 0 |
objf_kapredi(bi,bj) = 0. _d 0 |
152 |
objf_salt_ini_fin(bi,bj) = 0. _d 0 |
objf_salt_ini_fin(bi,bj) = 0. _d 0 |
153 |
objf_eddytau(bi,bj) = 0. _d 0 |
objf_eddytau(bi,bj) = 0. _d 0 |
154 |
objf_bottomdrag(bi,bj) = 0. _d 0 |
objf_bottomdrag(bi,bj) = 0. _d 0 |
|
#ifdef ALLOW_GENCOST_CONTRIBUTION |
|
|
do k=1,NGENCOST |
|
|
objf_gencost(bi,bj,k) = 0. _d 0 |
|
|
enddo |
|
|
#endif |
|
155 |
do k=1,NUSERCOST |
do k=1,NUSERCOST |
156 |
objf_usercost(k,bi,bj) = 0. _d 0 |
objf_usercost(k,bi,bj) = 0. _d 0 |
157 |
enddo |
enddo |
158 |
do k=1,NSSHV4COST |
do k=1,NSSHV4COST |
159 |
objf_sshv4cost(k,bi,bj) = 0. _d 0 |
objf_sshv4cost(k,bi,bj) = 0. _d 0 |
160 |
enddo |
enddo |
|
c |
|
161 |
num_hflux(bi,bj) = 0. _d 0 |
num_hflux(bi,bj) = 0. _d 0 |
162 |
num_hfluxm(bi,bj) = 0. _d 0 |
num_hfluxm(bi,bj) = 0. _d 0 |
163 |
num_hfluxmm(bi,bj) = 0. _d 0 |
num_hfluxmm(bi,bj) = 0. _d 0 |
207 |
num_lwdown(bi,bj) = 0. _d 0 |
num_lwdown(bi,bj) = 0. _d 0 |
208 |
num_uwind(bi,bj) = 0. _d 0 |
num_uwind(bi,bj) = 0. _d 0 |
209 |
num_vwind(bi,bj) = 0. _d 0 |
num_vwind(bi,bj) = 0. _d 0 |
|
#if (defined (ALLOW_CTRL) && defined (ALLOW_OBCS)) |
|
|
num_obcsn(bi,bj) = 0. _d 0 |
|
|
num_obcss(bi,bj) = 0. _d 0 |
|
|
num_obcsw(bi,bj) = 0. _d 0 |
|
|
num_obcse(bi,bj) = 0. _d 0 |
|
|
num_ageos(bi,bj) = 0. _d 0 |
|
|
#endif |
|
210 |
num_curmtr(bi,bj) = 0. _d 0 |
num_curmtr(bi,bj) = 0. _d 0 |
211 |
num_diffkr(bi,bj) = 0. _d 0 |
num_diffkr(bi,bj) = 0. _d 0 |
212 |
num_kapgm(bi,bj) = 0. _d 0 |
num_kapgm(bi,bj) = 0. _d 0 |
213 |
num_kapredi(bi,bj) = 0. _d 0 |
num_kapredi(bi,bj) = 0. _d 0 |
214 |
num_eddytau(bi,bj) = 0. _d 0 |
num_eddytau(bi,bj) = 0. _d 0 |
215 |
num_bottomdrag(bi,bj) = 0. _d 0 |
num_bottomdrag(bi,bj) = 0. _d 0 |
|
#ifdef ALLOW_GENCOST_CONTRIBUTION |
|
|
do k=1,NGENCOST |
|
|
num_gencost(bi,bj,k) = 0. _d 0 |
|
|
enddo |
|
|
#endif |
|
216 |
do k=1,NUSERCOST |
do k=1,NUSERCOST |
217 |
num_usercost(k,bi,bj) = 0. _d 0 |
num_usercost(k,bi,bj) = 0. _d 0 |
218 |
enddo |
enddo |
221 |
enddo |
enddo |
222 |
num_theta_ini_fin(bi,bj) = 0. _d 0 |
num_theta_ini_fin(bi,bj) = 0. _d 0 |
223 |
num_salt_ini_fin(bi,bj) = 0. _d 0 |
num_salt_ini_fin(bi,bj) = 0. _d 0 |
224 |
|
#endif /* ECCO_CTRL_DEPRECATED */ |
225 |
|
|
226 |
|
#ifdef ALLOW_GENCOST_CONTRIBUTION |
227 |
|
do k=1,NGENCOST |
228 |
|
objf_gencost(bi,bj,k) = 0. _d 0 |
229 |
|
num_gencost(bi,bj,k) = 0. _d 0 |
230 |
|
enddo |
231 |
|
#endif |
232 |
|
#if (defined (ALLOW_CTRL) && defined (ALLOW_OBCS)) |
233 |
|
objf_obcsn(bi,bj) = 0. _d 0 |
234 |
|
objf_obcss(bi,bj) = 0. _d 0 |
235 |
|
objf_obcsw(bi,bj) = 0. _d 0 |
236 |
|
objf_obcse(bi,bj) = 0. _d 0 |
237 |
|
objf_ageos(bi,bj) = 0. _d 0 |
238 |
|
num_obcsn(bi,bj) = 0. _d 0 |
239 |
|
num_obcss(bi,bj) = 0. _d 0 |
240 |
|
num_obcsw(bi,bj) = 0. _d 0 |
241 |
|
num_obcse(bi,bj) = 0. _d 0 |
242 |
|
num_ageos(bi,bj) = 0. _d 0 |
243 |
|
#endif |
244 |
|
|
245 |
enddo |
enddo |
246 |
enddo |
enddo |
247 |
|
|
248 |
|
#ifdef ECCO_CTRL_DEPRECATED |
249 |
|
|
250 |
k = 1 |
k = 1 |
251 |
do bj = jtlo,jthi |
do bj = jtlo,jthi |
252 |
do bi = itlo,ithi |
do bi = itlo,ithi |
335 |
|
|
336 |
c-- Initialise the "global" parts of the cost function. |
c-- Initialise the "global" parts of the cost function. |
337 |
_BEGIN_MASTER( mythid ) |
_BEGIN_MASTER( mythid ) |
|
#if (defined (ALLOW_CTRL) && defined (ALLOW_OBCS)) |
|
|
objf_obcsvol = 0. _d 0 |
|
|
num_obcsvol = 0. _d 0 |
|
|
#endif |
|
338 |
objf_hmean = 0. _d 0 |
objf_hmean = 0. _d 0 |
339 |
objf_hfluxmm = 0. _d 0 |
objf_hfluxmm = 0. _d 0 |
340 |
objf_sfluxmm = 0. _d 0 |
objf_sfluxmm = 0. _d 0 |
343 |
num_transp = 0. _d 0 |
num_transp = 0. _d 0 |
344 |
_END_MASTER( mythid ) |
_END_MASTER( mythid ) |
345 |
|
|
346 |
|
#endif /* ECCO_CTRL_DEPRECATED */ |
347 |
|
|
348 |
|
c-- Initialise the "global" parts of the cost function. |
349 |
|
#if (defined (ALLOW_CTRL) && defined (ALLOW_OBCS)) |
350 |
|
_BEGIN_MASTER( mythid ) |
351 |
|
objf_obcsvol = 0. _d 0 |
352 |
|
num_obcsvol = 0. _d 0 |
353 |
|
_END_MASTER( mythid ) |
354 |
|
#endif |
355 |
|
|
356 |
_BARRIER |
_BARRIER |
357 |
|
|
358 |
return |
return |