/[MITgcm]/MITgcm_contrib/heimbach/OpenAD/code_shallow_openad/ad_template.plain.f
ViewVC logotype

Contents of /MITgcm_contrib/heimbach/OpenAD/code_shallow_openad/ad_template.plain.f

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (show annotations) (download)
Thu Dec 19 16:09:57 2013 UTC (12 years, 10 months ago) by utke
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +0 -0 lines
FILE REMOVED
stale

1 subroutine template()
2 use OpenAD_checkpoints
3 use OpenAD_tape
4 use OpenAD_rev
5
6 c we may need these for the checkpointing
7 use SIZE_mod
8 use EEPARAMS_mod
9 use PARAMS_mod
10 use BAR2_mod
11 use BARRIER_mod
12 use CG2D_mod
13 use CG3D_mod
14 use DFILE_mod
15 use DYNVARS_mod
16 use EEIO_mod
17 use EESUPPORT_mod
18 use EOS_mod
19 use EXCH_JAM_mod
20 use EXCH_mod
21 use FC_NAMEMANGLE_mod
22 use FFIELDS_mod
23 use GAD_mod
24 use GLOBAL_MAX_mod
25 use GLOBAL_SUM_mod
26 use GRID_mod
27 use MPI_INFO_mod
28 use SOLVE_FOR_PRESSURE3D_mod
29 use SOLVE_FOR_PRESSURE_mod
30 use SURFACE_mod
31 use tamc_mod
32 use tamc_keys_mod
33 use cost_mod
34 use g_cost_mod
35 use ctrl_mod
36 use ctrl_dummy_mod
37 use ctrl_weights_mod
38 use optim_mod
39 use grdchk_mod
40
41 !$TEMPLATE_PRAGMA_DECLARATIONS
42
43 integer :: cp_loop_variable_1,cp_loop_variable_2,
44 + cp_loop_variable_3,cp_loop_variable_4,cp_loop_variable_5
45
46 type(modeType) :: our_orig_mode
47
48 integer iaddr
49 external iaddr
50
51 character*(80):: indentation='
52 + '
53
54 our_indent=our_indent+1
55
56 write(*,
57 +'(A,A,A,A,L,A,L,A,L,A,L,A,L,A,L,A,I6,A,I6,A,I6,A,I6,A,I8,A,I8)')
58 +'JU:',indentation(1:our_indent), 'enter __SRNAME__:',
59 +' As:',our_rev_mode%arg_store,
60 +' Ar:',our_rev_mode%arg_restore,
61 +' Pl:',our_rev_mode%plain,
62 +' Ta:',our_rev_mode%tape,
63 +' Ad:',our_rev_mode%adjoint,
64 +' Sw:',our_rev_mode%switchedToCheckpoint,
65 +' CD:',cp_double_pointer,
66 +' CI:',cp_integer_pointer,
67 +' CB:',cp_boolean_pointer,
68 +' CS:',cp_string_pointer,
69 +' TD:',double_tape_pointer,
70 +' TI:',integer_tape_pointer
71
72 if (our_rev_mode%arg_store
73 + .OR.
74 + our_rev_mode%arg_restore) then
75 write(*,*) 'JU: ERROR : arg (re)store here is wrong logic'
76 stop
77 end if
78 if (our_rev_mode%plain) then
79 write(*,'(A,A,A)')
80 +'JU:',indentation(1:our_indent),
81 +' __SRNAME__: entering plain'
82 our_orig_mode=our_rev_mode
83 !$PLACEHOLDER_PRAGMA$ id=1
84 our_rev_mode=our_orig_mode
85 end if
86 if (our_rev_mode%tape) then
87 write(*,'(A,A,A)')
88 +'JU:',indentation(1:our_indent),
89 +' __SRNAME__: entering tape'
90 our_orig_mode=our_rev_mode
91 !$PLACEHOLDER_PRAGMA$ id=2
92 our_rev_mode=our_orig_mode
93 end if
94 if (our_rev_mode%adjoint) then
95 write(*,'(A,A,A)')
96 +'JU:',indentation(1:our_indent),
97 +' __SRNAME__: entering adjoint'
98 our_orig_mode=our_rev_mode
99 !$PLACEHOLDER_PRAGMA$ id=3
100 our_rev_mode=our_orig_mode
101 end if
102
103 write(*,
104 +'(A,A,A,A,L,A,L,A,L,A,L,A,L,A,L,A,I6,A,I6,A,I6,A,I6,A,I8,A,I8)')
105 +'JU:',indentation(1:our_indent), 'leave __SRNAME__:',
106 +' As:',our_rev_mode%arg_store,
107 +' Ar:',our_rev_mode%arg_restore,
108 +' Pl:',our_rev_mode%plain,
109 +' Ta:',our_rev_mode%tape,
110 +' Ad:',our_rev_mode%adjoint,
111 +' Sw:',our_rev_mode%switchedToCheckpoint,
112 +' CD:',cp_double_pointer,
113 +' CI:',cp_integer_pointer,
114 +' CB:',cp_boolean_pointer,
115 +' CS:',cp_string_pointer,
116 +' TD:',double_tape_pointer,
117 +' TI:',integer_tape_pointer
118
119 our_indent=our_indent-1
120
121 end subroutine template

  ViewVC Help
Powered by ViewVC 1.1.22