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

Annotation of /MITgcm_contrib/heimbach/OpenAD/code_shallow_openad2/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 19:26:59 2006 UTC (20 years, 3 months ago) by utke
Branch: MAIN
gmredi disabled

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(*,
58     +'(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)')
59     +'JU:',indentation(1:our_indent), 'enter __SRNAME__:',
60     +' As:',our_rev_mode%arg_store,
61     +' Ar:',our_rev_mode%arg_restore,
62     +' Pl:',our_rev_mode%plain,
63     +' Ta:',our_rev_mode%tape,
64     +' Ad:',our_rev_mode%adjoint,
65     +' Sw:',our_rev_mode%switchedToCheckpoint,
66     +' CD:',cp_double_pointer,
67     +' CI:',cp_integer_pointer,
68     +' CB:',cp_boolean_pointer,
69     +' CS:',cp_string_pointer,
70     +' TD:',double_tape_pointer,
71     +' TI:',integer_tape_pointer
72    
73     if (our_rev_mode%arg_store
74     + .OR.
75     + our_rev_mode%arg_restore) then
76     write(*,*) 'JU: ERROR : arg (re)store here is wrong logic'
77     stop
78     end if
79     if (our_rev_mode%plain) then
80     write(*,'(A,A,A)')
81     +'JU:',indentation(1:our_indent),
82     +' __SRNAME__: entering plain'
83     our_orig_mode=our_rev_mode
84     !$PLACEHOLDER_PRAGMA$ id=1
85     our_rev_mode=our_orig_mode
86     end if
87     if (our_rev_mode%tape) then
88     write(*,'(A,A,A)')
89     +'JU:',indentation(1:our_indent),
90     +' __SRNAME__: entering tape'
91     our_orig_mode=our_rev_mode
92     !$PLACEHOLDER_PRAGMA$ id=2
93     our_rev_mode=our_orig_mode
94     end if
95     if (our_rev_mode%adjoint) then
96     write(*,'(A,A,A)')
97     +'JU:',indentation(1:our_indent),
98     +' __SRNAME__: entering adjoint'
99     our_orig_mode=our_rev_mode
100     !$PLACEHOLDER_PRAGMA$ id=3
101     our_rev_mode=our_orig_mode
102     end if
103    
104     write(*,
105     +'(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)')
106     +'JU:',indentation(1:our_indent), 'leave __SRNAME__:',
107     +' As:',our_rev_mode%arg_store,
108     +' Ar:',our_rev_mode%arg_restore,
109     +' Pl:',our_rev_mode%plain,
110     +' Ta:',our_rev_mode%tape,
111     +' Ad:',our_rev_mode%adjoint,
112     +' Sw:',our_rev_mode%switchedToCheckpoint,
113     +' CD:',cp_double_pointer,
114     +' CI:',cp_integer_pointer,
115     +' CB:',cp_boolean_pointer,
116     +' CS:',cp_string_pointer,
117     +' TD:',double_tape_pointer,
118     +' TI:',integer_tape_pointer
119    
120     our_indent=our_indent-1
121    
122     end subroutine template

  ViewVC Help
Powered by ViewVC 1.1.22