1 |
heimbach |
1.1 |
|
2 |
|
|
#include "COST_CPPOPTIONS.h" |
3 |
|
|
|
4 |
|
|
|
5 |
|
|
subroutine cost_obcs( |
6 |
|
|
I myiter, |
7 |
|
|
I mytime, |
8 |
|
|
I mythid |
9 |
|
|
& ) |
10 |
|
|
|
11 |
|
|
c ================================================================== |
12 |
|
|
c SUBROUTINE cost_obcs |
13 |
|
|
c ================================================================== |
14 |
|
|
c |
15 |
|
|
c o Evaluate cost function contributions for obc's |
16 |
|
|
c |
17 |
|
|
c ================================================================== |
18 |
|
|
c SUBROUTINE cost_obcs |
19 |
|
|
c ================================================================== |
20 |
|
|
|
21 |
|
|
implicit none |
22 |
|
|
|
23 |
|
|
c == global variables == |
24 |
|
|
#include "SIZE.h" |
25 |
|
|
#include "EEPARAMS.h" |
26 |
|
|
|
27 |
|
|
#include "cal.h" |
28 |
|
|
#include "ctrl.h" |
29 |
|
|
|
30 |
|
|
c == routine arguments == |
31 |
|
|
|
32 |
|
|
integer myiter |
33 |
|
|
_RL mytime |
34 |
|
|
integer mythid |
35 |
|
|
|
36 |
|
|
c == local variables == |
37 |
|
|
integer startrec |
38 |
|
|
integer endrec |
39 |
|
|
|
40 |
|
|
c == end of interface == |
41 |
|
|
|
42 |
|
|
#if (defined (ALLOW_OBCSN_COST_CONTRIBUTION) && \ |
43 |
|
|
defined (ALLOW_OBCSN_CONTROL)) |
44 |
|
|
cgg North boundary contribution to cost function. |
45 |
|
|
startrec = ncvarrecstart(11 ) |
46 |
|
|
endrec = ncvarrecsend(11 ) |
47 |
|
|
call cost_obcsn ( myiter, mytime, |
48 |
|
|
& startrec,endrec, mythid ) |
49 |
|
|
#endif |
50 |
|
|
#if (defined (ALLOW_OBCSS_COST_CONTRIBUTION) && \ |
51 |
|
|
defined (ALLOW_OBCSS_CONTROL)) |
52 |
|
|
cgg South boundary contribution to cost function. |
53 |
|
|
startrec = ncvarrecstart(12 ) |
54 |
|
|
endrec = ncvarrecsend(12 ) |
55 |
|
|
call cost_obcss ( myiter, mytime, |
56 |
|
|
& startrec,endrec, mythid ) |
57 |
|
|
#endif |
58 |
|
|
|
59 |
|
|
#if (defined (ALLOW_OBCSW_COST_CONTRIBUTION) && \ |
60 |
|
|
defined (ALLOW_OBCSW_CONTROL)) |
61 |
|
|
cgg West boundary contribution to cost function. |
62 |
|
|
startrec = ncvarrecstart(13 ) |
63 |
|
|
endrec = ncvarrecsend(13 ) |
64 |
|
|
call cost_obcsw ( myiter, mytime, |
65 |
|
|
& startrec,endrec, mythid ) |
66 |
|
|
#endif |
67 |
|
|
|
68 |
|
|
#if (defined (ALLOW_OBCSE_COST_CONTRIBUTION) && \ |
69 |
|
|
defined (ALLOW_OBCSE_CONTROL)) |
70 |
|
|
cgg East boundary contribution to cost function. |
71 |
|
|
startrec = ncvarrecstart(14 ) |
72 |
|
|
endrec = ncvarrecsend(14 ) |
73 |
|
|
call cost_obcse ( myiter, mytime, |
74 |
|
|
& startrec,endrec, mythid ) |
75 |
|
|
#endif |
76 |
|
|
|
77 |
|
|
#ifdef OBCS_VOLFLUX_COST_CONTRIBUTION |
78 |
|
|
call cost_obcsvol ( myiter,mytime, |
79 |
|
|
& startrec, endrec, mythid) |
80 |
|
|
#endif |
81 |
|
|
|
82 |
|
|
Cgg ( Ageostrophic calculation uses *bar* fields not |
83 |
|
|
cgg calculated until the end of the run. |
84 |
|
|
cgg Move to ecco_cost.hyd. |
85 |
|
|
Cgg(#ifdef OBCS_AGEOS_COST_CONTRIBUTION |
86 |
|
|
cgg call cost_obcs_ageos ( myiter,mytime, mythid) |
87 |
|
|
Cgg(#endif |
88 |
|
|
end |