/[MITgcm]/MITgcm/verification/OpenAD/code_ad/ad_template.checkpoint.f
ViewVC logotype

Annotation of /MITgcm/verification/OpenAD/code_ad/ad_template.checkpoint.f

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


Revision 1.1 - (hide annotations) (download)
Wed Nov 30 21:34:42 2005 UTC (18 years, 6 months ago) by utke
Branch: MAIN
reuse templates from shallow water code

1 utke 1.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 CD_CODE_VARS_mod
13     use CG2D_mod
14     use CG3D_mod
15     use DFILE_mod
16     use DYNVARS_mod
17     use EEIO_mod
18     use EESUPPORT_mod
19     use EOS_mod
20     use EXCH_JAM_mod
21     use EXCH_mod
22     use FC_NAMEMANGLE_mod
23     use FFIELDS_mod
24     use GAD_mod
25     use GLOBAL_MAX_mod
26     use GLOBAL_SUM_mod
27     use GRID_mod
28     use GW_mod
29     use MPI_INFO_mod
30     use SOLVE_FOR_PRESSURE3D_mod
31     use SOLVE_FOR_PRESSURE_mod
32     use SURFACE_mod
33     use tamc_mod
34     use tamc_keys_mod
35     use cost_mod
36     use g_cost_mod
37     use ctrl_mod
38     use ctrl_dummy_mod
39     use ctrl_weights_mod
40     use optim_mod
41     use grdchk_mod
42    
43     !$TEMPLATE_PRAGMA_DECLARATIONS
44    
45     integer :: cp_loop_variable_1,cp_loop_variable_2,
46     + cp_loop_variable_3,cp_loop_variable_4
47    
48     type(modeType) :: our_orig_mode
49    
50     integer iaddr
51     external iaddr
52    
53     character*(80):: indentation='
54     + '
55    
56     our_indent=our_indent+1
57    
58     write(*,'(A,A,L,L,L,L,L)')
59     +indentation(1:our_indent), "enter __SRNAME__:",
60     +our_rev_mode%arg_store,
61     +our_rev_mode%arg_restore,
62     +our_rev_mode%plain,
63     +our_rev_mode%tape,
64     +our_rev_mode%adjoint
65    
66     write(*,'(A,A,A,I6,A,I6,A,I6,A,I6,A,I8,A,I8)')
67     +indentation(1:our_indent), "enter __SRNAME__:",
68     +" CD:",cp_double_pointer,
69     +" CI:",cp_integer_pointer,
70     +" CB:",cp_boolean_pointer,
71     +" CS:",cp_string_pointer,
72     +" TD:",double_tape_pointer,
73     +" TI:",integer_tape_pointer
74    
75     if (our_rev_mode%arg_store) then
76     write(*,'(A,A)')
77     +indentation(1:our_indent), " __SRNAME__: entering arg store"
78     !$PLACEHOLDER_PRAGMA$ id=4
79     end if
80     if (our_rev_mode%arg_restore) then
81     write(*,'(A,A)')
82     +indentation(1:our_indent), " __SRNAME__: entering arg restore"
83     !$PLACEHOLDER_PRAGMA$ id=6
84     end if
85     if (our_rev_mode%plain) then
86     write(*,'(A,A)')
87     +indentation(1:our_indent), " __SRNAME__: entering plain"
88     our_orig_mode=our_rev_mode
89     our_rev_mode%arg_store=.FALSE.
90     !$PLACEHOLDER_PRAGMA$ id=1
91     our_rev_mode=our_orig_mode
92     end if
93     if (our_rev_mode%tape) then
94     write(*,'(A,A)')
95     +indentation(1:our_indent), " __SRNAME__: entering tape"
96     our_orig_mode=our_rev_mode
97     our_rev_mode%arg_store=.TRUE.
98     our_rev_mode%arg_restore=.FALSE.
99     our_rev_mode%res_store=.FALSE.
100     our_rev_mode%res_restore=.FALSE.
101     our_rev_mode%plain=.TRUE.
102     our_rev_mode%tape=.FALSE.
103     our_rev_mode%adjoint=.FALSE.
104     !$PLACEHOLDER_PRAGMA$ id=2
105     write(*,'(A,A)')
106     +indentation(1:our_indent), " __SRNAME__: following with adjoint"
107     our_rev_mode%arg_store=.FALSE.
108     our_rev_mode%arg_restore=.TRUE.
109     our_rev_mode%res_store=.FALSE.
110     our_rev_mode%res_restore=.FALSE.
111     our_rev_mode%plain=.FALSE.
112     our_rev_mode%tape=.TRUE.
113     our_rev_mode%adjoint=.TRUE.
114     !$PLACEHOLDER_PRAGMA$ id=3
115     our_rev_mode=our_orig_mode
116     end if
117    
118     write(*,'(A,A,A,I6,A,I6,A,I6,A,I6,A,I8,A,I8)')
119     +indentation(1:our_indent), "leave __SRNAME__:",
120     +" CD:",cp_double_pointer,
121     +" CI:",cp_integer_pointer,
122     +" CB:",cp_boolean_pointer,
123     +" CS:",cp_string_pointer,
124     +" TD:",double_tape_pointer,
125     +" TI:",integer_tape_pointer
126    
127     write(*,'(A,A,L,L,L,L,L)')
128     +indentation(1:our_indent), "leave __SRNAME__:",
129     +our_rev_mode%arg_store,
130     +our_rev_mode%arg_restore,
131     +our_rev_mode%plain,
132     +our_rev_mode%tape,
133     +our_rev_mode%adjoint
134    
135     our_indent=our_indent-1
136    
137     end subroutine template

  ViewVC Help
Powered by ViewVC 1.1.22