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

Annotation 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.1 - (hide annotations) (download)
Wed Dec 14 19:54:42 2005 UTC (20 years, 10 months ago) by utke
Branch: MAIN
syncing with changes in the bigger setup

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 MPI_INFO_mod
29     use SOLVE_FOR_PRESSURE3D_mod
30     use SOLVE_FOR_PRESSURE_mod
31     use SURFACE_mod
32     use tamc_mod
33     use tamc_keys_mod
34     use cost_mod
35     use g_cost_mod
36     use ctrl_mod
37     use ctrl_dummy_mod
38     use ctrl_weights_mod
39     use optim_mod
40     use grdchk_mod
41    
42     !$TEMPLATE_PRAGMA_DECLARATIONS
43    
44     integer :: cp_loop_variable_1,cp_loop_variable_2,
45     + cp_loop_variable_3,cp_loop_variable_4,cp_loop_variable_5
46    
47     type(modeType) :: our_orig_mode
48    
49     integer iaddr
50     external iaddr
51    
52     character*(80):: indentation='
53     + '
54    
55     our_indent=our_indent+1
56    
57     write(*,'(A,A,A,L,L,L,L,L)')
58     +'JU:',indentation(1:our_indent), "enter __SRNAME__:",
59     +our_rev_mode%arg_store,
60     +our_rev_mode%arg_restore,
61     +our_rev_mode%plain,
62     +our_rev_mode%tape,
63     +our_rev_mode%adjoint
64    
65     c write(*,'(A,A,A,I6,A,I6,A,I6,A,I6,A,I8,A,I8)')
66     c +indentation(1:our_indent), "enter __SRNAME__:",
67     c +" CD:",cp_double_pointer,
68     c +" CI:",cp_integer_pointer,
69     c +" CB:",cp_boolean_pointer,
70     c +" CS:",cp_string_pointer,
71     c +" TD:",double_tape_pointer,
72     c +" TI:",integer_tape_pointer
73    
74     if (
75     + our_rev_mode%arg_store
76     + .OR.
77     + our_rev_mode%arg_restore
78     + .OR.
79     + our_rev_mode%plain
80     +) then
81     write(*,'(A,A,A)')
82     +'JU:',indentation(1:our_indent),
83     +" __SRNAME__: entering plain"
84     our_orig_mode=our_rev_mode
85     !$PLACEHOLDER_PRAGMA$ id=1
86     our_rev_mode=our_orig_mode
87     end if
88     if (our_rev_mode%tape) then
89     write(*,'(A,A,A)')
90     +'JU:',indentation(1:our_indent),
91     +" __SRNAME__: entering tape"
92     our_orig_mode=our_rev_mode
93     !$PLACEHOLDER_PRAGMA$ id=2
94     our_rev_mode=our_orig_mode
95     end if
96     if (our_rev_mode%adjoint) then
97     write(*,'(A,A,A)')
98     +'JU:',indentation(1:our_indent),
99     +" __SRNAME__: entering adjoint"
100     our_orig_mode=our_rev_mode
101     !$PLACEHOLDER_PRAGMA$ id=3
102     our_rev_mode=our_orig_mode
103     end if
104    
105     c write(*,'(A,A,A,I6,A,I6,A,I6,A,I6,A,I8,A,I8)')
106     c +indentation(1:our_indent), "leave __SRNAME__:",
107     c +" CD:",cp_double_pointer,
108     c +" CI:",cp_integer_pointer,
109     c +" CB:",cp_boolean_pointer,
110     c +" CS:",cp_string_pointer,
111     c +" TD:",double_tape_pointer,
112     c +" TI:",integer_tape_pointer
113    
114     write(*,'(A,A,A,L,L,L,L,L)')
115     +'JU:',indentation(1:our_indent), "leave __SRNAME__:",
116     +our_rev_mode%arg_store,
117     +our_rev_mode%arg_restore,
118     +our_rev_mode%plain,
119     +our_rev_mode%tape,
120     +our_rev_mode%adjoint
121    
122     our_indent=our_indent-1
123    
124     end subroutine template

  ViewVC Help
Powered by ViewVC 1.1.22