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

Annotation of /MITgcm_contrib/heimbach/OpenAD/code_shallow_openad3/ad_template.plain.f

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


Revision 1.1 - (hide annotations) (download)
Tue Aug 1 15:44:28 2006 UTC (20 years, 3 months ago) by utke
Branch: MAIN
gmredi enabled 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 GMREDI_mod
28     use GMREDI_TAVE_mod
29     use GRID_mod
30     use MPI_INFO_mod
31     use SOLVE_FOR_PRESSURE3D_mod
32     use SOLVE_FOR_PRESSURE_mod
33     use SURFACE_mod
34     use tamc_mod
35     use tamc_keys_mod
36     use cost_mod
37     use g_cost_mod
38     use ctrl_mod
39     use ctrl_dummy_mod
40     use ctrl_weights_mod
41     use optim_mod
42     use grdchk_mod
43    
44     !$TEMPLATE_PRAGMA_DECLARATIONS
45    
46     integer :: cp_loop_variable_1,cp_loop_variable_2,
47     + cp_loop_variable_3,cp_loop_variable_4,cp_loop_variable_5
48    
49     type(modeType) :: our_orig_mode
50    
51     integer iaddr
52     external iaddr
53    
54     character*(80):: indentation='
55     + '
56    
57     our_indent=our_indent+1
58    
59     write(*,
60     +'(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)')
61     +'JU:',indentation(1:our_indent), 'enter __SRNAME__:',
62     +' As:',our_rev_mode%arg_store,
63     +' Ar:',our_rev_mode%arg_restore,
64     +' Pl:',our_rev_mode%plain,
65     +' Ta:',our_rev_mode%tape,
66     +' Ad:',our_rev_mode%adjoint,
67     +' Sw:',our_rev_mode%switchedToCheckpoint,
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
76     + .OR.
77     + our_rev_mode%arg_restore) then
78     write(*,*) 'JU: ERROR : arg (re)store here is wrong logic'
79     stop
80     end if
81     if (our_rev_mode%plain) then
82     write(*,'(A,A,A)')
83     +'JU:',indentation(1:our_indent),
84     +' __SRNAME__: entering plain'
85     our_orig_mode=our_rev_mode
86     !$PLACEHOLDER_PRAGMA$ id=1
87     our_rev_mode=our_orig_mode
88     end if
89     if (our_rev_mode%tape) then
90     write(*,'(A,A,A)')
91     +'JU:',indentation(1:our_indent),
92     +' __SRNAME__: entering tape'
93     our_orig_mode=our_rev_mode
94     !$PLACEHOLDER_PRAGMA$ id=2
95     our_rev_mode=our_orig_mode
96     end if
97     if (our_rev_mode%adjoint) then
98     write(*,'(A,A,A)')
99     +'JU:',indentation(1:our_indent),
100     +' __SRNAME__: entering adjoint'
101     our_orig_mode=our_rev_mode
102     !$PLACEHOLDER_PRAGMA$ id=3
103     our_rev_mode=our_orig_mode
104     end if
105    
106     write(*,
107     +'(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)')
108     +'JU:',indentation(1:our_indent), 'leave __SRNAME__:',
109     +' As:',our_rev_mode%arg_store,
110     +' Ar:',our_rev_mode%arg_restore,
111     +' Pl:',our_rev_mode%plain,
112     +' Ta:',our_rev_mode%tape,
113     +' Ad:',our_rev_mode%adjoint,
114     +' Sw:',our_rev_mode%switchedToCheckpoint,
115     +' CD:',cp_double_pointer,
116     +' CI:',cp_integer_pointer,
117     +' CB:',cp_boolean_pointer,
118     +' CS:',cp_string_pointer,
119     +' TD:',double_tape_pointer,
120     +' TI:',integer_tape_pointer
121    
122     our_indent=our_indent-1
123    
124     end subroutine template

  ViewVC Help
Powered by ViewVC 1.1.22