1 |
|
2 |
c ================================================================== |
3 |
c HEADER G_COST |
4 |
c ================================================================== |
5 |
c |
6 |
c o Header for model-data comparison; adjoint part. |
7 |
c |
8 |
c The individual cost function contributions are multiplied by |
9 |
c factors mult_"var" which allow to switch off these contributions |
10 |
c without removing them in the adjoint code. This is useful for |
11 |
c doing tests with the adjoint and perhaps useful in assimilation |
12 |
c experiments where individual contributions are successively |
13 |
c switched on. For future applications it would be better to place |
14 |
c the initialisation of the multipliers somewhere else, for example |
15 |
c in a namelist, which is read in at the start of the model. |
16 |
c |
17 |
c started: Christian Eckert eckert@mit.edu 06-Apr-2000 |
18 |
c |
19 |
c changed: Christian Eckert eckert@mit.edu |
20 |
c |
21 |
c |
22 |
c ================================================================== |
23 |
c HEADER G_COST |
24 |
c ================================================================== |
25 |
|
26 |
common /g_cost_r/ |
27 |
& g_fc, |
28 |
& g_objf_hflux, |
29 |
& g_objf_sflux, |
30 |
& g_objf_tauu, |
31 |
& g_objf_tauv, |
32 |
& g_objf_hmean, |
33 |
& g_objf_h, |
34 |
& g_objf_temp, |
35 |
& g_objf_salt, |
36 |
& g_objf_sst, |
37 |
& g_objf_ctds, |
38 |
& g_objf_ctdt |
39 |
_RL g_fc |
40 |
_RL g_objf_hflux (nsx,nsy) |
41 |
_RL g_objf_sflux (nsx,nsy) |
42 |
_RL g_objf_tauu (nsx,nsy) |
43 |
_RL g_objf_tauv (nsx,nsy) |
44 |
_RL g_objf_hmean |
45 |
_RL g_objf_h (nsx,nsy) |
46 |
_RL g_objf_temp (nsx,nsy) |
47 |
_RL g_objf_salt (nsx,nsy) |
48 |
_RL g_objf_sst (nsx,nsy) |
49 |
_RL g_objf_ctds (nsx,nsy) |
50 |
_RL g_objf_ctdt (nsx,nsy) |
51 |
|
52 |
#ifdef ALLOW_COST_STATE_FINAL |
53 |
common /g_cost_state_final_r/ |
54 |
& g_objf_state_final |
55 |
_RL g_objf_state_final (snx,sny,nsx,nsy) |
56 |
cph _RL g_objf_state_final (snx,sny,nr,nsx,nsy,2) |
57 |
#endif |
58 |
|
59 |
#ifdef ALLOW_COST_VECTOR |
60 |
common /g_cost_vector_r/ |
61 |
& g_objf_vector |
62 |
_RL g_objf_vector(snx,nsx,nsy) |
63 |
#endif |
64 |
|
65 |
c ================================================================== |
66 |
c END OF HEADER G_COST |
67 |
c ================================================================== |
68 |
|