1 |
C $Header: /u/gcmpack/MITgcm/pkg/autodiff/exch_uv_ad.flow,v 1.5 2007/10/08 23:50:53 jmc Exp $ |
2 |
C $Name: checkpoint59r $ |
3 |
|
4 |
#include "CPP_OPTIONS.h" |
5 |
|
6 |
C /==========================================================\ |
7 |
C | TAMC flow directives | |
8 |
C | for library subroutines exch_uv_xy_rs exch_uv_xyz_rs | |
9 |
C | exch_uv_xy_rl exch_uv_xyz_rl | |
10 |
C |==========================================================| |
11 |
C | These directives are for standard adjoint code | |
12 |
C | generation (vector Jacobian product). | |
13 |
C | tamc -reverse .... | |
14 |
C | | |
15 |
C | written and tested by Ralf Giering, Jan. 14th 1999 | |
16 |
C | added new S/R's for _xz_ , _yz_ heimbach@mit.edu May-01 | |
17 |
C | extended to tangent linear code heimbach@mit.edu Jan-02 | |
18 |
C |==========================================================| |
19 |
C | SUBROUTINE EXCH_UV_*_R* is linear | |
20 |
C | only the array argument is active | |
21 |
C | only myThid is required for the adjoint subroutine | |
22 |
C \==========================================================/ |
23 |
|
24 |
#ifdef ALLOW_EXCH2 |
25 |
|
26 |
C Suppress these flow directives in conjunction with EXCH2 adjoint |
27 |
|
28 |
#else |
29 |
|
30 |
cadj SUBROUTINE exch_uv_xy_rs INPUT = 1, 2, 3, 4 |
31 |
cadj SUBROUTINE exch_uv_xy_rs OUTPUT = 1, 2 |
32 |
cadj SUBROUTINE exch_uv_xy_rs ACTIVE = 1, 2 |
33 |
cadj SUBROUTINE exch_uv_xy_rs DEPEND = 3, 4 |
34 |
cadj SUBROUTINE exch_uv_xy_rs ADNAME = adexch_uv_xy_rs |
35 |
cadj SUBROUTINE exch_uv_xy_rs FTLNAME = exch_uv_xy_rs |
36 |
|
37 |
cadj SUBROUTINE exch_uv_xy_rl INPUT = 1, 2, 3, 4 |
38 |
cadj SUBROUTINE exch_uv_xy_rl OUTPUT = 1, 2 |
39 |
cadj SUBROUTINE exch_uv_xy_rl ACTIVE = 1, 2 |
40 |
cadj SUBROUTINE exch_uv_xy_rl DEPEND = 3, 4 |
41 |
cadj SUBROUTINE exch_uv_xy_rl ADNAME = adexch_uv_xy_rl |
42 |
cadj SUBROUTINE exch_uv_xy_rl FTLNAME = exch_uv_xy_rl |
43 |
|
44 |
cadj SUBROUTINE exch_uv_xyz_rs INPUT = 1, 2, 3, 4 |
45 |
cadj SUBROUTINE exch_uv_xyz_rs OUTPUT = 1, 2 |
46 |
cadj SUBROUTINE exch_uv_xyz_rs ACTIVE = 1, 2 |
47 |
cadj SUBROUTINE exch_uv_xyz_rs DEPEND = 3, 4 |
48 |
cadj SUBROUTINE exch_uv_xyz_rs ADNAME = adexch_uv_xyz_rs |
49 |
cadj SUBROUTINE exch_uv_xyz_rs FTLNAME = exch_uv_xyz_rs |
50 |
|
51 |
cadj SUBROUTINE exch_uv_xyz_rl INPUT = 1, 2, 3, 4 |
52 |
cadj SUBROUTINE exch_uv_xyz_rl OUTPUT = 1, 2 |
53 |
cadj SUBROUTINE exch_uv_xyz_rl ACTIVE = 1, 2 |
54 |
cadj SUBROUTINE exch_uv_xyz_rl DEPEND = 3, 4 |
55 |
cadj SUBROUTINE exch_uv_xyz_rl ADNAME = adexch_uv_xyz_rl |
56 |
cadj SUBROUTINE exch_uv_xyz_rl FTLNAME = exch_uv_xyz_rl |
57 |
|
58 |
#endif /* ALLOW_EXCH2 */ |